본문 바로가기

[INTERFACE]/WIZNET_EVM

[W5100] TCP/IP 코드 사이즈 실험

[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)


 

반응형