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 에 정의


(작성중...)

results matching ""

    No results matching ""