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

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

    关注

    66

    文章

    2140

    浏览量

    138291
  • CAN
    CAN
    +关注

    关注

    57

    文章

    2701

    浏览量

    463192
  • RT-Thread
    +关注

    关注

    31

    文章

    1266

    浏览量

    39857
收藏 人收藏

    评论

    相关推荐

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

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

    RT-Thread 新里程碑达成——GitHub Star 破万!

    RT-Thread实时操作系统开源项目在GitHub的star数量突破一万!截止发文,RT-Thread作为实时操作系统在业界Star数量排名第一!仓库地址:https://github.com
    的头像 发表于 07-04 08:35 381次阅读
    <b class='flag-5'>RT-Thread</b> 新里程碑达成——GitHub Star 破万!

    6月6日杭州站RT-Thread线下workshop,探索RT-Thread混合部署新模式!

    嵌入式软件工程师郭占鑫老师为您讲解有关技术知识和实践经验。通过本次workshop能深入理解RT-Thread专业版与混合部署的潜力,在RK3568平台提升系统实时
    的头像 发表于 05-28 08:35 397次阅读
    6月6日杭州站<b class='flag-5'>RT-Thread</b>线下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    2024 RT-Thread 全球技术大会演讲议程发布!

    RT-ThreadGlobalTechConference(RT-ThreadGTC,RT-Thread全球技术大会)致力于围绕RT-Thread基础软件技术发展、
    的头像 发表于 05-16 08:34 464次阅读
    2024 <b class='flag-5'>RT-Thread</b> 全球技术大会演讲议程发布!

    【上海】5月25日-基于恩智浦MCX N系列MCU结合RT-Thread的应用与实践 线下培训

    5月25号,RT-Thread将携手恩智浦共同举办基于恩智浦MCXN系列MCU结合RT-Thread的应用与实践线下培训。我们将为大家带来恩智浦MCXN系列MCU的详细介绍、精彩Demo展示、以及
    的头像 发表于 05-13 18:19 679次阅读
    【上海】5月25日-基于恩智浦MCX N系列MCU结合<b class='flag-5'>RT-Thread</b>的应用与<b class='flag-5'>实践</b> 线下培训

    新书发布——《实时操作系统应用技术:RT-Thread与ARM编程实践

    RT-Thread又一本新书《实时操作系统应用技术——基于RT-Thread与ARM的编程实践》发布,标志着RT-Thread生态和实时操作系统技术教育领域又迎来了一个重要里程碑。本书
    的头像 发表于 05-11 08:35 697次阅读
    新书发布——《实时操作系统应用技术:<b class='flag-5'>RT-Thread</b>与ARM编程<b class='flag-5'>实践</b>》

    5月16日南京站RT-Thread线下workshop,探索RT-Thread混合部署新模式!

    嵌入式软件工程师郭占鑫老师为您讲解有关技术知识和实践经验。通过本次workshop能深入理解RT-Thread专业版与混合部署的潜力,在RK3568平台提升系统实
    的头像 发表于 05-01 08:35 304次阅读
    5月16日南京站<b class='flag-5'>RT-Thread</b>线下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    RT-Thread混合部署Workshop北京站来啦!

    嵌入式软件工程师郭占鑫老师为您讲解有关技术知识和实践经验。通过本次workshop能深入理解RT-Thread专业版与混合部署的潜力,在RK3568平台提升系统
    的头像 发表于 04-19 08:34 393次阅读
    <b class='flag-5'>RT-Thread</b>混合部署Workshop北京站来啦!

    4月25日北京站RT-Thread线下workshop,探索RT-Thread混合部署新模式

    嵌入式软件工程师郭占鑫老师为您讲解有关技术知识和实践经验。通过本次workshop能深入理解RT-Thread专业版与混合部署的潜力,在RK3568平台提升系统
    的头像 发表于 04-16 08:35 385次阅读
    4月25日北京站<b class='flag-5'>RT-Thread</b>线下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式

    【4月10日-深圳-workshop】RT-Thread带你探索混合部署新模式

    嵌入式软件工程师农晓明老师为您讲解有关技术知识和实践经验。通过本次workshop能深入理解RT-Thread专业版与混合部署的潜力,在RK3568平台提升系统实
    的头像 发表于 04-04 08:34 290次阅读
    【4月10日-深圳-workshop】<b class='flag-5'>RT-Thread</b>带你探索混合部署新模式

    4月10日深圳场RT-Thread线下workshop,探索RT-Thread混合部署新模式!

    4月10日我们将在深圳福田举办RT-Thread混合部署线下workshop,在瑞芯微RK3568平台实现同时运行RT-Thread和linux,本次workshop邀请到RT-Thread
    的头像 发表于 03-27 11:36 748次阅读
    4月10日深圳场<b class='flag-5'>RT-Thread</b>线下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    4月10日深圳场RT-Thread线下workshop,探索RT-Thread混合部署新模式!

    嵌入式软件工程师农晓明老师为您讲解有关技术知识和实践经验。通过本次workshop能深入理解RT-Thread专业版与混合部署的潜力,在RK3568平台提升系统实
    的头像 发表于 03-27 08:34 470次阅读
    4月10日深圳场<b class='flag-5'>RT-Thread</b>线下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    就在本周四!探索RT-Thread混合部署新模式!

    嵌入式软件工程师郭老师为您讲解有关技术知识和实践经验。通过本次workshop能深入理解RT-Thread专业版与混合部署的潜力,在RK3568平台提升系统实时性
    的头像 发表于 03-20 08:34 490次阅读
    就在本周四!探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    RT-Thread开发者大会系统控制分论坛动手实践指南

    本周六, RT-Thread 开发者大会在上海临港中心举行。 RT-Thread 开发者大会是嵌入式开发者的年度盛会,为开发者提供交流和学习的平台。 2023 年 RT-Thread 开发者大会
    的头像 发表于 12-22 18:15 466次阅读
    <b class='flag-5'>RT-Thread</b>开发者大会系统控制分论坛动手<b class='flag-5'>实践</b>指南

    RA6M3 RT-Thread* LVGL HMI Board开发实践指南-GPIO实践

    RT-Thread即将发布一系列RA6M3外设驱动的实践指南,我们将使用瑞萨RA6M3 HMI-Board 开发板,带领大家上手RT-Thread设备驱动, 本篇文章将介绍GPIO外设。GPIO
    的头像 发表于 11-30 19:05 1131次阅读
    RA6M3 <b class='flag-5'>RT-Thread</b>* LVGL HMI Board开发<b class='flag-5'>实践</b>指南-GPIO<b class='flag-5'>实践</b>