Bootloader
여기서 말하는 부트로더(Bootloader)는 유저(User) 부트로더입니다.
즉, MCU 시스템 메모리(ROM)에 저장되어 있는 시스템 부트로더가 아닌, 그 위에 유저가 직접 만들어서 올린 부트로더입니다.
현재 이 부트로더는 보드의 USB를 통해 어플리케이션(Application) 다운로드가 가능하게 되어 있습니다.
다운로드
개발환경에서의 다운로드는 Debug or External Tool을 사용. (세부 내용은 3.1.5 Eclipse Tips의 "Debugging", "External Tool" 참조)
- 인터페이스
구분 | 세부 내용 | 비고 |
---|---|---|
ST-LINK | orocaboy2_openocd.cfg 설정(config, cfg) 파일 사용 | Debug |
USB | BOOT핀 HIGH, BAUD 57600, 시스템 부트로더 프로토콜 사용 | External Tool(dfu) |
위 인터페이스에서 ST-LINK사용 권장. 보드 회로에서 BOOT핀을 HIGH로 만들어 주는 것이 더 번거롭기 때문.
부트로더 프로토콜
- 패킷 프로토콜 (각 번호는 1byte)
- CMD
CMD | Value | Detail | Note |
---|---|---|---|
Version | 0x80 | Boot, App 버전 가져오기 | |
Packet Size | 0x81 | 최대 패킷 사이즈 가져오기 | |
Board Name | 0x82 | 보드 이름 가져오기 | |
Erase | 0x83 | Flash 지우기 | |
Write | 0x84 | Flash 쓰기 | |
Read | 0x85 | Flash 읽기 | |
Verify | 0x86 | Flash 확인 | CRC16 |
Jump | 0x87 | 특정 주소로 점프 |
- Error
- fwsdk/common/error_code.h 에 정의
(작성중...)