이번에는 아주 간단한 DFU(device firmware upgrade) 모드를 테스트 해 보겠습니다.
예전에 올렸던 내용은 System memory에 들어 있는 boot loader를 사용하지 않고,
boot loader 를 직접 만들어서 동작하는 Custom mode DFU를 소개했었습니다.
이번에 설명 드리는 DFU 는 이미 칩생산 시에 들어가 있는 부트로더를 사용하는 것으로 embedded mode DFU 라고도 부릅니다.
여러가지 통신 I/F 를 선택해서 부트로더를 사용할 수 있는데,
저는 USB 포트를 사용하면 가장 간편하고 빨라서 DFU를 선택했습니다.
[embedded mode bootloader 종류]
부트로드 모드로 들어가기 위해서는 System memory 에 있는 부트로더 프로그램이 실행되도록,
RESET 시 , BOOT0/BOOT1 핀을 다음과 같이 유지시켜 줘야 한다. (리셋 이후에는 필요없음)
1. BOOT0 핀 : 1 (HIGH)
2. BOOT1 핀 : 0 (LOW)
Nucleo 보드로 테스트를 해 봤는데,
BOOT1 핀은 기본으로 리셋 시 0 으로 인식을 하므로 아무것도 연결 안했고,
BOOT0 만 VDD 와 점퍼로 Short 시켰다.
그리고 이미 전원이 연결되어 있으므로 USB 케이블은 USB DP,USB DM, GND 3선만 연결했다.
[Nucleao 보드 사진]
[USB 케이블 연결 사진]
참고 : PC 쪽 USB 포트 선 결선 정보.
이렇게 하드웨어를 구성했으면, 리셋 버튼을 눌러 주자.
제대로 동작을 한다면, 다음과 같이 PC 장치 드라이브에 드라이버가 설치될 것이다.
다음 번에 hex 파일을 올리는 것을 간단하게 설명 드리겠습니다.
DFU가 SLINK 로 프로그램하는 것보다는 번거롭지만,
어디를 가든 PC 1대만 있으면 USB 포트로 업데이트가 가능하니 편리합니다.
'STM32F4' 카테고리의 다른 글
[STM32F4xx] BOOT0,BOOT1 핀의 RESET 후의 사용. (0) | 2018.09.03 |
---|---|
[STM32F4xx] Nucleo 보드 테스트 #27 (embedded DFU 모드 테스트 : S/W) (0) | 2018.09.02 |
[STM32F4xx] Nucleo 보드 테스트 #25 (usb to uart Rx/Tx Test : KEIL) (0) | 2018.09.02 |
[STM32F4xx] Nucleo 보드 테스트 #24 (STLINK 테스트 : KEIL) (0) | 2016.12.15 |
[STM32F4xx] Custom 보드 테스트 #23 (USB CDC.STM32F446 : KEIL) (2) | 2016.12.15 |