开箱测试
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文章
2353浏览量
140705 -
CAN
+关注
关注
57文章
2921浏览量
468163 -
RT-Thread
+关注
关注
32文章
1415浏览量
42063
发布评论请先 登录
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 2024开发者大会报名启动!

课程上线 - RT-Thread应用开发实践课程上线慕课平台啦!

新书发布——《RT-Thread嵌入式实时操作系统内核、驱动和应用开发技术》

【大连】9月7日RT-Thread巡回线下培训-OpenMV机器视觉

2024 RT-Thread全球巡回 线下培训火热来袭!

【好书推荐】RT-Thread设备驱动开发指南

评论