사용환경
os: window 10
stm32CubeProgrammer: v2.8.0
사용 보드: [JK전자] Cortex-M4 STM32F407ZGT6 Multi Hit 개발보드
STM32CubeProgrammer가 나오기 전에는 STM의 시스템 부트로더를 통해 펌웨어 다운로드를 하기 위해 보통은 "Flash Loader Demonstrator" 툴을 사용 했을 것입니다.
STM32CubeProgrammer가 나오면서 ST-Link는 물론, UART, USB를 통한 펌웨어 다운로드를 할 수 있게 되었습니다.
먼저 제가 가지고 있는 보드에 사용된 MCU는 STM32F407ZGT입니다.
데이트시트에 Boot modes를 보면 system memory에 위치한 bootloader가 지원하는 방식을 볼 수 있습니다.
먼저 System moemory영역으로 진입하기 위해서는 Boot0핀을 High로 Boot1핀을 Low로 설정해야합니다. 이에 대한 정보는 Reference manual에서 찾을 수 있습니다.
이제 STM32CubeProgrammer를 켜고 아래 그림에 빨간영역을 UART로 설정합니다.
그러면 아래에 UART configuration이 나타나고 알맞는 Port를 설정합니다.
여기서 Parity는 Even으로 설정합니다.
설정이 완료되었으면 보드에 전원을 넣고 프로그램의 Connect 버튼을 누릅니다. (연결이 잘 안되면 MCU 리셋한번 걸고 다시 시도해보시는 것을 추천드립니다)
연결이 잘 되었다면 왼쪽 2번째 메뉴버튼을 눌러 Erasing & Programming 페이지로 갑니다.
다운로드하고자 하는 File path를 설정해주고 Start Programm... 버튼을 눌러줍니다.
속도는 느리지만 다운로드가 잘 되는것을 볼 수 있습니다.
다운로드가 완료되면 위 그림과 같이 완료 메세지가 나타납니다.
이제 다운로드한 펌웨어를 구동시키기 위해서 앞에서 설정한 BOOT0와 BOOT1핀을 Main Flash Memory에 진입하기 위한 설정으로 바꿔줍니다.
Boot0핀을 Low로 바꾸고 MCU에 전원을 다시 인가하면 다운로드된 코드가 동작하게 됩니다.
'MCU > STM32:HAL' 카테고리의 다른 글
[STM32F][Teraterm]YMODEM 프로토콜로 헥사 전송시 버그 (0) | 2023.03.24 |
---|---|
[STM32][DSP] DSP 라이브러리 설정 (2) | 2022.06.17 |
[STM32F][HAL] CAN (0) | 2021.05.20 |
[HAL][STM32F]USART와 Queue (2) | 2021.03.24 |
[STM32F]FSMC와 LCD (0) | 2021.02.28 |
[STM32F]FSMC로 LCD(SSD1963) 제어하기 (2) | 2021.02.07 |
[STM32F][HAL] USART Interrupt (0) | 2020.12.23 |
[STM32F][HAL] DAC (Digital to Analog Converter) (0) | 2020.12.22 |