【简介】
最近在玩zephyr,使用的工程为官方已经适配好的MCX_N947 的工程,感觉对系统的配置的理解还是差很多,正好看到官方已经支持了S32K146的SOC配置,我么来添加一个board来适配我们自己的S32K146 的board 来增加对系统的理解。
【添加board】
step1-复制相同cpu的board文件夹:
代码仓库中 \zephyr\boards\nxp\ucans32k1sic 路径下的board 是个S32K146 的板卡和我们的型号是一样的,我们基于此来修改复制该board文件,重命名为 mys32k1
复制后通过以下命令 "west build -p always -b mys32k1 samples\drivers\uart\echo_bot\" 编译uart 的demo,错误如下
上述的提示是没找到我们的mys32k1 board 而且同时提示了 ”ucans32k1sic“ 被多次定义了,因为我们是复制没做任何修改所以报了上述错误,这也说明了zephyr 该构建board 会查找board 目录下的所有board 来匹配我们传入的mys32k1
step2-修改board名称:
board 的名称是通过对应板子根目录的board.yml进行配置的,将base的”ucans32k1sic“ 修改为”mys32k1 “
为了保持统一的规范,把这部分也统一修改下命名mys32k1,同时对引用文件的地方也要修改下。
再次构建会报构建失败,我们按照提示修改为我们新建的board 名称
修改如下
修改后在进行编译构建,发现已经可以编译成功了
看来在zephyr 下根据现有相同CPU型号的board 创建新board 还是比较容易的,至此我们已经完成了自己的S32K146 的board 创建,不过编译出来的程序我们还不能运行以为对应的板子的硬件配置是不同的我们还要根据我们的硬件情况修改设备树文件来适配硬件,我们后续在此基础上继续适配我们的板子。