0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

RT-Thread上CAN实践

RT-Thread官方账号 ? 2024-11-13 01:03 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

开箱测试

RT-Thread官方已完成了对英飞凌XMC7200 EVK的移植,通过shell可以看到做好了uart3的console。

本文将介绍如何进行RT-Thread Can 移植。

f804d2d6-a117-11ef-8084-92fbcf53809c.png

接下来我们要完成CAN_FD的驱动移植,并正常启动RT-Thread,首先参考下面的帖子搭建好开发环境:

https://club.rt-thread.org/ask/article/4e5abc98191c3747.html

接着在RT-Thread主仓中找到xmc7200的模板工程(路径:\bsp\Infineon\xmc7200-kit_xmc7200_evk)。在不改变任何参数的情况下,我们修改应用程序让三个灯循环点亮,接着进行编译和并下载程序验证。

f81cf4e2-a117-11ef-8084-92fbcf53809c.png

下载验证:

f831ebe0-a117-11ef-8084-92fbcf53809c.jpg

原理图分析

f84cd374-a117-11ef-8084-92fbcf53809c.png

f8655368-a117-11ef-8084-92fbcf53809c.png

从开发板的原理图和芯片复用手册可知,驱动CAN_FD芯片的是P0.2和P0.3两个引脚,使用CAN0通道1进行控制。另外P1.0引脚控制CAN transceiver的standby功能。

驱动移植

使用RT-Thread ENV 工具对内核进行配置,开启内核层CAN总线驱动,并重新生成KEIL MDK工程,运行scons --target=mdk5

f888aac0-a117-11ef-8084-92fbcf53809c.png

在HAL_Drivers目录下添加硬件层的can驱动代码,命名为drv_can.c drv_can.h.

f8b150ec-a117-11ef-8084-92fbcf53809c.png

参考STM32的RTT HAL驱动,我们需要针对性地对各部分进行更改,仔细核对驱动API调用方法才能完成移植。由于是第一次使用英飞凌XMC系列处理器,并没有完全了解其驱动库架构和寄存器对应关系,需要进一步更改才能使用。目前实现的功能是内核驱动挂载并正常显示。

如下图所示,可查找到名为xmc_can0的设备,但是无法对其进行操作。

f8d075ee-a117-11ef-8084-92fbcf53809c.pngf8ecc000-a117-11ef-8084-92fbcf53809c.png

CAN测试

为了完成XMC7200 CANFD驱动评估,需要一个CAN总线分析仪。考虑到成本原因,我选择通过嘉立创开源项目拷贝一个现有方案并手工贴片完成一个简单的CAN采集器,用于测试和数据分析。选中了下面这款USB_TO_CAN tool,并进行打板,焊接,测试,下载官方的固件并进行通信验证。

f8fded8a-a117-11ef-8084-92fbcf53809c.jpg

完成的实物和测试效果如下图:

f9217dcc-a117-11ef-8084-92fbcf53809c.jpg

参考STM32的CAN驱动,我们移植英飞凌的CAN驱动对接到RT-Thread的

CAN框架。最终完成了一个传统CAN模式的测试框架,并提交到github上面。https://github.com/Jason0204/rtthread-xmc7200测试效果如下:

f938f628-a117-11ef-8084-92fbcf53809c.jpgf95f0d72-a117-11ef-8084-92fbcf53809c.jpg

XMC7200EVK 传统模式下的CANFD在RT-Thread下的运行已经完成驱动移植和部分测试。

原文链接

