Tag: lwIP
All the articles with the tag "lwIP".
-
lwIP 메모리 옵션 구조 정리: PBUF_POOL, MEM_SIZE, MEMP_NUM_*를 한 번에 보기
lwIP 메모리는 PBUF_POOL, MEM_SIZE, MEMP_NUM_*, OS 큐가 각각 다른 역할을 맡는다. FreeRTOS 포팅과 정적 풀 구성을 기준으로 각 옵션이 어디에 쓰이고 어떤 병목으로 이어지는지 구조적으로 정리한다.
-
lwIP 타이머가 안 돈다: NO_SYS에서 sys_check_timeouts() 빠지면 생기는 증상
lwIP를 bare-metal(NO_SYS)로 붙였는데 DHCP/ARP/TCP가 '가끔' 이상해지는 경우가 있다. 원인은 타이머 처리 루프를 안 돌린 경우가 많다. sys_check_timeouts()를 어디서/얼마나 자주 돌려야 하는지, 그리고 빠졌을 때 나타나는 전형적인 증상을 현장 관점에서 정리한다.
-
lwIP pbuf가 가끔 터진다: PBUF_REF/POOL/RAM 수명주기와 zero-copy 함정
lwIP에서 네트워크가 '가끔만' 죽는 이슈는 pbuf 수명주기 문제인 경우가 많다. 특히 PBUF_REF/zero-copy를 섞으면 버퍼 재사용 타이밍이 한 번만 어긋나도 랜덤 크래시가 난다. pbuf 타입별 수명주기와 실무에서 자주 터지는 함정을 짧게 정리한다.
-
-
lwIP에서 ISR에서 바로 보내면 가끔 터진다: tcpip_thread로 넘기는 패턴 정리
이더넷 IRQ에서 패킷 받자마자 lwIP API를 호출하면, 어떤 보드에서는 잘 돌아가고 어떤 보드에서는 랜덤하게 죽는다. 원인은 대부분 컨텍스트/락 문제다. ISR에서 할 일과 tcpip_thread로 넘길 일을 분리하는 패턴을 짧게 정리한다.