ST MCU의 펌웨어를 가장 간단하게 올리는 법을 알아보겠다. ST MCU는 STM32F103 시리즈 기준으로 설명을 하겠다.


STM32F103은 MCU 부트모드에서 UART를 이용해 펌웨어를 올릴수 있다. 보통은 UART1 을 통해서 다운 받을수 있다.

기본적으로 UART1과 PC가 연결이 되어 있어야 하는데, 나는 보통 UART 신호를 USB로 변환하는 아래와 같은 보드를 사용한다.


UART 신호를 PC에 연결하는 방법은 많으니 찾아보시길 바란다. 부트모드에 관련된 내용의 문서는 아래 URL에서 확인할수 있다.

https://www.st.com/content/ccc/resource/technical/document/application_note/b9/9b/16/3a/12/1e/40/0c/CD00167594.pdf/files/CD00167594.pdf/jcr:content/translations/en.CD00167594.pdf

이 문서를 부면 부트모드에 진입을 할 수있는 방법이 10가지 있다. 그 중에 가장간단한 첫번째 방법을 사용하겠다. 


부트모드 진입

MCU가 부팅될때 BOOT0 핀 High, BOOT1핀이 Low이면 부트모드에 진입이되어 펌웨어를 올릴수 있다.


STM32F103Vxx 시리즈의 BOOT0 핀은 94핀, BOOT1핀은 37핀(PB2) 이다.


그래서 보통 ST MCU의 회로를 설계 할때는 아래와 같이 부트모드에 진입할수 있도록 설계를 한다. BOOT 스위치를 누른 상태에서 RESET을 하거나 전원을 입력하면 부트모드로 진입하게 된다.


펌웨어 Writing 프로그램 다운

펌웨어를 Writing 하는 프로그램은 ST 에서 무료로 배포한다.  아래 URL에 접속해

https://www.st.com/en/development-tools/flasher-stm32.html

제일 하단의 GET Software를 클릭한다. 

그 후 본인의 이름과 이메일을 작성하게 되면 본인의 이메일로 다운 받을수 있는 URL 주소를 받게 된다.

그리고, 압축을 풀고 설치하면된다.


펌웨어 Writing 

일단 기본적으로 MCU는 정상적으로 동작을 하고 있는 상태여야만 가능합니다.

부트모드로 진입 후 Flash Loader Demonstrator 를 실행한다.

MCU와 연결된 Com 포트 번호로 설정 후 Next 버트을 클릭한다.


부트모드에 정상적으로 진입을 했으면 아래 사진처럼 된다.


두번더 Next 버튼을 클릭하면 아래 사진처럼 되고, Download to device 를 체크하고 ... 버튼을 클릭해서 Writing 할 펌웨어를 선택한다.


펌웨어를 선택하고 Next 버튼을 클릭하면  펌웨어 Writing이 완료된다.


아래 사진처럼 나오면 성공한 것이다. Back 버튼을 네번 클릭해 초기화면으로 돌아가면 된다.

이상 끝

+ Recent posts