91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

免費測評 | 英飛凌XMC7200系列MCU在RT-Thread上的移植經驗大公開!

RT-Thread官方賬號 ? 2024-07-11 08:36 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

XMC7200是英飛凌推出的一款32位雙核CPU子系統(ARM Cortex-M7 和 ARM Cortex-M0)的開發板。該XMC7200D專為工業應用而設計,是一款真正的可編程嵌入式片上系統,集成了多達兩個 350MHz Arm Cortex-M7 作為主應用處理器,一個 100MHz Arm Cortex-M0+ 。

RT-Thread已率先支持英飛凌XMC7200系列,本文將介紹RT-Thread基于開發板xmc7200-kit_xmc7200_evk的移植經驗:

89bc8d0c-3f1d-11ef-a655-92fbcf53809c.png

XMC7200測評活動


1. 前期準備

1.1 英飛凌燒錄工具——Cypress programmer

我們把代碼編譯好后使用Cypress programmer進行燒錄。

官方下載鏈接:Cypress Programmer - Infineon Developer Center

1.2 英飛凌官方IDE——ModusToolbox

我們會使用到官方的IDE去獲取所需要的文件,如驅動文件、啟動文件、編譯腳本等等。

官方下載鏈接:ModusToolbox - Infineon Developer Center

1.3 Keil_MDK && ENV環境

ENV環境會幫我們生成Keil工程,然后使用Keil進行代碼編寫。(如果是用主線代碼,需要下載ENV2.0)

使用參考:RT-Thread之ENV工具_rt-thread env-CSDN博客

ENV2.0下載教程【重要通知】ENV-Windows v2.0.0版本發布

2. 移植準備

2.1 了解RT-Thread目錄結構

在大多數的BSP中,都會包含一下文件:

文件名稱

文件說明

.settings

用于生成RT-Thread Studio工程

applications

存放用戶代碼,通常會有一個main.c文件

board

里面通常會放有linker_scripts(各類編譯器的編譯腳本)、board.c/.h(板級相關的初始化和配置)

drivers

設備驅動代碼,里面存放各種外設的驅動,例如GPIO、UART等等,一般會放在BSP上一級目錄下的libraries下的HAL_Drivers里面

figures

開發板照片以及.md說明里用到的圖片

.config, rtconfig.h, Kconfig

Kconfig配置系統相關文件(在本篇中不涉及語法使用教程)

rtconfig.py, SConscript, SConstruct

scons構建系統相關文件(在本篇中不涉及語法使用教程)

template.uvprojx, template.uvoptx

keil模板工程

project.uvprojx, project.uvoptx

keil工程(由模板工程生成得來)

template.eww, template.ewp

iar模板工程

project.eww, project.ewp

iar工程

在了解了目錄以后我們就能根據所需要的文件一步一步完成BSP了。

2.2 使用ModusToolBox生成示例工程

2.2.1 生成工程

接下來我們使用官方的IDE生成一個示例工程獲取其驅動庫、啟動文件、鏈接腳本等。

89f11a36-3f1d-11ef-a655-92fbcf53809c.png

在彈出的窗口中選擇我們本次用到的芯片類型然后點擊Next。

89fd2290-3f1d-11ef-a655-92fbcf53809c.png

然后選擇‘Hello World’工程,選擇好保存位置后就可以創建了。

8a07d50a-3f1d-11ef-a655-92fbcf53809c.png

2.2.2 生成文件

2.2.2.1 mtb_shared文件

當我們的工程創建好以后,我們會使用到這兩個文件

8a2e5bb2-3f1d-11ef-a655-92fbcf53809c.png

在mtb_shared里面存放著:

8a38eba4-3f1d-11ef-a655-92fbcf53809c.png

我們會使用到下面的文件

文件名稱

文件說明

cat1cm0p

包含了與基于 Cortex-M0+ 核心的微控制器相關的代碼和資源,低功耗的控制代碼

cmsis

ARM的一套標準化軟件接口

core-lib

核心庫,定義一些參數、類型的值

mtb-hal-cat1

硬件抽象層庫

mtb-pdl-cat1

硬件驅動層庫

retarget-io

包含重定向輸入輸出的文件

2.2.2.2 工程下文件

8a4d0648-3f1d-11ef-a655-92fbcf53809c.png

在生成的示例工程中,bsps目錄下會存放著相應開發板的相關鏈接腳本以、包含板載初始化的文件以及啟動文件,這個我們待會也會使用到。

3. 文件移植

我們在同系列下新建一個文件夾。

8a74d6be-3f1d-11ef-a655-92fbcf53809c.png

3.1 applications文件

在這個文件夾中我們存放的是用戶代碼,一般初始的時候只有一個main.c和一個Sconscript。可以去其它系列復制一個applications文件夾過來放在底下。

3.2 board文件

