Table of contents
memp_init() 함수 무한 루프 오류
LwIP 라이브러리를 활용하던 중, Init 과정을 벗어나지 못한 경우가 있었습니다.
디버깅을 하다보니 Init 부분이라는 것을 알게 된 거고, 그 중 memp_init에서 무한 루프가 걸리더군요.
나름 유명한 오픈소스다보니 Init 부분을 건든다는게 선뜻 내키지 않았는데요.
검색하다보니 비슷한 현상인 분들이 많았습니다.
수정하고 나니 큰 문제 없이 동작하네요.
memp_init 함수 수정전
#if MEMP_SEPARATE_POOLS
memp = (struct memp*)memp_bases[i];
#endif /* MEMP_SEPARATE_POOLS */
memp_init 함수 수정후
#if MEMP_SEPARATE_POOLS
memp = (struct memp*)LWIP_MEM_ALIGN(memp_bases[i]);
#endif /* MEMP_SEPARATE_POOLS */
깊게 파보려다가 시간도 부족하고 의미가 있을까 싶어 Pass했네요.
아마도, 링크가 잘 안되거나 일부분 꼬여서 그런 것 같은데요.
나중에 시간되면 다시 한 번 분석해 봐야겠습니다.
'데이터통신/네트워크 > lwIP' 카테고리의 다른 글
lwIP 개요(링크) (0) | 2022.03.24 |
---|---|
lwIP 최대 버퍼 사용량 계산과 관련 있는 요소들 (0) | 2022.03.24 |
ST에서 제공하는 lwIP 관련 자료 (0) | 2021.12.31 |
ETH_PAD_SIZE 목적 (0) | 2021.12.28 |
lwIP 및 관련 사이트 소개 (0) | 2021.12.19 |