STM cube에서 rtos + lwip 서버를 돌릴 때 접속가능한 클라이언트 갯수를 조정해보려고 ㅎ
상당히 간단한데 난 엄한 이유로 개고생했어 ㅋ
다른 사람들은 나처럼 고생하지 말라고!!
🤬🤬🤬
간단하게 설명하면
MEMP_NUM_TCP_PCB
MEMP_NUM_TCP_PCB_LISTEN
MEMP_NUM_NETCONN
이 세가지를 조정하면 끝이야.
내용이 중복되는 느낌이지만 암튼 이것들이 클라이언트의 접속 갯수에 영향을 미쳐.
설정은 아래와 같이 👇👇👇👇
총 소캣 수 = 클라이언트 수 + 1
서버니까 listen 소켓 하나 + 클라이언트용 소켓들로 총 소켓 수가 나오겠지?
난 3개의 클라이언트의 접속을 허용할거니까 +1해서 4로 설정했어.
👇👇👇👇
간단하지? ㅋㅋㅋㅋ
그런데 내가 고생했던 부분은 여기가 아님 ㅋ
분명히 바르게 조정했는데 소켓 2개 이상부터 할당을 못하더라 ㅠㅠ
디버그 모드로 겁나 쫓아들어갔더니 rtos queue할당에 실패..
lwip만 주구장창 팠는데 freertos 메모리 문제였다니 허무~~~~
😭😭
결국 freertos heap 사이즈를 2k정도 더 늘려주는 것으로 해결;;;;
👇👇👇👇
그냥 대~~강 통빱으로 해결하려고 하지말고 첨부터 차근히 디버그 모드로 코드 따라갔으면 30분이면 끝낼 문제였는데;;
이 간단한 걸로 만 하루를 통으로 날렸으니 한심하기도 하지 😅
rtos하면서 항상 느끼는 건데...
문제가 생기면
Heap 사이즈부터 늘려보자!!
안녕!!
👋👋👋
반응형
'임베디드 소프트웨어 > FreeRTOS' 카테고리의 다른 글
LWIP TCP Send가 느릴 때 (0) | 2023.03.09 |
---|---|
vApplicationStackOverflowHook() (1) | 2023.02.18 |
STM32 MCU를 또 만지네... (0) | 2023.02.18 |