MCU를 공부 하다보면 ISP와 IAP라는 용어가 보이는데, ARM에서 다음과 같이 정의 한다.
- ISP(In-System Programming) : In-System Programming means that the device can be programmed in the circuit by using an utility such as the ULINK USB-JTAG Adapter.
; 특정 Utility(JTAG)를 이용하여 프로그램 하는 방식
- IAP(In-Application Programming) : In-Application Programming means that the application itself can re-program the on-chip Flash ROM.
; Flash에 저장된 binary가 실행되고 나서(부팅), application 자신이 Flash ROM에 Re-programming 하는 방식
ISP(In-System Programming)
1. ST-LINK를 사용하여 펌웨어 다운로드(ST-LINK Utility)
IAP(In-Application Programming)
2. USB 포트를 연결하여 펌웨어 다운로드(DFU)
3. 시리얼 포트를 사용하여 펌웨어 다운로드(Flash Loader Demonstrator)
이렇게 나뉠 수 있으며 각 방법으로 Firmware를 다운로드 하는 방법을 알아 본다.
1. ST-LINK를 사용하여 펌웨어 다운로드(ST-LINK Utility)
2. USB 포트를 연결하여 펌웨어 다운로드(DFU)
- 일부 MCU의 경우 DFU F/W가 있어서 BOOT0 = 1이면 System momory mode로 부팅하여 DFU가 가능한 USB 장치로 인식 된다.
3. 시리얼 포트를 사용하여 펌웨어 다운로드(Flash Loader Demonstrator)
- JTAG는 가격이 비싸고 추가 하드웨어 연결이 필요하다. 개발 중에는 모니터링 및 디버그가 필요 하지만 양산 또는 현장에서 Firmware 업데이트가 필요할때 추가 장치가 필요하지 않은 이 방법이 좋다.
- MCU가 부팅 될때 BOOT1, BOOT0 핀을 설정하여 Boot mode로 진입
- BOOT1 = 0, BOOT0 = 1 : System memory Boot mode로 진입되는데, 출하 부터 system boot loader가 들어있다. 필요에 따라 boot loader를 수정하여 쓰는 경우도 있다.
- 보통 BOOT1 = 0으로 고정해 놓고 BOOT0만 제어
- BOOT1 = 1 은 잘 사용하지 않음

- 시리얼 포트를 사용하기 위한 BOOT1, BOOT0 회로 구성

(1) STM32 Flash Loader 설치
FLASHER-STM32 - STMicroelectronics
FLASHER-STM32 - STM32 Flash loader demonstrator (UM0462) (replaced by STM32CubeProgrammer), FLASHER-STM32, STMicroelectronics
www.st.com
(2) Flash Loder Demonstrator 실행

(3) Serial 통신이 가능한 Com port 선택

(4) 상태 확인

(5) Device 자동 선택

(6) Download to device 선택

(7) Download할 file 선택

(8) Download

(9) Download 완료

'ST > 개발 환경 및 구조' 카테고리의 다른 글
| ST 개발 보드 소개(2) - 32F746GDISCOVERY (0) | 2025.03.17 |
|---|---|
| ST 개발 보드 소개(1) - STM32duino(Blue Pill) (0) | 2025.03.17 |
| STM32 개발 환경 구축(5) - STM32CubeIDE (0) | 2025.03.17 |
| STM32 개발 환경 구축(4) - STM32CubeMX to ATOLLIC (0) | 2025.03.17 |
| STM32 개발 환경 구축(3) - ST-LINK (0) | 2025.03.17 |