在這個文件中存放的是一些編譯器鏈接腳本以及板載初始化用到的文件。

3.2.1 鏈接腳本

鏈接腳本我們去到示例工程下找:

8a931fe8-3f1d-11ef-a655-92fbcf53809c.png

把其修改好名稱后放在board下的linker_scripts文件夾下。

8aae1898-3f1d-11ef-a655-92fbcf53809c.png

3.2.2 board.c/.h文件

在board.c/.h文件中,一般會存放一些在板載初始化階段要使用的函數,每個廠商需要的初始化流程不同,會有不一樣內容。在本次移植中,就需要加入cybsp_init()功能,這個函數可以幫我們配置系統時鐘電源管理和資源管理等。這個可以去同系列里面復制粘貼過來就好。

8ad73f8e-3f1d-11ef-a655-92fbcf53809c.png

然后就是要修改board.h里面的SRAM大小跟起始地址,這個需要查看芯片的數據書冊。

8af68196-3f1d-11ef-a655-92fbcf53809c.png

3.2.3 Scons&&KConfig

還有就是Scons跟KConfig文件,這個主要是涉及編譯跟配置的,這個復制過來以后需要做一些修改。

8b03289c-3f1d-11ef-a655-92fbcf53809c.png

首先就是需要指定一下不同編譯器實現底層系統庫函數,這個源文件在mtb_shared目錄下。

8b0749f4-3f1d-11ef-a655-92fbcf53809c.png

然后是各種參與編譯的宏,這個需要使用到ModusToolBox編譯示例工程,然后在生成的compile_commands.json里尋找以-D開頭的參數,這些都是參與編譯的宏。然后把這些宏加入到Sconscript里面。

8b296d22-3f1d-11ef-a655-92fbcf53809c.png8b346434-3f1d-11ef-a655-92fbcf53809c.png

然后是Kconfig的,在這里配置我們需要使用的外設選項,本次移植只需要使用到串口跟GPIO,所以板載外設配置里面就只有這里兩項配置。在復制文件過來的基礎上進行增刪改就可以了。在硬件驅動配置這里我們仿照其它系列進行修改。同時也要在libraries下的Konfig進行修改(后面有提及)。

8b548cc8-3f1d-11ef-a655-92fbcf53809c.png

3.3 lib文件

我們需要把剛剛示例工程下生成bsps目錄下的TARGET_APP_KIT_XMC72_EVK文件復制過來,同時也要編寫一個Sconscript,在這里我們需要使用到里面的配置、啟動文件。

8b7ae42c-3f1d-11ef-a655-92fbcf53809c.png8b917f3e-3f1d-11ef-a655-92fbcf53809c.png

3.4 MDK工程

先從其它工程里面把有關MDK的工程文件復制過來。

8bc0fd36-3f1d-11ef-a655-92fbcf53809c.png

然后修改模板工程里面的芯片類型。如果沒有顯示的話需要先下載一下英飛凌的Pack包。

可以通過Keil內置的下載器下載,也可通過鏈接路徑下載

8be12d22-3f1d-11ef-a655-92fbcf53809c.png8c03dfe8-3f1d-11ef-a655-92fbcf53809c.png

下載路徑:https://raw.githubusercontent.com/Infineon/cmsis-packs/master/CAT1C_DFP/Infineon.CAT1C_DFP.1.0.0.pack

3.5 rtconfig.h/.py、Konfig、.config

這幾個文件是負責硬件配置相關的,我們復制過來后可以根據需求直接修改.config里面的設置,然后用ENV進入menuconfig保存一下更新rtconfig.h。例如這里需要把控制臺串口設置為串口3。

8c17ac08-3f1d-11ef-a655-92fbcf53809c.png

也可以用ENV進入到menuconfig里面去修改:

8c226ab2-3f1d-11ef-a655-92fbcf53809c.png

3.6 SConscript、SConsturct

這類型的文件主要與編譯相關。從其它BSP復制過來后,SConscript文件一般不需要進行修改,SConstruct文件要看自己的需要修改一下文件路徑。

如這里將英飛凌驅動庫做成了軟件包的形式,就需要重新指定一下路徑,大家根據自己的需求修改。

8c467204-3f1d-11ef-a655-92fbcf53809c.png

3.7 Libraries修改

3.7.1 修改Kconfig

在libraries目錄下的Kconfig里,我們需要添加上我們的板子信息,仿照其它系列就好了。

8c4f680a-3f1d-11ef-a655-92fbcf53809c.png

3.7.2 修改HAL_Drivers文件

在驅動庫中,有些地方還需要我們進行調整。

在uart_config.h里,修改串口的引腳。

8c709caa-3f1d-11ef-a655-92fbcf53809c.png

不同于已適配的英飛凌Psoc6系列,中斷配置會有所不同,這里也需要修改。如果是相同系列同樣配置的話無需操作。

