一、ChibiOS的编译体系背景:
ChibiOS的编译体系是非常清晰的,由如下几部分构成:
APP层、HAL层、BOARD层、OS层、PLATFORM层、CPU层等,每层一般都有对应的makefile文件分别构建。
比如在demo中的STM32F4 DISCOVERY板子的工程中,
platform使用了/os/hal/ports/STM32/STM32F4xx/platform.mk
board使用了/os/hal/boards/ST_STM32F4_DISCOVERY/board.mk
cpu使用了/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk等
因此,为了构建起我们自己定义的板级,我们需要修改board部分的框架并自己实现一套类似的结构
二、文件准备:
这里我们以STM32F4的样板工程为例,我们可以看到上面board的mk目录,进入/os/hal/boards/ST_STM32F4_DISCOVERY目录,可以看到如下文件:
- board.c 该文件实现了板级的底层初始化代码,包括IO等
- board.h 该文件定义了板级的配置,主要就是IO的配置情况,包括输入输出、复用关系等
- board.mk 该文件是本目录的编译文件,用于组织形成board包
- cfg 该文件夹是用于IDE,这里不使用
由此,我们可以拷贝整个这个文件夹,为了以后使用方便,我们可以将新的文件夹同样放在/os/hal/boards/目录下,取名myboard