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