8c9442c2-3f1d-11ef-a655-92fbcf53809c.png8caa2204-3f1d-11ef-a655-92fbcf53809c.png

4. 做成軟件包

移植工作完成后,我發現英飛凌自身的驅動庫體積比較大,所以將其整合了一下,做成了軟件包的形式。同時也將其它系列也修改為依賴軟件包的形式,大家在使用的時候記得先進入ENV中使用pkgs --update的命令將軟件包下載下來。如果是其它系列的則可以參考其它文章將生成的驅動庫放在合適的位置。

8cc2ba8a-3f1d-11ef-a655-92fbcf53809c.png

5. 使用

到這里就適配完成了,接下來就是進行編譯與下載。

5.1 生成MDK工程

待軟件包安裝好后,在ENV環境下輸入SCons --target==MDK5命令,ENV會自動生成MDK5工程。

8cd9fdee-3f1d-11ef-a655-92fbcf53809c.png8cf25ac4-3f1d-11ef-a655-92fbcf53809c.png

然后進入MDK中進行編譯

8d212570-3f1d-11ef-a655-92fbcf53809c.png

(可以看到,剛剛所寫的編譯宏會顯示在這里)

8d42aac4-3f1d-11ef-a655-92fbcf53809c.png

這里記得勾選上生成HEX文件用于待會的燒錄

8d4ce07a-3f1d-11ef-a655-92fbcf53809c.png

5.2 燒錄

打開官方的燒錄軟件Cypress。選擇好對應的板子。

8d66f67c-3f1d-11ef-a655-92fbcf53809c.png

選擇剛剛編譯好的.hex然后點擊連接。

8d8c346e-3f1d-11ef-a655-92fbcf53809c.png

然后點擊這個按鈕進行下載即可

