开箱测试
RT-Thread官方已完成了对英飞凌XMC7200 EVK的移植,通过shell可以看到做好了uart3的console。
本文将介绍如何进行RT-Thread Can 移植。
接下来我们要完成CAN_FD的驱动移植,并正常启动RT-Thread,首先参考下面的帖子搭建好开发环境:
https://club.rt-thread.org/ask/article/4e5abc98191c3747.html
接着在RT-Thread主仓中找到xmc7200的模板工程(路径:\bsp\Infineon\xmc7200-kit_xmc7200_evk)。在不改变任何参数的情况下,我们修改应用程序让三个灯循环点亮,接着进行编译和并下载程序验证。
下载验证:
原理图分析
从开发板的原理图和芯片复用手册可知,驱动CAN_FD芯片的是P0.2和P0.3两个引脚,使用CAN0通道1进行控制。另外P1.0引脚控制CAN transceiver的standby功能。
驱动移植
使用RT-Thread ENV 工具对内核进行配置,开启内核层CAN总线驱动,并重新生成KEIL MDK工程,运行scons --target=mdk5
在HAL_Drivers目录下添加硬件层的can驱动代码,命名为drv_can.c drv_can.h.
参考STM32的RTT HAL驱动,我们需要针对性地对各部分进行更改,仔细核对驱动API调用方法才能完成移植。由于是第一次使用英飞凌XMC系列处理器,并没有完全了解其驱动库架构和寄存器对应关系,需要进一步更改才能使用。目前实现的功能是内核驱动挂载并正常显示。
如下图所示,可查找到名为xmc_can0的设备,但是无法对其进行操作。
CAN测试
为了完成XMC7200 CANFD驱动评估,需要一个CAN总线分析仪。考虑到成本原因,我选择通过嘉立创开源项目拷贝一个现有方案并手工贴片完成一个简单的CAN采集器,用于测试和数据分析。选中了下面这款USB_TO_CAN tool,并进行打板,焊接,测试,下载官方的固件并进行通信验证。
完成的实物和测试效果如下图:
参考STM32的CAN驱动,我们移植英飞凌的CAN驱动对接到RT-Thread的
CAN框架。最终完成了一个传统CAN模式的测试框架,并提交到github上面。https://github.com/Jason0204/rtthread-xmc7200测试效果如下:
XMC7200EVK 传统模式下的CANFD在RT-Thread下的运行已经完成驱动移植和部分测试。
原文链接
原文链接:https://club.rt-thread.org/ask/article/ee5a26b536d9a122.html
-
英飞凌
+关注
关注
66文章
2156浏览量
138483 -
CAN
+关注
关注
57文章
2724浏览量
463457 -
RT-Thread
+关注
关注
31文章
1276浏览量
39969
发布评论请先 登录
相关推荐
评论