lwip-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lwip-users] Increasing LwIP performance


From: Marco Jakobs
Subject: Re: [lwip-users] Increasing LwIP performance
Date: Sat, 28 Feb 2015 16:28:32 +0100

Hi Michal,

there is no general performance issue, I think you have a major programming issue somewhere!

I'm also using Free RTOS + LwIP 1.4.1 in many of our projects in the company, but on AT91SAM7X512 which is much less powerful than your STM32F429. Here at home my complete house is controlled by this combination.

I'm running several IP communications per second with my cabinets PLUS control program interpreter PLUS webserver access PLUS serving up to 5 simultaneous MODBUS TCP connections (1-2 polls per second per client) on this processor with 55MHz, all is fine. Just to give you a picture what you can expect from the combination LwIP plus Free RTOS.

As RAM is very limited I also use excessively external serial SRAM via SPI, not as main program RAM but for serving communication queues.

Do you maybe have a high priority task running somewhere which blocks the whole system? A proper layout of your tasks and priorities is important, and when waiting for something please NEVER do "delay loops" without having the RTOS call "vTaskDelay" in them to give other tasks the opportunity to be processed. Always keep in mind that a task with the same or lower priority will never interrupt your task unless you are using the vTaskDelay's!

Marco


Michał Karczewski <address@hidden> , 28.02.2015 6:59:

Hi,
I'm working on project that needs some web functionality. Using STM32F429 + PHY LAN8720 with FreeRTOS and LwIP 1.4.1 raw API. I'm running webserver from SDCard, which is showing numbers generate by microcontroller firmware, and Modbus communication protocol over TCP. As far as I'm testing only one of these functionality, everything works fine - problems starts when I'm trying to run both at once. To be precise:
- webserver site works by sending five requests (one for another value) every one second - _javascript_ deals with it by sending

As I said before, everything works fine until I run both function at once. Then modbus starts losing connection every few (random) seconds, and website overwrite values with much bigger interval than one second. Everything is very unstable.

My question is - is there possibility to increase LwIP performance, and if is, what I should trying to modify to get better results. I'm using also external SRAM memory, but I'm entirely sure how I should apply it to cooperate with LwIP.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]