開(kāi)箱測(cè)試
RT-Thread官方已完成了對(duì)英飛凌XMC7200 EVK的移植,通過(guò)shell可以看到做好了uart3的console。
本文將介紹如何進(jìn)行RT-Thread Can 移植。
接下來(lái)我們要完成CAN_FD的驅(qū)動(dòng)移植,并正常啟動(dòng)RT-Thread,首先參考下面的帖子搭建好開(kāi)發(fā)環(huán)境:
https://club.rt-thread.org/ask/article/4e5abc98191c3747.html
接著在RT-Thread主倉(cāng)中找到xmc7200的模板工程(路徑:\bsp\Infineon\xmc7200-kit_xmc7200_evk)。在不改變?nèi)魏?a target="_blank">參數(shù)的情況下,我們修改應(yīng)用程序讓三個(gè)燈循環(huán)點(diǎn)亮,接著進(jìn)行編譯和并下載程序驗(yàn)證。
下載驗(yàn)證:
原理圖分析
從開(kāi)發(fā)板的原理圖和芯片復(fù)用手冊(cè)可知,驅(qū)動(dòng)CAN_FD芯片的是P0.2和P0.3兩個(gè)引腳,使用CAN0通道1進(jìn)行控制。另外P1.0引腳控制CAN transceiver的standby功能。
驅(qū)動(dòng)移植
使用RT-Thread ENV 工具對(duì)內(nèi)核進(jìn)行配置,開(kāi)啟內(nèi)核層CAN總線(xiàn)驅(qū)動(dòng),并重新生成KEIL MDK工程,運(yùn)行scons --target=mdk5
在HAL_Drivers目錄下添加硬件層的can驅(qū)動(dòng)代碼,命名為drv_can.c drv_can.h.
參考STM32的RTT HAL驅(qū)動(dòng),我們需要針對(duì)性地對(duì)各部分進(jìn)行更改,仔細(xì)核對(duì)驅(qū)動(dòng)API調(diào)用方法才能完成移植。由于是第一次使用英飛凌XMC系列處理器,并沒(méi)有完全了解其驅(qū)動(dòng)庫(kù)架構(gòu)和寄存器對(duì)應(yīng)關(guān)系,需要進(jìn)一步更改才能使用。目前實(shí)現(xiàn)的功能是內(nèi)核驅(qū)動(dòng)掛載并正常顯示。
如下圖所示,可查找到名為xmc_can0的設(shè)備,但是無(wú)法對(duì)其進(jìn)行操作。
CAN測(cè)試
為了完成XMC7200 CANFD驅(qū)動(dòng)評(píng)估,需要一個(gè)CAN總線(xiàn)分析儀??紤]到成本原因,我選擇通過(guò)嘉立創(chuàng)開(kāi)源項(xiàng)目拷貝一個(gè)現(xiàn)有方案并手工貼片完成一個(gè)簡(jiǎn)單的CAN采集器,用于測(cè)試和數(shù)據(jù)分析。選中了下面這款USB_TO_CAN tool,并進(jìn)行打板,焊接,測(cè)試,下載官方的固件并進(jìn)行通信驗(yàn)證。
完成的實(shí)物和測(cè)試效果如下圖:
參考STM32的CAN驅(qū)動(dòng),我們移植英飛凌的CAN驅(qū)動(dòng)對(duì)接到RT-Thread的
CAN框架。最終完成了一個(gè)傳統(tǒng)CAN模式的測(cè)試框架,并提交到github上面。https://github.com/Jason0204/rtthread-xmc7200測(cè)試效果如下:
XMC7200EVK 傳統(tǒng)模式下的CANFD在RT-Thread下的運(yùn)行已經(jīng)完成驅(qū)動(dòng)移植和部分測(cè)試。
原文鏈接
原文鏈接:https://club.rt-thread.org/ask/article/ee5a26b536d9a122.html
-
英飛凌
+關(guān)注
關(guān)注
66文章
2174瀏覽量
138618 -
CAN
+關(guān)注
關(guān)注
57文章
2743瀏覽量
463585 -
RT-Thread
+關(guān)注
關(guān)注
31文章
1285瀏覽量
40059
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論