A custom bootloader and FOTA update mechanism for the STM32L152RE.
It supports HTTP updates using the W5500 module from Wiznet.
1) Introduction
본 프로젝트는 STM32L152RE MCU에 대해 직접 개발한 커스텀 부트로더를 기반으로, HTTP 프로토콜을 이용한 FOTA(Firmware Over-The-Air) 업데이트 기능을 구현한 사례이다.
특히 무선 통신이 아닌, WIZnet W5500 하드웨어 TCP/IP Ethernet 모듈을 사용하여 안정적인 유선 기반 FOTA 메커니즘을 구축하였다.
본 문서는 다음 질문에 초점을 맞춘다.
“왜 FOTA용 통신 모듈로 W5500을 선택했는가?”
이를 기술적 관점에서 분석하고, 구성 예시와 함께 정리한다.
2) Required Components
STM32L152RE Cortex-M3 MCU
WIZnet W5500 Ethernet 모듈 (WIZ850io, W5500-EVB 또는 커스텀 설계 보드)
SPI 연결 배선
3.3V 전원
HTTP 서버 또는 펌웨어 파일 호스팅 서버
개발 환경: STM32CubeIDE / Keil MDK / GCC
W5500용 ioLibrary_Driver
3) Hardware Setup
W5500은 STM32L152RE와 SPI 기반으로 연결되며, MCU는 완전한 TCP/IP 스택을 소프트웨어로 처리할 필요 없이, W5500의 하드웨어 스택을 그대로 사용해 안정적인 HTTP 통신을 수행한다.
특징:
W5500 내부에 TCP/IP 가속 엔진 존재
STM32L152RE 같은 저전력·저성능 MCU도 고속 네트워크 처리 가능
부트로더 영역에서도 쉽게 동작 (RTOS 필요 없음)
4) Interface Explanation (SPI)
W5500은 SPI를 통해 제어되며, 다음과 같은 이유로 FOTA 시 매우 유리하다.
● Low-overhead 인터페이스
STM32L152RE는 Cortex-M3 기반으로 연산 자원이 제한적이다.
SPI 기반의 단순 I/O 제어만으로도 W5500이 패킷 처리 전체를 오프로드해 주기 때문에 MCU 부하가 거의 없다.
● 하드웨어 안정성
유선 Ethernet 기반 FOTA는 신호 감쇠나 전파 간섭을 받지 않으며, SPI는 MCU에서 구현하기 가장 단순한 유선 프로토콜이다.
5) Wiring Table
| STM32L152RE Pin | W5500 Pin | Description |
|---|---|---|
| PA5 | SCLK | SPI Clock |
| PA6 | MISO | SPI Data In |
| PA7 | MOSI | SPI Data Out |
| PB6 (또는 임의의 GPIO) | CS | Chip Select |
| PB7 | INTn | Interrupt (옵션) |
| PB0 | RSTn | Reset (옵션) |
| 3.3V | 3.3V | Power |
| GND | GND | Ground |
6) Software Environment Setup
WIZnet ioLibrary_Driver 적용
HTTP GET 기반 파일 다운로드 구현
Flash Write 기능이 포함된 커스텀 부트로더 제작
펌웨어 업데이트 단계:
W5500 초기화
DHCP 또는 Static IP 설정
HTTP 서버 접속
이미지 다운로드
CRC/무결성 검사
Flash Write 후 리부팅
7) Full Code Examples
(핵심 로직만 요약)
W5500 Init
HTTP GET 요청
수신된 펌웨어 처리
8) Testing Steps
W5500 정상 링크 확인
HTTP 서버에 최신 펌웨어 업로드
부트로더에서 HTTP GET 요청 수행
Flash 영역에 이미지 저장
재부팅 후 정상 동작 여부 확인
9) Troubleshooting
링크 DOWN → 케이블 및 PHY 상태 점검
HTTP 수신 누락 → 버퍼 크기 설정 확인
Flash Write 실패 → Page Erase 순서 검증
업데이트 중 전원 Off → 부트로더 Dual-Bank 방식 고려
10) Use Cases & Market Potential
산업용 센서, IoT 게이트웨이
현장에서 유지보수가 어려운 장비
저전력 MCU 기반 고신뢰 Firmware Update 시스템
무선이 불안정한 산업 환경
11) Module/Chip Technical Overview
W5500의 강점
하드웨어 TCP/IP Stack
Zero-copy 방식으로 높은 Throughput
안정적인 유선 Ethernet
매우 낮은 MCU 부하
저전력 동작 가능
HTTPS 제외 모든 TCP 기반 프로토콜 구현 가능
STM32L152RE 특성
저전력 L-series
Cortex-M3
Flash 용량 제한
복잡한 소프트웨어 TCP/IP를 돌리기에는 부담
→ 이 조합에서 W5500은 MCU가 하기 어려운 네트워크 업무를 완전히 오프로드하는 핵심 역할을 수행한다.
12) Conclusion
STM32L152RE용 커스텀 부트로더 기반 FOTA 업데이트를 설계할 때 W5500을 선택한 이유는 명확하다.
✔ MCU 부하 없이 안정적인 TCP/IP 처리
✔ 저전력 MCU에서도 고성능 HTTP 다운로드 가능
✔ 유선 기반의 높은 신뢰성
✔ 소프트웨어 스택 구현 부담 제거
✔ FOTA 구조를 단순화해 개발 리스크 감소
결과적으로 W5500은 **“작고 단순한 MCU가 안정적인 네트워크 FOTA를 수행할 수 있게 만드는 가장 적합한 솔루션”**이다.
