본문 바로가기

개발/embed

STM32 UART로 FW 다운로드

반응형

0. STM32 칩중에는 프로그램을 UART로 다운로드할 수 있는 기능이 있는 칩이 있다

   Cpu Chip에 Boot0, Boot1 PIN 있으면 아마 되려나, 어째든 하려면 Boot0, Boot1 PIN 이 없으면 안된다

http://www.st.com/content/ccc/resource/technical/document/application_note/51/5f/03/1e/bd/9b/45/be/CD00264342.pdf/files/CD00264342.pdf/jcr:content/translations/en.CD00264342.pdf

 

=========================================

1. Download 프로그램: STM32 Flash loader demonstrator

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

 

=========================================

2. 다운로드 칩 선정: 여기서는 STM32F103C8T6  를 사용 하여 해 본다.

칩 선정: 

http://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

그림 1

사용 칩:

https://www.st.com/resource/en/datasheet/stm32f103c8.pdf

 

=========================================

3. HEX파일 다운로드 방법

1) PC 와 장비 연결 

2) PC에서 다운로드 프로그램을 실행하고,

3) 장비에서 다운로드 스위치 ON ( Boot1:Boot0 = 01

4) 장비 리셋(껏다 켜기)

5) PC에서 다운로드 진행

6) 장비에서 다운로드 스위치 OFF ( Boot1:Boot0 = X0 )

7) 장비 리셋

 

=========================================

1)  PC 와 장비 연결 

- PC 와 장비 연결 하기 위하여 USB to TTL (RS232 아님) module 을 준비 한다.

- USB to TTL Chip 은 FT232, PL2303, CP2102, CH340 등이 있는데, 써 본 바로는 CP2102 가 괜찮음.

그림 2, USB to TTL module

- PC 와 장비 연결

- 당연히 Tx RX 는 서로 반대로 연결 해야 하고, GND 연결 하고, 

- Chip 의 Boot0 은 1로, Boot1은 0 으로 설정뒤 장비 전원 주고, 

그림 3. PC 와 장비 연결

 

 

-  USBtoTTL 은 피씨에 연결 하고

그림 4. USBtoTTL 을 PC 에 꼽고 장치관리자 확인

 

 

2) PC에서 다운로드 프로그램을 실행

- STMFlashLoader Demo.exe 을 실행 한다

그림 5. STMFlashLoader Demo.exe

- [Next] 하여 칩이 성공적으로 연결이 되면, 

그림 6. Chip 이 열결된 상태

 

- [Next] 하여 칩을 읽으면

그림 7.

- 먼저 칩내용 읽어 파일에 저장 하기

그림 8. Cjip읽어서 파일에 쓰기

 

- 지우고,

그림 9. 지우기

 

 

- bin(Hex) 파일 쓰기

그림 10. Pc에서 파일 꺼내 Chip에 쓰기

 

- 다운로드가 끝났다.

 

 

 

 

 

6) 장비에서 다운로드 스위치 OFF ( Boot1:Boot0 = X0 )

7) 장비 리셋

 

8) 다시 다운 로드

- 위 5단계 에서 혹시 다시 다운로드를 하려면,

- 다운로드 프로그럼은 초기 포트 오픈 하지 않은 상태(그림 5) 로 [Back] 버튼 으로 가고

- 장비는 다시 리셋(껏다 켜기) 

 해야 다시 다운 로드 가능 하다.

 

9)  그런데, 실제 적으로는

 - 개발 하다 보면 수시로 다운 로드 하며

- 다운 로드 포트를 디버그 포트 로도 겸용 사용을 하므로

한번 다운 로드 뒤에는

- SW 는 무조건 [back] 하여 초기 상태로 가고 (COM Port 놔준다) 

- 장비를 실행모드로 변경  - 다운로드 스위치 OFF ( Boot1:Boot0 = X0 )

- 장비 리셋 하면 실행 모드 진행

- SW 문제 확인 수정 재컴파일

-  장비 다운로드 모드로 변경

- 장비 리셋

- 다운로드 진행

으로 한다. 

 

flasher-stm32.pdf
0.12MB

 

STM32 memory boot mode.pdf
6.05MB
USART protocol.pdf
1.00MB

 

 

 

 

en.flasher-stm32.vol1.egg
10.00MB
en.flasher-stm32.vol2.egg
10.00MB
en.flasher-stm32.vol3.egg
10.00MB
en.flasher-stm32.vol4.egg
3.40MB

반응형