Hi, Please check if you free memory properly. It sounds like a memory leak?
BR, Noam. -----Original Message----- From: [email protected] on behalf of Grzegorz Niemirowski Sent: Tue 9/2/2014 8:34 PM To: Mailing list for lwIP users Subject: Re: [lwip-users] lwIP hangs after some data transferred Thanks Noam. I have interrupt priorities set exactly as you have written. The problem must be somewhere else. Best regards, Grzegorz Niemirowski Noam weissman <[email protected]> napisal(a): > Hi, > You must check interrupt priorities and your FreeRTOSConfig definition > file > Here is my interrupt settings from the FreeRTOSConfig .h file: > ------------------------------------------------------------------------ > ---------------------------------------------------- > /* Cortex-M specific definitions. */ > #ifdef __NVIC_PRIO_BITS > /* __BVIC_PRIO_BITS will be specified when CMSIS is being used. > */ > #define configPRIO_BITS __NVIC_PRIO_BITS > #else > #define configPRIO_BITS 4 /* 15 priority > levels */ > #endif > /* The lowest interrupt priority that can be used in a call to a "set > priority" > function. */ > #define configLIBRARY_LOWEST_INTERRUPT_PRIORITY 0xF > /* The highest interrupt priority that can be used by any interrupt > service > routine that makes calls to interrupt safe FreeRTOS API functions. DO > NOT CALL > INTERRUPT SAFE FREERTOS API FUNCTIONS FROM ANY INTERRUPT THAT HAS A > HIGHER > PRIORITY THAN THIS! (higher priorities are lower numeric values. */ > #define configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY 5 > /* Interrupt priorities used by the kernel port layer itself. These are > generic > to all Cortex-M ports, and do not rely on any particular library > functions. */ > #define configKERNEL_INTERRUPT_PRIORITY ( > configLIBRARY_LOWEST_INTERRUPT_PRIORITY << (8 - configPRIO_BITS) ) > /* !!!! configMAX_SYSCALL_INTERRUPT_PRIORITY must not be set to zero > !!!! > See http://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html. */ > #define configMAX_SYSCALL_INTERRUPT_PRIORITY ( > configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY << (8 - configPRIO_BITS) ) > #define ETH_ISR_PRIO 10 > #define SERIAL_ISR_PRIO 6 > ------------------------------------------------------------------------ > ---------------------------------------------------- > As you can see in the above file > configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY is 5 as ETH_ISR_PRIO is 10 > Set your ETH interrupt as follows: > NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4); > /* Configures and enable the Ethernet global interrupt. */ > NVIC_InitStructure.NVIC_IRQChannel = ETH_IRQn; > NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = ETH_ISR_PRIO; > NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; > NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; > NVIC_Init(&NVIC_InitStructure); > FreeRTOS function uses critical section protection that actually blocks > interrupts > Any ISR code that uses FreeRTOS functions MUST have a lower interrupt > priority. If you do not follow this > The critical section protection will not work and therefore you get > unpredictable or un stable system. > I also suggest reading the FreeRTOS section on interrupts: > http://www.freertos.org/a00110.html > http://www.freertos.org/RTOS-Cortex-M3-M4.html > Hope that helped, > Noam. > -----Original Message----- > From: [email protected] > [mailto:[email protected]] On Behalf Of > Grzegorz Niemirowski > Sent: Tuesday, September 02, 2014 12:09 AM > To: [email protected] > Subject: [lwip-users] lwIP hangs after some data transferred > Hello, > I write code for SMT32 board using FreeRTOS and lwIP 1.4.1. I use > sockets. > There is a simple TCP server: it accepts incoming connection, reads 100 > bytes sent from PC, sends 100 byte reply, closes connection and waits > for another connection. I observed that after some time lwIP stops > ACKing packets fast enough and eventually it hangs. It no longer > responds to SYN or ICMP ping. Here are two examples of such > communication. Both files contain whole communication between PC and my > device after device reset. For testing purposes there were four > applications running at the same time so the problem could be observed > withing shorter time. > http://www.grzegorz.net/test1a.pcapng > http://www.grzegorz.net/test2a.pcapng > Is it a problem with lwIP, low level IF driver or FreeRTOS? > Best regards, > Grzegorz Niemirowski _______________________________________________ lwip-users mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/lwip-users ************************************************************************************ This footnote confirms that this email message has been scanned by PineApp Mail-SeCure for the presence of malicious code, vandals & computer viruses. ************************************************************************************ ************************************************************************************ This footnote confirms that this email message has been scanned by PineApp Mail-SeCure for the presence of malicious code, vandals & computer viruses. ************************************************************************************
<<winmail.dat>>
_______________________________________________ lwip-users mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/lwip-users
