반응형

 

 

1. 타겟 보드 정의

ChibiOS를 사용하는 비행제어컴퓨터라면 다음 경로에 하드웨어 정의가 기술되어있다.

ROOT/libraries/AP_HAL_ChibiOS/hwdef/[HW_NAME]

예를 들면 CubeOrange는 hwdef.dat에 다음과 같이 MCU를 정의하고 시작한다.

# MCU class and specific type
MCU STM32H7xx STM32H743xx

 

2. 타겟 MCU Reference 정의

빌드 과정에서 다음 파이썬 스크립트로 타겟 임베디드 시스템을 위한 자동 코드 생성을 수행하게 된다.

ROOT/libraries/AP_HAL_ChibiOS/scripts/chibios_hwdef.py

여기서 위에 타겟 MCU에 대한 reference를 정의하고 있으며, 자세히 보면 튜플 형태로 되어있다.

간단히 보면 MCU의 RAM Map이나 핀의 Function Map 등을 정의한다.

예를 들면 CubeOrange는 STM32H743xx 이므로, STM32F743xx.py에 이를 정의하고 있다.

 

 

3. 타겟 임베디드 시스템의 부트로더 가져오기

다음 경로에 MCU의 부트로더를 두고 있다. 최신본에 복사해온다.

ROOT/Tools/bootloaders/[*.bin / *.elf / *.hex]

 

4. 타겟 보드의 식별 및 타겟 보드의 센서 드라이버 세팅

타겟 보드를 식별하는 라이브러리가 존재한다. 식별 할 수 있도록 고친다.

ROOT/libraries/AP_BoardConfig/

 

타겟 보드에 실장된 센서의 종류가 다르면 동일하게 설정해줘야한다.

경로는 다음과 같다.

ROOT/libraries/AP_InertialSensor/

 

 

 

단순히 복사해온다고 해서 해결되지가 않는다..

좀 더 봐야겠다.

728x90

+ Recent posts