Table of contents
lwIP 라이브러리가 이론상 최대로 사용하는 메모리를 계산하는 방식이 있습니다.
이론적으로 그리고 간접적으로 계산하는 것이기 때문에 실제로 들어맞는 것은 아닐겁니다.
CPU 처리속도, 발열, lwIP 외의 로직 등 MCU에 영향 주는 것이 많기 때문입니다.
실제로 활용할 뻔 했으나, 개인적인 사정으로 활용하지 않았지만 정리하기 위해 내용을 남겨둡니다.
피크 버퍼 사용량 계산
lwIP가 소비하는 최대 힙 메모리 는 lwIP가 소비하는 이론상 최대 메모리 입니다.
일반적으로 lwIP가 사용하는 최대 힙 메모리는 다음에 따라 다릅니다.
- UDP 연결을 생성하는 데 필요한 메모리: lwip_udp_conn
- TCP 연결을 생성하는 데 필요한 메모리: lwip_tcp_conn
- 애플리케이션에 있는 UDP 연결 수: lwip_udp_con_num
- 애플리케이션에 있는 TCP 연결 수: lwip_tcp_con_num
- TCP TX 창 크기: lwip_tcp_tx_win_size
- TCP 수신 창 크기: lwip_tcp_rx_win_size
따라서 LwIP가 소비하는 최대 힙 메모리는 다음 공식으로 계산할 수 있습니다.
lwip_dynamic_peek_memory = (lwip_udp_con_num * lwip_udp_conn) + (lwip_tcp_con_num * (lwip_tcp_tx_win_size + lwip_tcp_rx_win_size + lwip_tcp_conn))
참고링크
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/lwip.html#netconn-api
'데이터통신/네트워크 > lwIP' 카테고리의 다른 글
lwIP 개요(링크) (0) | 2022.03.24 |
---|---|
ST에서 제공하는 lwIP 관련 자료 (0) | 2021.12.31 |
ETH_PAD_SIZE 목적 (0) | 2021.12.28 |
memp_init()의 무한 루프 오류 (0) | 2021.12.19 |
lwIP 및 관련 사이트 소개 (0) | 2021.12.19 |