Don't think! Just do it!

종합 IT 기술 정체성 카오스 블로그! 이... 이곳은 어디지?

임베디드 소프트웨어/FreeRTOS

FreeRTOS + Lwip socket 갯수 조정

방피터 2023. 8. 1. 23:02

STM cube에서 rtos + lwip 서버를 돌릴 때 접속가능한 클라이언트 갯수를 조정해보려고 ㅎ
상당히 간단한데 난 엄한 이유로 개고생했어 ㅋ
다른 사람들은 나처럼 고생하지 말라고!!

🤬🤬🤬
간단하게 설명하면

MEMP_NUM_TCP_PCB

MEMP_NUM_TCP_PCB_LISTEN

MEMP_NUM_NETCONN

이 세가지를 조정하면 끝이야.

내용이 중복되는 느낌이지만 암튼 이것들이 클라이언트의 접속 갯수에 영향을 미쳐.

설정은 아래와 같이 👇👇👇👇

총 소캣 수 = 클라이언트 수 + 1

서버니까 listen 소켓 하나 + 클라이언트용 소켓들로 총 소켓 수가 나오겠지?

난 3개의 클라이언트의 접속을 허용할거니까 +1해서 4로 설정했어.

👇👇👇👇

LWIP 설정
LWIP 설정

간단하지? ㅋㅋㅋㅋ
그런데 내가 고생했던 부분은 여기가 아님 ㅋ
분명히 바르게 조정했는데 소켓 2개 이상부터 할당을 못하더라 ㅠㅠ
디버그 모드로 겁나 쫓아들어갔더니 rtos queue할당에 실패..
lwip만 주구장창 팠는데 freertos 메모리 문제였다니 허무~~~~

😭😭
결국 freertos heap 사이즈를 2k정도 더 늘려주는 것으로 해결;;;;

👇👇👇👇

FreeRTOS 설정

그냥 대~~강 통빱으로 해결하려고 하지말고 첨부터 차근히 디버그 모드로 코드 따라갔으면 30분이면 끝낼 문제였는데;;
이 간단한 걸로 만 하루를 통으로 날렸으니 한심하기도 하지 😅
rtos하면서 항상 느끼는 건데...
문제가 생기면
Heap 사이즈부터 늘려보자!!
안녕!!

👋👋👋

반응형

'임베디드 소프트웨어 > FreeRTOS' 카테고리의 다른 글

LWIP TCP Send가 느릴 때  (0) 2023.03.09
vApplicationStackOverflowHook()  (1) 2023.02.18
STM32 MCU를 또 만지네...  (0) 2023.02.18