一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(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ě)。(如果是用主線代碼,需要下載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

存放用戶代碼,通常會(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è)文件夾中我們存放的是用戶代碼,一般初始的時(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è)廠商需要的初始化流程不同,會(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)有顯示的話需要先下載一下英飛凌的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ì)有所不同,這里也需要修改。如果是相同系列同樣配置的話無(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)載。文章觀點(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)注

    67

    文章

    2294

    瀏覽量

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

    關(guān)注

    146

    文章

    17734

    瀏覽量

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

    關(guān)注

    31

    文章

    1352

    瀏覽量

    41390
收藏 人收藏

    評(píng)論

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

    如何將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 ?1600次閱讀
    如何將<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ì)話的文章,想著春節(jié)期間看到大語(yǔ)言模
    的頭像 發(fā)表于 02-07 18:59 ?1224次閱讀
    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 ?1790次閱讀
    <b class='flag-5'>RT-Thread</b><b class='flag-5'>上</b>CAN實(shí)踐

    如何在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 ?656次閱讀
    混合部署 | <b class='flag-5'>在</b>RK3568<b class='flag-5'>上</b>同時(shí)部署<b class='flag-5'>RT-Thread</b>和Linux系統(tǒng)-迅為電子

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

    親愛(ài)的RT-Thread社區(qū)成員們:我們非常高興地宣布,2024年RT-Thread全球開(kāi)發(fā)者線下培訓(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 ?2156次閱讀
    2024 <b class='flag-5'>RT-Thread</b>全球巡回 線下培訓(xùn)火熱來(lái)襲!

    請(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

    RT-Thread 新里程碑達(dá)成——GitHub Star 破萬(wàn)!

    RT-Thread實(shí)時(shí)操作系統(tǒng)開(kāi)源項(xiàng)目GitHub的star數(shù)量突破一萬(wàn)!截止發(fā)文,RT-Thread作為實(shí)時(shí)操作系統(tǒng)在業(yè)界Star數(shù)量排名第一!倉(cāng)庫(kù)地址:https://gith
    的頭像 發(fā)表于 07-04 08:35 ?654次閱讀
    <b class='flag-5'>RT-Thread</b> 新里程碑達(dá)成——GitHub Star 破萬(wàn)!

    英飛凌汽車(chē)創(chuàng)新峰會(huì),RT-Thread展臺(tái)等你來(lái)打卡!

    2024年這個(gè)充滿創(chuàng)新與挑戰(zhàn)的時(shí)代,RT-Thread作為國(guó)內(nèi)領(lǐng)先的嵌入式實(shí)時(shí)操作系統(tǒng)提供商,榮幸地受邀參加了由英飛凌主辦的汽車(chē)創(chuàng)新峰會(huì)。此次峰會(huì),不僅匯聚了全球汽車(chē)電子領(lǐng)域的頂尖企業(yè)、技術(shù)專(zhuān)家
    的頭像 發(fā)表于 06-28 08:35 ?587次閱讀
    <b class='flag-5'>英飛凌</b>汽車(chē)創(chuàng)新峰會(huì),<b class='flag-5'>RT-Thread</b>展臺(tái)等你來(lái)打卡!

    6月6日杭州站RT-Thread線下workshop,探索RT-Thread混合部署新模式!

    嵌入式軟件工程師郭占鑫老師為您講解有關(guān)技術(shù)知識(shí)和實(shí)踐經(jīng)驗(yàn)。通過(guò)本次workshop能深入理解RT-Thread專(zhuān)業(yè)版與混合部署的潛力,RK3568平臺(tái)提升系統(tǒng)實(shí)時(shí)
    的頭像 發(fā)表于 05-28 08:35 ?590次閱讀
    6月6日杭州站<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    XMC7200是否支持從外部QSPI/OctalSPI閃存到XMC7200內(nèi)部SRAM的M-DMA傳輸?

    我的團(tuán)隊(duì)正在進(jìn)行一項(xiàng)關(guān)于項(xiàng)目中使用 XMC7200 的可行性研究。 我們的一個(gè)要求是從外部閃存向 XMC7200 內(nèi)部 SRAM 進(jìn)行 DMA 傳輸。 我們考慮使用的外部閃存是 QSPI 或
    發(fā)表于 05-27 08:26

    英飛凌加入2024 RT-Thread全球技術(shù)大會(huì),成為頂級(jí)共創(chuàng)合作伙伴!

    2024 RT-Thread全球技術(shù)大會(huì)即將盛大開(kāi)啟,我們很高興地宣布,英飛凌科技將加入本次盛會(huì),成為頂級(jí)共創(chuàng)合作伙伴。
    的頭像 發(fā)表于 05-23 10:19 ?818次閱讀
    <b class='flag-5'>英飛凌</b>加入2024 <b class='flag-5'>RT-Thread</b>全球技術(shù)大會(huì),成為頂級(jí)共創(chuàng)合作伙伴!

    【本周六-上?!?b class='flag-5'>RT-Thread+NXP線下培訓(xùn),快速上手新系列MCU

    5月25號(hào),RT-Thread將攜手恩智浦共同舉辦基于恩智浦MCXN系列MCU結(jié)合RT-Thread的應(yīng)用與實(shí)踐線下培訓(xùn)。我們將為大家?guī)?lái)恩智浦MCXN
    的頭像 發(fā)表于 05-22 08:35 ?725次閱讀
    【本周六-上?!?b class='flag-5'>RT-Thread</b>+NXP線下培訓(xùn),快速上手新<b class='flag-5'>系列</b><b class='flag-5'>MCU</b>

    XMC7200 ETH1可以使用RMII嗎?

    大家好, 我正試圖使用 XMC7200 的設(shè)備設(shè)計(jì)一個(gè)以太網(wǎng)連接器。 我想使用 RMII - 根據(jù)手冊(cè),我需要以下信號(hào): 另外,我不確定 ETHx_RXD 的手冊(cè)寫(xiě)的行數(shù)是 4
    發(fā)表于 05-20 08:21

    【上?!?月25日-基于恩智浦MCX N系列MCU結(jié)合RT-Thread的應(yīng)用與實(shí)踐 線下培訓(xùn)

    5月25號(hào),RT-Thread將攜手恩智浦共同舉辦基于恩智浦MCXN系列MCU結(jié)合RT-Thread的應(yīng)用與實(shí)踐線下培訓(xùn)。我們將為大家?guī)?lái)恩智浦MCXN
    的頭像 發(fā)表于 05-13 18:19 ?1596次閱讀
    【上?!?月25日-基于恩智浦MCX N<b class='flag-5'>系列</b><b class='flag-5'>MCU</b>結(jié)合<b class='flag-5'>RT-Thread</b>的應(yīng)用與實(shí)踐 線下培訓(xùn)