原文链接:https://club.rt-thread.org/ask/article/ee5a26b536d9a122.html

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 英飞凌
    +关注

    关注

    68

    文章

    2353

    浏览量

    140705
  • CAN
    CAN
    +关注

    关注

    57

    文章

    2921

    浏览量

    468163
  • RT-Thread
    +关注

    关注

    32

    文章

    1415

    浏览量

    42063
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    RT-Thread荣获2025优秀开源项目 | 新闻速递

    6月底,RT-Thread睿赛德受邀参与由上海开源信息技术协会主办的2025上海开源创新精英荟。上海市商委副主任张杰出席会议并致辞。RT-Thread嵌入式操作系统项目凭借其卓越的技术创新与开源生态
    的头像 发表于 07-04 09:04 ?1778次阅读
    <b class='flag-5'>RT-Thread</b>荣获2025优秀开源项目 | 新闻速递

    揭秘RT-Thread的AUTOSAR CP系统

    本文探讨了RT-Thread与AUTOSARCP的融合,解决车载ECU开发中实时性、安全性与灵活性的平衡问题。通过分层安全内核(rt-safetyos/autoos)和工具链整合,兼容AUTOSAR
    的头像 发表于 06-23 20:22 ?2353次阅读
    揭秘<b class='flag-5'>RT-Thread</b><b class='flag-5'>上</b>的AUTOSAR CP系统

    2025 RT-Thread全球技术大会议程正式发布!

    RT-ThreadGlobalTechConference(RT-ThreadGTC,RT-Thread全球技术大会)是聚焦基础软件技术创新与实践的嵌入式技术盛会,持续推动技术价值转化
    的头像 发表于 05-27 19:28 ?704次阅读
    2025 <b class='flag-5'>RT-Thread</b>全球技术大会议程正式发布!

    RT-Thread 如何实现 SLAAC?

    大佬们,本菜鸟有一些网络的问题需要帮助: RT-Thread 如何实现 SLAAC(无状态地址自动分配),给连接到我的板子的设备分配 IPv6 地址; RT-Thread 如何发
    发表于 05-27 07:21

    【直播预告】《实时操作系统应用技术—基于RT-Thread与ARM的编程实践》教学脉络及资源简介

    直播预告直播主题:《实时操作系统应用技术—基于RT-Thread与ARM的编程实践》教学脉络及资源简介开放时间:2025年5月29日(周四)20:00主讲老师:王宜怀课程类型:视频直播观看平台
    的头像 发表于 05-26 17:50 ?466次阅读
    【直播预告】《实时操作系统应用技术—基于<b class='flag-5'>RT-Thread</b>与ARM的编程<b class='flag-5'>实践</b>》教学脉络及资源简介

    RT-Thread审核团招募: 深度参与开源RTOS社区治理与演进

    全球开发者招募:RT-Thread审核团(ReviewTeam)正式开放申请!在开源的世界里,代码审查(CodeReview)是保证软件质量、促进技术交流的关键环节。RT-Thread作为全球领先
    的头像 发表于 05-21 18:02 ?694次阅读
    <b class='flag-5'>RT-Thread</b>审核团招募: 深度参与开源RTOS社区治理与演进

    如何将RT-Thread移植到NXP MCUXPressoIDE

    RT-Thread默认支持的IDE只有IAR 和 Keil, 那如何将RT-Thread移植到NXP MCUXPressoIDE呢?本文内容比较简单但稍有琐碎,希望对有需要的小伙伴有所帮助。
    的头像 发表于 02-13 10:37 ?1955次阅读
    如何将<b class='flag-5'>RT-Thread</b>移植到NXP MCUXPressoIDE<b class='flag-5'>上</b>

    Deepseek单片机?RT-Thread跑通大语言模型

    前言单片机也能聊天?RT-Thread跑通大语言模型在RT-Thread论坛忽然看到了单片机和大模型对话的文章,想着春节期间看到大语言模型的热度持续攀升,恰巧手头有块RA8D1Vi
    的头像 发表于 02-07 18:59 ?1486次阅读
    Deepseek<b class='flag-5'>上</b>单片机?<b class='flag-5'>RT-Thread</b><b class='flag-5'>上</b>跑通大语言模型

    开源共生 商业共赢 | RT-Thread 2024开发者大会报名启动!

    亲爱的RT-Thread开发者我们很高兴地宣布,一年一度的RDC(RT-ThreadDeveloperConference,RT-Thread开发者大会)正式启动报名!2024RT-Threa
    的头像 发表于 10-29 08:06 ?981次阅读
    开源共生 商业共赢 | <b class='flag-5'>RT-Thread</b> 2024开发者大会报名启动!

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

    我们非常高兴地告诉大家,由广东机电职业技术学院的老师们制作的,使用《RT-Thread应用开发实践》作为教材的课程——嵌入式操作系统应用,正式上线慕课平台啦!欢迎各位想要系统学习RT-Thread
    的头像 发表于 09-14 08:07 ?691次阅读
    课程上线 - <b class='flag-5'>RT-Thread</b>应用开发<b class='flag-5'>实践</b>课程上线慕课平台啦!

    混合部署 | 在RK3568同时部署RT-Thread和Linux系统-迅为电子

    混合部署 | 在RK3568同时部署RT-Thread和Linux系统-迅为电子
    的头像 发表于 09-06 15:32 ?814次阅读
    混合部署 | 在RK3568<b class='flag-5'>上</b>同时部署<b class='flag-5'>RT-Thread</b>和Linux系统-迅为电子

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

    成,旨在深入浅出地介绍RT-Thread的内核设计、设备驱动开发及应用开发技术。书中将理论与实践相结合,帮助读者全面理解和掌握RT-Thread的各项关键技术。全书共
    的头像 发表于 09-03 08:06 ?1401次阅读
    新书发布——《<b class='flag-5'>RT-Thread</b>嵌入式实时操作系统内核、驱动和应用开发技术》

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

    亲爱的RT-Thread社区成员们:2024年RT-Thread全球开发者线下培训拉开帷幕啦!24年全球巡回培训将覆盖超10座城市及国家,为开发者提供一个深入学习RT-Thread嵌入式开发的绝佳
    的头像 发表于 09-01 08:02 ?3942次阅读
    【大连】9月7日<b class='flag-5'>RT-Thread</b>巡回线下培训-OpenMV机器视觉

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

    亲爱的RT-Thread社区成员们:我们非常高兴地宣布,2024年RT-Thread全球开发者线下培训即将拉开帷幕!24年全球巡回培训将覆盖超10座城市及国家,为开发者提供一个深入学习RT-Thread嵌入式开发的绝佳机会。
    的头像 发表于 08-07 08:35 ?2992次阅读
    2024 <b class='flag-5'>RT-Thread</b>全球巡回 线下培训火热来袭!

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

    强烈,他们迫切地希望有一本可以指导他们在RT-Thread开发驱动的指南。为了解决开发者的燃眉之急,《RT-Thread设备驱动开发指南》来了!希望帮助RT-Thre
    的头像 发表于 08-01 08:35 ?1359次阅读
    【好书推荐】<b class='flag-5'>RT-Thread</b>设备驱动开发指南