lwip-devel
[Top][All Lists]
Advanced

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

[lwip-devel] Semaphore Interrupts:


From: Brett Price
Subject: [lwip-devel] Semaphore Interrupts:
Date: Mon, 16 May 2016 21:20:51 -0400

Hello,
 
We have been having ARM4 bus fault issues in LWIP 1.4.1 perhaps from a typo in (opt.h). Users believe the semaphore is enable per the text (if set 1) but semaphore is Not enabled in mem.c. The result with debug memory manager we see printf ("mem unused" --- mem.c) then some time later have a reserve memory space bus fault 3, NVIC precise=1, Bfarv=1  perhaps some heap corruption? Set the allow other context to 1 and  no semaphores are used then bus faulting stops and so do any debug printf "mem unused." messages.
 
LWIP dual client pcb's: 1st IP port Http 80/UDP-53 and a 2nd local 100Mbps Telnet client TCP 23 with UDP command port 21. The Systick timer is 120mHz/200 (600KTPS) Service timer interval(10). The heap seems stable with dual TCP clients now that semaphores are disabled, NO_SYS 1, Sys_LightWeight_Prot  1. 
Texas Instrument TM4c1294NCPDTi3 development launch pads.
 
Thanks
 
Brett Price
 

/**

* Set this to 1 if you want to free PBUF_RAM pbufs (or call mem_free()) from

* interrupt context (or another context that doesn't allow waiting for a semaphore).

* If set to (was 1 -- should be 0), mem_malloc will be protected by a semaphore and SYS_ARCH_PROTECT,

* while mem_free will only use SYS_ARCH_PROTECT. mem_malloc SYS_ARCH_UNPROTECTs

* with each loop so that mem_free can run. */

 
#define LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT     1
 
 
 
 

reply via email to

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