开箱测试
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
-
英飞凌
+关注
关注
68文章
2443浏览量
142309 -
CAN
+关注
关注
58文章
3013浏览量
471507 -
RT-Thread
+关注
关注
32文章
1541浏览量
44293
发布评论请先 登录
【好书推荐】RT-Thread第22本相关书籍!《嵌入式实时操作系统开发实践》| 技术集结
2025年RT-Thread开发者巡回培训报名正式启动!
rt-thread studio 2.2.9如何使用最新的RT-Thread v5.2.0 released?
明晚!基于RT-Thread 的 PID 控制实践,从驱动到算法到监控,一次学会!| 问学直播
Windows上使用ENV工具开发基于先楫MCU的RT-Thread应用
在Ubuntu上开发基于先楫MCU的RT-Thread应用指南
【好书推荐】RT-Thread第20本相关书籍!《嵌入式实时操作系统RT-Thread原理与应用》| 技术集结
RT-Thread荣获2025优秀开源项目 | 新闻速递
揭秘RT-Thread上的AUTOSAR CP系统
2025 RT-Thread全球技术大会议程正式发布!
RT-Thread 上如何实现 SLAAC?
【直播预告】《实时操作系统应用技术—基于RT-Thread与ARM的编程实践》教学脉络及资源简介
RT-Thread审核团招募: 深度参与开源RTOS社区治理与演进
如何将RT-Thread移植到NXP MCUXPressoIDE上
Deepseek上单片机?RT-Thread上跑通大语言模型

RT-Thread上CAN实践
评论