ST 마이크로 사의 Cortex-M3, Cortex-M4 기반의 칩들에서 USB로 DFU를 이용하여 바이너리 코드를 다운로드 하는 방법을 설명한다.
1. DFU 모드 진입 방법
아래 Table 2.를 보면 BOOT1, BOOT0 핀을 이용하여 Boot mode로 진입하게 된다. STM32F3xx의 경우는 BOOT0 핀만 존재한다. BOOT1은 ST의 전용 다운로드 프로그램의 Option byte를 이용하여 설정하게 된다. Default 값은 0이므로, STM32F3xx의 경우는 BOOT0 핀만 5V (High)에 연결한 상태에서 USB로 전원을 넣으면 System memory로 잡히면서 DFU가 가능한 USB 장치로 인식된다.
(STM32F3xx의 경우는 DFU F/W가 내장되어 출시된다. 따라서 별도의 DFU 프로그램을 만들어서 디버거를 이용해서 Download할 필요가 없어서 정말로 편리하다.)
2. DFU 파일 생성하기 및 download 프로그램
아래 참조:
http://blog.naver.com/westdoor0526?Redirect=Log&logNo=30038984678
http://i12b.egloos.com/1142753
http://poohyhoh.blogspot.kr/2010/08/arm-cortex-m3-stm32-um0412-dfuse-usb-fw_9118.html
단, DFU File Manager로 DFU 파일 생성 시 STM32F3xx의 경우는 내장 메모리 이용 시 Address를 0x08000000 로 설정하면 된다.
STM32F1xx와 처럼 DFU 코드가 메모리에 내장되어 출시되지 않는 경우는 (DFU 코드는 0x0800000에 넣어야 됨), DFU File Manager로 DFU 파일 생성 시 Address를 0x080003000 로 설정한다.
참고로 , DFU File Manager에서 Target에 default로 (ST...)로 되어 있는 것을 적당히 바꾼 후에 (ex. STM32F303), Multi Bin 버튼을 눌러서 파일을 선택하면 나중에 Download 프로그램의 'Target in' 에서 STM32F303로 표시된다.
'프로그래밍 > 임베디드' 카테고리의 다른 글
STM32F3 Discovery에서 USB 라이브러리 활용하기 (0) | 2013.11.10 |
---|---|
STM32F3xx 에서 SPI 이용하기 (0) | 2013.11.09 |
gcc optimazation option (STM32F3, STM32F4) (0) | 2013.03.12 |
ARM Cortex-M의 효과적인 코딩 방법 소개 (0) | 2013.02.03 |
.bin 파일과 .hex 파일의 이해 (0) | 2013.02.03 |