99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

免費(fèi)測(cè)評(píng) | 英飛凌XMC7200系列MCU在RT-Thread上的移植經(jīng)驗(yàn)大公開(kāi)!

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

掃碼添加小助手

加入工程師交流群

XMC7200是英飛凌推出的一款32位雙核CPU子系統(tǒng)(ARM Cortex-M7 和 ARM Cortex-M0)的開(kāi)發(fā)板。該XMC7200D專(zhuān)為工業(yè)應(yīng)用而設(shè)計(jì),是一款真正的可編程嵌入式片上系統(tǒng),集成了多達(dá)兩個(gè) 350MHz Arm Cortex-M7 作為主應(yīng)用處理器,一個(gè) 100MHz Arm Cortex-M0+ 。

RT-Thread已率先支持英飛凌XMC7200系列,本文將介紹RT-Thread基于開(kāi)發(fā)板xmc7200-kit_xmc7200_evk的移植經(jīng)驗(yàn):

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

XMC7200測(cè)評(píng)活動(dòng)


1. 前期準(zhǔn)備

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

我們把代碼編譯好后使用Cypress programmer進(jìn)行燒錄。

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

1.2 英飛凌官方IDE——ModusToolbox

我們會(huì)使用到官方的IDE去獲取所需要的文件,如驅(qū)動(dòng)文件、啟動(dòng)文件、編譯腳本等等。

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

1.3 Keil_MDK && ENV環(huán)境

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

使用參考:RT-Thread之ENV工具_(dá)rt-thread env-CSDN博客

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

2. 移植準(zhǔn)備

2.1 了解RT-Thread目錄結(jié)構(gòu)

在大多數(shù)的BSP中,都會(huì)包含一下文件:

文件名稱(chēng)

文件說(shuō)明

.settings

用于生成RT-Thread Studio工程

applications

存放用戶(hù)代碼,通常會(huì)有一個(gè)main.c文件

board

里面通常會(huì)放有l(wèi)inker_scripts(各類(lèi)編譯器的編譯腳本)、board.c/.h(板級(jí)相關(guān)的初始化和配置)

drivers

設(shè)備驅(qū)動(dòng)代碼,里面存放各種外設(shè)的驅(qū)動(dòng),例如GPIO、UART等等,一般會(huì)放在BSP上一級(jí)目錄下的libraries下的HAL_Drivers里面

figures

開(kāi)發(fā)板照片以及.md說(shuō)明里用到的圖片

.config, rtconfig.h, Kconfig

Kconfig配置系統(tǒng)相關(guān)文件(在本篇中不涉及語(yǔ)法使用教程)

rtconfig.py, SConscript, SConstruct

scons構(gòu)建系統(tǒng)相關(guān)文件(在本篇中不涉及語(yǔ)法使用教程)

template.uvprojx, template.uvoptx

keil模板工程

project.uvprojx, project.uvoptx

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

template.eww, template.ewp

iar模板工程

project.eww, project.ewp

iar工程

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

2.2 使用ModusToolBox生成示例工程

2.2.1 生成工程

接下來(lái)我們使用官方的IDE生成一個(gè)示例工程獲取其驅(qū)動(dòng)庫(kù)、啟動(dòng)文件、鏈接腳本等。

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

在彈出的窗口中選擇我們本次用到的芯片類(lèi)型然后點(diǎn)擊Next。

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

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

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

2.2.2 生成文件

2.2.2.1 mtb_shared文件

當(dāng)我們的工程創(chuàng)建好以后,我們會(huì)使用到這兩個(gè)文件

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

在mtb_shared里面存放著:

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

我們會(huì)使用到下面的文件

文件名稱(chēng)

文件說(shuō)明

cat1cm0p

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

cmsis

ARM的一套標(biāo)準(zhǔn)化軟件接口

core-lib

核心庫(kù),定義一些參數(shù)、類(lèi)型的值

mtb-hal-cat1

硬件抽象層庫(kù)

