【简介】
在上一篇我们已经添加了我们自己的S32K146 board 至 zephyr(s32k146适配zephyr(一)添加board ),我们基于此基础上继续修改将zephyr 在我们的板子上跑起来。
【修改设备树文件】
因为复制的ucans32k1sic 板子的S32K146芯片是S32K146_LQFP64的封装,我们本地的是LQFP100 的封装,S32K1 系列在nxp 的hal中对每种封装定义了对应pin_ctrl dts 文件
此处根据我们的板子配置修改为LQFP100
因为本地编译的demo 为uart 回显的demo,依赖设备树里面的console 的节点,设备树中定义如下
本地的硬件打印串口也是使用的uart1 此处不需要修改,不过我们使用的PIN脚的映射和ucans32k1sic 不一致这个我们需要修改下改成本地的硬件连接配置。
【修改时钟配置】
修改了上述的PIN 配置后,我们将编译的镜像烧写到板子中发现在时钟初始化的时候配置异常失败了,查看了下ucans32k1sic 原理图和本地的硬件外接的晶振是不一致的ucans32k1sic 板子使用的8M的外部晶振,我们的板子是16M的晶振。
这块的修改也是卡了一阵字,对于吃此处的差异我们需要修改对应的时钟配置代码,修改如下
【下载验证】
使用 west build -p auto -b mys32k1 samples\drivers\uart\echo_bot\ 编译串口回显demo
修改完成后将编译的镜像下载到我们的S32K146的板子中,串口已经按照预期打印,输入字符也能进行回显了