開箱測試
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
-
英飛凌
+關注
關注
66文章
2150瀏覽量
138412 -
CAN
+關注
關注
57文章
2715瀏覽量
463361 -
RT-Thread
+關注
關注
31文章
1272瀏覽量
39919
發布評論請先 登錄
相關推薦
評論