이번에는 아주 간단한 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 포트로 업데이트가 가능하니 편리합니다.


+ Recent posts