We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hello!
I'm trying to run HTTP-server on my LPC1788 board. lwip stack works fine. But when I try to run http-server under RL-ARM programm doesn't start at all. I included to my project follow files: EMAC_LPC177x_8x.c, Net_Config.c, TCP_CM3.lib, TCPD_CM3.lib (and corresponding headers Net_Config.h, EMAC_LPC177x_8x.h). Here my program:
include "LPC177x_8x.h" #include "debug_frmwrk.h" #include "RTL.h" int main (void) { SystemInit(); debug_frmwrk_init(); _DBG_("Started!"); init_TcpNet (); while (1) { main_TcpNet(); } }
I want just to try ping my board from my PC Ethernet. Do you mind to explain to me what is wrong?
Regards, Vasilij.
It works! I just added while(wait_ack == __TRUE) main_TcpNet () before second tcpSend. Thanks a lot!
Well I build http_upload, and all works fine. But for some strange reason there is to slow upload speed (only 5kB/s). All web pages are on SD card. Does somebody know what is wrong and what should I to check?
This is not strange at all but a feature of TCPNet - every sent out frame must be acknowledged before the next one is sent. Why don't you bother to read the product's manuals? If you want upload at speeds of up to 230 KB/s, you could use something like lwIP, but honestly I doubt very much you will manage to port it
I manage to get 380 KBytes/second TCPNet when transmiting file from SD card.
Try to use the maximum size for TCP messages to reduce overhead.
I am curious: TCPNet requires the user to prepare the payload for one complete frame and to wait to the ack for that frame. The most optimal payload is 1532 bytes long (I think, or something like that). Are you _sure_ you are uploading data to a server, and not downloading it? I have done exactly that only to get a poor upload rate, slightly better than uIP's which is not surprising given that also uIP requires the program to _wait_ until an ack for that frame is received. The margin is do big that I am inclined to believe we are not talking about the same thing here.
I called the timer_tick () too rare. When I fixed it started to work much faster (380 kB/s). My wrong, sorry. But now the http server doesn't open pages that placed in not root folders. Does somebody know why it happens?