[W5100] TCP/IP 코드 사이즈
하드웨어 TCP/IP 스텍을 가진 W5100/W5200의 코드 사이즈를 최소한으로 줄여 보는 테스트를 해보았다.
기본적인 TCP루프백 테스트를 해 볼수 있는 코드로 작성하였다.
LPC1113 (Cortex-M0)
코드 효율이 좋은 Cortex-M0 코어의 LPC1113을 이용하여 W5200의 TCP/IP 스텍을 최소한 줄여보았다.
w5200s.c 로 드라이버 코드를 수정 했다.
일단 필요한것만 추려보니 8.25Kbyte 정도 나온다.
8 252 bytes of readonly code memory
652 bytes of readonly data memory
6 662 bytes of readwrite data memory
[AVR]
동일한 코드를 AVR 에서 컴파일하니 6.9Kbyte정도 된다. (UART 디버깅 코드를 빼면 더 줄어들것 같다.)
Cortex-M3는 코어 설정해 줄 부분이 많긴하지만... AVR보다 못하다니
Program: 6896 bytes (42.1% Full)
(.text + .data + .bootloader)
Data: 2520 bytes (246.1% Full)
(.data + .bss + .noinit)
Serial 디버깅을 제거하니 4Kbye정도 이다. TCP처리 하는데 4Kbyte이하면 나쁘지 않은것 같다.
Program: 4442 bytes (27.1% Full)
(.text + .data + .bootloader)
Data: 2190 bytes (213.9% Full)
(.data + .bss + .noinit)