mtb-pdl-cat1

硬件驅(qū)動(dòng)層庫(kù)

retarget-io

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

2.2.2.2 工程下文件

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

在生成的示例工程中,bsps目錄下會(huì)存放著相應(yīng)開(kāi)發(fā)板的相關(guān)鏈接腳本以、包含板載初始化的文件以及啟動(dòng)文件,這個(gè)我們待會(huì)也會(huì)使用到。

3. 文件移植

我們?cè)谕盗邢滦陆ㄒ粋€(gè)文件夾。

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

3.1 applications文件

在這個(gè)文件夾中我們存放的是用戶(hù)代碼,一般初始的時(shí)候只有一個(gè)main.c和一個(gè)Sconscript??梢匀テ渌盗袕?fù)制一個(gè)applications文件夾過(guò)來(lái)放在底下。

3.2 board文件

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

3.2.1 鏈接腳本

鏈接腳本我們?nèi)サ绞纠こ滔抡遥?/p>

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

把其修改好名稱(chēng)后放在board下的linker_scripts文件夾下。

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

3.2.2 board.c/.h文件

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

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

然后就是要修改board.h里面的SRAM大小跟起始地址,這個(gè)需要查看芯片的數(shù)據(jù)書(shū)冊(cè)。

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

3.2.3 Scons&&KConfig

還有就是Scons跟KConfig文件,這個(gè)主要是涉及編譯跟配置的,這個(gè)復(fù)制過(guò)來(lái)以后需要做一些修改。

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

首先就是需要指定一下不同編譯器實(shí)現(xiàn)底層系統(tǒng)庫(kù)函數(shù),這個(gè)源文件在mtb_shared目錄下。

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

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

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

然后是Kconfig的,在這里配置我們需要使用的外設(shè)選項(xiàng),本次移植只需要使用到串口跟GPIO,所以板載外設(shè)配置里面就只有這里兩項(xiàng)配置。在復(fù)制文件過(guò)來(lái)的基礎(chǔ)上進(jìn)行增刪改就可以了。在硬件驅(qū)動(dòng)配置這里我們仿照其它系列進(jìn)行修改。同時(shí)也要在libraries下的Konfig進(jìn)行修改(后面有提及)。

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

3.3 lib文件

我們需要把剛剛示例工程下生成bsps目錄下的TARGET_APP_KIT_XMC72_EVK文件復(fù)制過(guò)來(lái),同時(shí)也要編寫(xiě)一個(gè)Sconscript,在這里我們需要使用到里面的配置、啟動(dòng)文件。

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

3.4 MDK工程

先從其它工程里面把有關(guān)MDK的工程文件復(fù)制過(guò)來(lái)。

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

然后修改模板工程里面的芯片類(lèi)型。如果沒(méi)有顯示的話(huà)需要先下載一下英飛凌的Pack包。

可以通過(guò)Keil內(nèi)置的下載器下載,也可通過(guò)鏈接路徑下載

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

這幾個(gè)文件是負(fù)責(zé)硬件配置相關(guān)的,我們復(fù)制過(guò)來(lái)后可以根據(jù)需求直接修改.config里面的設(shè)置,然后用ENV進(jìn)入menuconfig保存一下更新rtconfig.h。例如這里需要把控制臺(tái)串口設(shè)置為串口3。

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

也可以用ENV進(jìn)入到menuconfig里面去修改:

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

3.6 SConscript、SConsturct

這類(lèi)型的文件主要與編譯相關(guān)。從其它BSP復(fù)制過(guò)來(lái)后,SConscript文件一般不需要進(jìn)行修改,SConstruct文件要看自己的需要修改一下文件路徑。

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

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文件

在驅(qū)動(dòng)庫(kù)中,有些地方還需要我們進(jìn)行調(diào)整。

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

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

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

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

4. 做成軟件包

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

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

5. 使用

到這里就適配完成了,接下來(lái)就是進(jìn)行編譯與下載。

5.1 生成MDK工程

