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

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

    关注

    69

    文章

    2609

    浏览量

    143393
  • CAN
    CAN
    +关注

    关注

    61

    文章

    3115

    浏览量

    474057
  • RT-Thread
    +关注

    关注

    33

    文章

    1670

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    RT-Thread 用上 HyperRAM——e2studio 工程配置详解 | 技术集结

    的帖子中介绍如何在e2sutido中结合RT-Thread的代码仓库(使用的是最新的RT-Thread版本),在e2stduio中调试和下载RT-Thread工程。配
    的头像 发表于 04-27 18:07 9622次阅读
    让 <b class='flag-5'>RT-Thread</b> 用上 HyperRAM——e2studio 工程配置详解 | 技术集结

    极海APM32F427 MCU在RT-Thread系统使用LwIP网络功能

    下面是基于RT-Thread的ENV命令行开发环境,在APM32F427使用LwIP网络协议栈实现网络通信功能的。
    的头像 发表于 04-02 15:19 9429次阅读
    极海APM32F427 MCU在<b class='flag-5'>RT-Thread</b>系统<b class='flag-5'>上</b>使用LwIP网络功能

    RT-Thread亮相AUTOSAR中国日:国产操作系统与AUTOSAR标准融合的产业化实践

    近日,2026第七届软件定义汽车论坛暨AUTOSAR中国日RT-Thread创始人兼睿赛德CEO熊谱翔先生发表题为《赋能SDV新生态:RT-ThreadRTOS与AUTOSAR融合的产业化路径
    的头像 发表于 03-23 19:24 676次阅读
    <b class='flag-5'>RT-Thread</b>亮相AUTOSAR中国日:国产操作系统与AUTOSAR标准融合的产业化<b class='flag-5'>实践</b>

    基于RT-Thread与兆易创新GD32F527的工业级网络-CAN透传网关设计与实现 | 技术集结

    目录系统概述RT-Thread使用情况硬件框架软件架构软件模块详解功能展示链接地址1系统概述本系统是一个基于GD32F527I_EVAL和RT-Thread实时操作系统开发的工业级网络-CAN总线透
    的头像 发表于 02-10 16:05 1.7w次阅读
    基于<b class='flag-5'>RT-Thread</b>与兆易创新GD32F527的工业级网络-<b class='flag-5'>CAN</b>透传网关设计与实现 | 技术集结

    恩智浦亮相RT-Thread 20周年开发者大会

    日前,“开源向实·生产力进化启示录”全球峰会暨RT-Thread 20周年开发者大会在上海成功举办,恩智浦作为RT-Thread的紧密合作伙伴,在活动中重磅亮相,展示双方在共建RT-Thread OS开发生态方面的新成果、新方案
    的头像 发表于 01-26 09:07 906次阅读

    智能门锁:基于RT-Thread与FRDM-MCXA156的多外设嵌入式实践 | 技术集结

    本项目为RT-Thread嵌入式大赛获奖作品,基于恩智浦MCXA156系列微控制器构建了一款多功能智能门锁控制系统。目前,恩智浦已有多款产品对RT-Thread完成了适配。近期,MCXA系列产品
    的头像 发表于 01-23 11:06 8966次阅读
    智能门锁:基于<b class='flag-5'>RT-Thread</b>与FRDM-MCXA156的多外设嵌入式<b class='flag-5'>实践</b> | 技术集结

    【好书推荐】RT-Thread第22本相关书籍!《嵌入式实时操作系统开发实践》| 技术集结

    教学的首选平台。本次推荐的第22本RT-Thread相关书籍——《嵌入式实时操作系统开发实践(基于英飞凌PSoC62和RT-Thread)》正是一本将理论与实践
    的头像 发表于 10-16 18:46 1072次阅读
    【好书推荐】<b class='flag-5'>RT-Thread</b>第22本相关书籍!《嵌入式实时操作系统开发<b class='flag-5'>实践</b>》| 技术集结

    2025年RT-Thread开发者巡回培训报名正式启动!

    RT-Thread技术专家面对面答疑解惑的绝佳机会。在这里你将体验丰富的理论课程、精彩Demo演示与动手实践!欢迎报名参加,与我们携手探索技术的更多可能!日期城市10月
    的头像 发表于 09-27 10:39 2550次阅读
    2025年<b class='flag-5'>RT-Thread</b>开发者巡回培训报名正式启动!

    rt-thread studio 2.2.9如何使用最新的RT-Thread v5.2.0 released?

    rt-thread studio2.2.9如何使用最新的RT-Thread v5.2.0 released? 原先以为修改index_all.json,发现联网的时候,会自动覆盖 另lastet版本
    发表于 09-16 06:06

    明晚!基于RT-Thread 的 PID 控制实践,从驱动到算法到监控,一次学会!| 问学直播

    RT-Thread简单PID控制实践》精彩直播!本次直播将基于RT-Thread实时操作系统与NXPFRDM-MCXA156开发板,围绕驱动配置、控制算法实现、远
    的头像 发表于 09-01 17:04 1546次阅读
    明晚!基于<b class='flag-5'>RT-Thread</b> 的 PID 控制<b class='flag-5'>实践</b>,从驱动到算法到监控,一次学会!| 问学直播

    Windows使用ENV工具开发基于先楫MCU的RT-Thread应用

    前言Env是RT-Thread推出的开发辅助工具,针对基于RT-Thread操作系统的项目工程,提供编译构建环境、图形化系统配置及软件包管理功能。其内置的menuconfig提供了简单易用的配置剪裁
    的头像 发表于 08-29 12:22 1909次阅读
    Windows<b class='flag-5'>上</b>使用ENV工具开发基于先楫MCU的<b class='flag-5'>RT-Thread</b>应用

    在Ubuntu开发基于先楫MCU的RT-Thread应用指南

    1、前言RT-ThreadEnv是RT-Thread推出的开发辅助工具,针对基于RT-Thread操作系统的项目工程,提供编译构建环境、图形化系统配置及软件包管理功能。其内置的menuconfig
    的头像 发表于 08-29 12:22 2357次阅读
    在Ubuntu<b class='flag-5'>上</b>开发基于先楫MCU的<b class='flag-5'>RT-Thread</b>应用指南

    【好书推荐】RT-Thread第20本相关书籍!《嵌入式实时操作系统RT-Thread原理与应用》| 技术集结

    知识与实际应用。本书内容丰富、循序渐进,涵盖从RT-Thread的基础理论到高级应用的完整知识体系,并通过大量实践案例进行讲解。全书共15章,内容包括RT-Thre
    的头像 发表于 08-24 10:05 1473次阅读
    【好书推荐】<b class='flag-5'>RT-Thread</b>第20本相关书籍!《嵌入式实时操作系统<b class='flag-5'>RT-Thread</b>原理与应用》| 技术集结

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

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

    揭秘RT-Thread的AUTOSAR CP系统

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