Louie NRT Story

[STM32] stm32f1 IAP(In Application Programming) - 03 본문

전기차충전기

[STM32] stm32f1 IAP(In Application Programming) - 03

hyeok0724.kim@gmail.com 2021. 4. 22. 15:41
반응형

작성일: 21년 4월 22일

 

 

Index

1. APP FLASH 코드 수정

2. APP BSP System_stm 코드 수정

3. APP main 수정

4. Build 파일 확인

5. 펌웨어 다운로드

6. 직접개발한 GUI 활용한 다운로드

 

 

1. APP FLASH 코드 수정

- Application 영역의 Firmware가 시작할 메모리 수정

- version 정보를 특정 메모리에 쓰도록 함

- 용량은 1KB 로 잡아놓음

- 빌드 후 Debug 폴더에 보면 ".map" 파일이 존재함을 확인 할 수 있음

- 파일을 열어보면 version 정보가 0x08010400에 저장되어 있음을 알 수 있음.

 

 

2. APP BSP System_stm 코드 수정

- VECTOR OFFSET 코드 수정

- 수정한 VECTOR OFFSET은 STM32F105 Chip에 대해서 Base가 되는 주소로 부터 Offset을 얼마나 되는지 알 수 있도록 함.

 

 

3. APP main 수정

- Firmware 버전을 정의하고 특정메모리에 쓰도록함

- 메모리에 직접 접근하는 __attribute__(section.... 이러한 명령어는 컴파일러마다 다르므로 주의

- while 문에서 간단히 LED 정도만 ON/OFF 하는 것으로 마무리 함

 

 

4. Build 파일 확인

- 빌드된 ".bin" 파일에서도 version을 확인할 수 있으며 추후 문제가 생겼을 경우 해당 펌웨어 한 파일의 버젼을 확인할 수 있음

 

 

5. 펌웨어 다운로드

- Tera Term에서 "1" 입력함

- 메뉴의 YMODEM 형식으로 보내기 선택

- 빌드된 ".bin" 파일을 선택함

- 다운로드 된 후 "a" 입력함

- 위에서 입력한 버젼이 나타남을 확인함

- 버젼을 변경하여 다시 빌드함

- 파일을 다운로드 하고 다시 "a" 입력함

- 버젼이 변경 되어 있음을 확인 할 수 있음.

 

6. 직접개발한 GUI 활용한 다운로드

 

 

 

Referece:

kjt9109.tistory.com/entry/STM32-IAP-Ymodem-%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C-Bootloader-1

 

STM32 IAP (Ymodem 프로토콜) Bootloader - 1

cubeMX : 5.6.1 cubeIDE : 1.3.1 Code Lib Version : STM32Cube_FW_F1_V1.8.0 MCU:STM32F103VBTx stm32 bootloader를 만들어 보자. bootloader에 사용할 Ymodem은 teraterm 프로그램에서 사용할 수 있으며..

kjt9109.tistory.com

blog.naver.com/chcbaram

 

Baram : 네이버 블로그

https://github.com/chcbaram

blog.naver.com

 

반응형
Comments