8d98d8e0-3f1d-11ef-a655-92fbcf53809c.png

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 英飛凌
    +關注

    關注

    68

    文章

    2344

    瀏覽量

    140608
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17981

    瀏覽量

    366838
  • RT-Thread
    +關注

    關注

    32

    文章

    1409

    瀏覽量

    41945
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    RT-Thread Nano硬核移植指南:手把手實現VGLite圖形驅動適配 | 技術集結

    VGLite是NXP提供的輕量級2D圖形API,本文將手把手帶你實現VGLite圖形驅動適配RT-Thread。文章分為、下兩篇,將手把手教您移植。上篇對RT-ThreadNano內
    的頭像 發表于 07-17 14:40 ?388次閱讀
    <b class='flag-5'>RT-Thread</b> Nano硬核<b class='flag-5'>移植</b>指南:手把手實現VGLite圖形驅動適配 | 技術集結

    RT-Thread BSP全面支持玄鐵全系列RISC-V 處理器 | 技術集結

    RT-Thread標準版已全面適配玄鐵E、R、C系列內核,并在C906內核支持RT-Smart微內核操作系統。本文將以E906運行RT-Thre
    的頭像 發表于 07-03 18:03 ?1624次閱讀
    <b class='flag-5'>RT-Thread</b> BSP全面支持玄鐵全<b class='flag-5'>系列</b>RISC-V 處理器 | 技術集結

    揭秘RT-Thread的AUTOSAR CP系統

    本文探討了RT-Thread與AUTOSARCP的融合,解決車載ECU開發中實時性、安全性與靈活性的平衡問題。通過分層安全內核(rt-safetyos/autoos)和工具鏈整合,兼容AUTOSAR
    的頭像 發表于 06-23 20:22 ?2312次閱讀
    揭秘<b class='flag-5'>RT-Thread</b><b class='flag-5'>上</b>的AUTOSAR CP系統

    RT-Thread 如何實現 SLAAC?

    大佬們,本菜鳥有一些網絡的問題需要幫助: RT-Thread 如何實現 SLAAC(無狀態地址自動分配),給連接到我的板子的設備分配 IPv6 地址; RT-Thread 如何發
    發表于 05-27 07:21

    如何將RT-Thread移植到NXP MCUXPressoIDE

    RT-Thread默認支持的IDE只有IAR 和 Keil, 那如何將RT-Thread移植到NXP MCUXPressoIDE呢?本文內容比較簡單但稍有瑣碎,希望對有需要的小伙伴有
    的頭像 發表于 02-13 10:37 ?1919次閱讀
    如何將<b class='flag-5'>RT-Thread</b><b class='flag-5'>移植</b>到NXP MCUXPressoIDE<b class='flag-5'>上</b>

    Deepseek單片機?RT-Thread跑通大語言模型

    前言單片機也能聊天?RT-Thread跑通大語言模型RT-Thread論壇忽然看到了單片機和大模型對話的文章,想著春節期間看到大語言模
    的頭像 發表于 02-07 18:59 ?1439次閱讀
    Deepseek<b class='flag-5'>上</b>單片機?<b class='flag-5'>RT-Thread</b><b class='flag-5'>上</b>跑通大語言模型

    RT-ThreadCAN實踐

    開箱測試RT-Thread官方已完成了對英飛凌XMC7200EVK的移植,通過shell可以看到做好了uart3的console。本文將介紹如何進行
    的頭像 發表于 11-13 01:03 ?2115次閱讀
    <b class='flag-5'>RT-Thread</b><b class='flag-5'>上</b>CAN實踐

    基于NXP MCXA153 MCU實現RT-Thread的MTD NOR Flash驅動

    嵌入式系統中,片Flash存儲器是一個關鍵組件,用于存儲程序代碼和關鍵數據。本文將詳細介紹如何在NXPMCXA153 MCU實現RT-Thre
    的頭像 發表于 11-09 14:00 ?1159次閱讀
    基于NXP MCXA153 <b class='flag-5'>MCU</b>實現<b class='flag-5'>RT-Thread</b>的MTD NOR Flash驅動

    Nordic-RT-Thread5.1.0移植筆記

    Nordic-RT-Thread5.1.0移植筆記
    的頭像 發表于 10-16 08:09 ?1311次閱讀
    Nordic-<b class='flag-5'>RT-Thread</b>5.1.0<b class='flag-5'>移植</b>筆記

    如何在RT-thread studio的裸機例程移植freertos?

    如何在RT-thread studio的裸機例程移植freertos
    發表于 09-13 06:32

    混合部署 | RK3568同時部署RT-Thread和Linux系統-迅為電子

    混合部署 | RK3568同時部署RT-Thread和Linux系統-迅為電子
    的頭像 發表于 09-06 15:32 ?790次閱讀
    混合部署 | <b class='flag-5'>在</b>RK3568<b class='flag-5'>上</b>同時部署<b class='flag-5'>RT-Thread</b>和Linux系統-迅為電子

    【大連】9月7日RT-Thread巡回線下培訓-OpenMV機器視覺

    親愛的RT-Thread社區成員們:2024年RT-Thread全球開發者線下培訓拉開帷幕啦!24年全球巡回培訓將覆蓋超10座城市及國家,為開發者提供一個深入學習RT-Thread嵌入式開發的絕佳
    的頭像 發表于 09-01 08:02 ?3844次閱讀
    【大連】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 ?2946次閱讀
    2024 <b class='flag-5'>RT-Thread</b>全球巡回 線下培訓火熱來襲!

    【好書推薦】RT-Thread設備驅動開發指南

    強烈,他們迫切地希望有一本可以指導他們RT-Thread開發驅動的指南。為了解決開發者的燃眉之急,《RT-Thread設備驅動開發指南》來了!希望幫助
    的頭像 發表于 08-01 08:35 ?1330次閱讀
    【好書推薦】<b class='flag-5'>RT-Thread</b>設備驅動開發指南

    請問KIT_XMC72_EVK XMC7200評估套件可以直接連接到Motix Motor Bench嗎?

    我得到了 KIT_XMC72_EVK XMC7200 評估套件和 Motix 電機工作臺。 我想將評估套件連接到 Motix 電機工作臺上的電機。 它們可以直接連接嗎? Motix Motor Bench 手冊中,該設置使
    發表于 07-24 07:28
    主站蜘蛛池模板: 欧美性猛交xxxxbbbb | 国产精品夜夜春夜夜爽久久 | 影音先锋在线亚洲精品推荐 | 成年人三级视频 | 亚洲一区二区视频 | 69精品在线| 萌白酱一线天粉嫩喷水在线观看 | 四虎国产精品永久在线看 | 91视频观看| 三级在线观看免播放网站 | 三级毛片在线免费观看 | 黄网在线观看免费 | 性生大片免费观看无遮挡 | 日韩基地1024首页 | 一级一片免费播放 | 欧美在线黄| 一区二区三区四区免费视频 | 天天射天天操天天色 | 操操操综合 | 国产精品四虎在线观看免费 | 在线观看一区二区三区视频 | 天天摸天天做天天爽水多 | 好男人社区www的视频免费 | 色综合视频在线 | 欧美极品xxxxⅹ另类 | 免费高清特黄a 大片 | 亚洲香蕉网久久综合影院3p | 99久久精品费精品国产 | 五月天男人的天堂 | 美女扒开尿口给男的桶个爽 | 直接在线观看的三级网址 | 四虎影院永久免费 | 夜夜夜精品视频免费 | 4hu影院在线观看 | 欧美色老太婆 | 干干干操操操 | 日本黄色高清视频网站 | 欧美日韩亚洲色图 | h在线观看视频免费网站 | 小毛片在线观看 | 手机看片www xiao2b cm|