[STM32] stm32f1 IAP(In Application Programming) - 03
작성일: 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
Baram : 네이버 블로그
https://github.com/chcbaram
blog.naver.com