Brise

STM32 LwIP 구조 - 2 본문

MCU

STM32 LwIP 구조 - 2

naudhizb 2020. 10. 18. 20:42
반응형

<< Recv, Send 인터페이스 연결 >>

간단한 UDP 수신 플로우는 아래와 같다.

실제로 코드를 보면
Ethernet Interrupt --> Ethernetif Thread(Realtime thread) -->
low_level_input --> netif->input --> [PROTOCOL]->input

과 같은 형태로 실행된다.


Tx의 경우 상위 udp_send와 같은 레이어에서 pbuf_alloc을 호출한 뒤 각 레이어에서 헤더를 추가해가며 패킷을 전송하며, 최종적으로 netif->output에서 MAC peripheral을 통하여 전송을 수행한다. (ETH_TransmitFrame())

<< Configuration >>

LwIP의 성능에 영향을 미치는 요소는 크게 기능활성화, 통계, 메모리 정도이나, 나머지의 경우 꼭 필요한 기능만 활성화 시키기 때문에 조절할 수 있는 것은 거의 메모리 버퍼 설정 정도이다.

설정 해주어야 하는 값은 아래와 같으며, PCB 정의등을 통하여 최대 접근 가능한 소켓 수를 정의할 수 있다.

추가로 PCB는 링크드 리스트 형태로 이루어져 있으며 UDP/TCP PCB에 대한 구조를 이해하면 RAW API를 좀 더 직관적으로 사용할 수 있다.

반응형
Comments