待軟件包安裝好后,在ENV環(huán)境下輸入SCons --target==MDK5命令,ENV會(huì)自動(dòng)生成MDK5工程。

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

然后進(jìn)入MDK中進(jìn)行編譯

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

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

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

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

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

5.2 燒錄

打開(kāi)官方的燒錄軟件Cypress。選擇好對(duì)應(yīng)的板子。

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

選擇剛剛編譯好的.hex然后點(diǎn)擊連接。

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

然后點(diǎn)擊這個(gè)按鈕進(jìn)行下載即可

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 英飛凌
    +關(guān)注

    關(guān)注

    68

    文章

    2343

    瀏覽量

    140581
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17964

    瀏覽量

    366427
  • RT-Thread
    +關(guān)注

    關(guān)注

    32

    文章

    1403

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    RT-Thread BSP全面支持玄鐵全系列RISC-V 處理器 | 技術(shù)集結(jié)

    ,RT-Thread標(biāo)準(zhǔn)版已全面適配玄鐵E、R、C系列內(nèi)核,并在C906內(nèi)核支持RT-Smart微內(nèi)核操作系統(tǒng)。本文將以E906運(yùn)行RT-Thre
    的頭像 發(fā)表于 07-03 18:03 ?1524次閱讀
    <b class='flag-5'>RT-Thread</b> BSP全面支持玄鐵全<b class='flag-5'>系列</b>RISC-V 處理器 | 技術(shù)集結(jié)

    揭秘RT-Thread的AUTOSAR CP系統(tǒng)

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

    RT-Thread 如何實(shí)現(xiàn) SLAAC?

    大佬們,本菜鳥(niǎo)有一些網(wǎng)絡(luò)的問(wèn)題需要幫助: RT-Thread 如何實(shí)現(xiàn) SLAAC(無(wú)狀態(tài)地址自動(dòng)分配),給連接到我的板子的設(shè)備分配 IPv6 地址; RT-Thread 如何發(fā)
    發(fā)表于 05-27 07:21

    如何將RT-Thread移植到NXP MCUXPressoIDE

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

    Deepseek單片機(jī)?RT-Thread跑通大語(yǔ)言模型

    前言單片機(jī)也能聊天?RT-Thread跑通大語(yǔ)言模型RT-Thread論壇忽然看到了單片機(jī)和大模型對(duì)話(huà)的文章,想著春節(jié)期間看到大語(yǔ)言模
    的頭像 發(fā)表于 02-07 18:59 ?1431次閱讀
    Deepseek<b class='flag-5'>上</b>單片機(jī)?<b class='flag-5'>RT-Thread</b><b class='flag-5'>上</b>跑通大語(yǔ)言模型

    RT-ThreadCAN實(shí)踐

    開(kāi)箱測(cè)試RT-Thread官方已完成了對(duì)英飛凌XMC7200EVK的移植,通過(guò)shell可以看到做好了uart3的console。本文將介紹如何進(jìn)行
    的頭像 發(fā)表于 11-13 01:03 ?2099次閱讀
    <b class='flag-5'>RT-Thread</b><b class='flag-5'>上</b>CAN實(shí)踐

    基于NXP MCXA153 MCU實(shí)現(xiàn)RT-Thread的MTD NOR Flash驅(qū)動(dòng)

    嵌入式系統(tǒng)中,片Flash存儲(chǔ)器是一個(gè)關(guān)鍵組件,用于存儲(chǔ)程序代碼和關(guān)鍵數(shù)據(jù)。本文將詳細(xì)介紹如何在NXPMCXA153 MCU實(shí)現(xiàn)RT-Thre
    的頭像 發(fā)表于 11-09 14:00 ?1152次閱讀
    基于NXP MCXA153 <b class='flag-5'>MCU</b>實(shí)現(xiàn)<b class='flag-5'>RT-Thread</b>的MTD NOR Flash驅(qū)動(dòng)

    Nordic-RT-Thread5.1.0移植筆記

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

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

    如何在RT-thread studio的裸機(jī)例程移植freertos
    發(fā)表于 09-13 06:32

    混合部署 | RK3568同時(shí)部署RT-Thread和Linux系統(tǒng)-迅為電子

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

    【大連】9月7日RT-Thread巡回線(xiàn)下培訓(xùn)-OpenMV機(jī)器視覺(jué)

    親愛(ài)的RT-Thread社區(qū)成員們:2024年RT-Thread全球開(kāi)發(fā)者線(xiàn)下培訓(xùn)拉開(kāi)帷幕啦!24年全球巡回培訓(xùn)將覆蓋超10座城市及國(guó)家,為開(kāi)發(fā)者提供一個(gè)深入學(xué)習(xí)RT-Thread嵌入式開(kāi)發(fā)的絕佳
    的頭像 發(fā)表于 09-01 08:02 ?3769次閱讀
    【大連】9月7日<b class='flag-5'>RT-Thread</b>巡回線(xiàn)下培訓(xùn)-OpenMV機(jī)器視覺(jué)

    【QEMU系列】不用開(kāi)發(fā)板運(yùn)行RT-Thread指南-ARM架構(gòu)

    成為一個(gè)門(mén)檻。本文將詳細(xì)介紹如何在QEMU虛擬機(jī)的Vexpress-A9平臺(tái)運(yùn)行RT-Thread,幫助開(kāi)發(fā)者沒(méi)有實(shí)際硬件開(kāi)發(fā)板的情況下,輕松體驗(yàn)和學(xué)習(xí)RT-Th
    的頭像 發(fā)表于 08-09 08:35 ?1601次閱讀
    【QEMU<b class='flag-5'>系列</b>】不用開(kāi)發(fā)板運(yùn)行<b class='flag-5'>RT-Thread</b>指南-ARM架構(gòu)

    2024 RT-Thread全球巡回 線(xiàn)下培訓(xùn)火熱來(lái)襲!

    親愛(ài)的RT-Thread社區(qū)成員們:我們非常高興地宣布,2024年RT-Thread全球開(kāi)發(fā)者線(xiàn)下培訓(xùn)即將拉開(kāi)帷幕!24年全球巡回培訓(xùn)將覆蓋超10座城市及國(guó)家,為開(kāi)發(fā)者提供一個(gè)深入學(xué)習(xí)RT-Thread嵌入式開(kāi)發(fā)的絕佳機(jī)會(huì)。
    的頭像 發(fā)表于 08-07 08:35 ?2905次閱讀
    2024 <b class='flag-5'>RT-Thread</b>全球巡回 線(xiàn)下培訓(xùn)火熱來(lái)襲!

    【好書(shū)推薦】RT-Thread設(shè)備驅(qū)動(dòng)開(kāi)發(fā)指南

    強(qiáng)烈,他們迫切地希望有一本可以指導(dǎo)他們RT-Thread開(kāi)發(fā)驅(qū)動(dòng)的指南。為了解決開(kāi)發(fā)者的燃眉之急,《RT-Thread設(shè)備驅(qū)動(dòng)開(kāi)發(fā)指南》來(lái)了!希望幫助
    的頭像 發(fā)表于 08-01 08:35 ?1322次閱讀
    【好書(shū)推薦】<b class='flag-5'>RT-Thread</b>設(shè)備驅(qū)動(dòng)開(kāi)發(fā)指南

    請(qǐng)問(wèn)KIT_XMC72_EVK XMC7200評(píng)估套件可以直接連接到Motix Motor Bench嗎?

    我得到了 KIT_XMC72_EVK XMC7200 評(píng)估套件和 Motix 電機(jī)工作臺(tái)。 我想將評(píng)估套件連接到 Motix 電機(jī)工作臺(tái)上的電機(jī)。 它們可以直接連接嗎? Motix Motor Bench 手冊(cè)中,該設(shè)置使
    發(fā)表于 07-24 07:28