在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

  • <object id="1jp1h"></object>
    <address id="1jp1h"><nav id="1jp1h"></nav></address>
  • <label id="1jp1h"></label>
    
    

    <bdo id="1jp1h"></bdo>

    新聞中心

    EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 將RT-Thread移植到MCUXPressoIDE上(基于FRDM-MCX C444)

    將RT-Thread移植到MCUXPressoIDE上(基于FRDM-MCX C444)

    作者:Alex Yang 時(shí)間:2025-02-25 來(lái)源:恩智浦MCU加油站 收藏

    默認(rèn)支持的只有IAR 和 Keil, 那如何將移植到NXP MCUXPresso上呢?本文內(nèi)容比較簡(jiǎn)單但稍有瑣碎,希望對(duì)有需要的小伙伴有所幫助。

    本文引用地址:http://www.biyoush.com/article/202502/467297.htm

    MCUXpresso 是由恩智浦官方推出的基于Eclipse的集成開(kāi)發(fā)環(huán)境,是LPCXpresso IDE的升級(jí)版本。它具有以下特點(diǎn):

    ◆ 完全免費(fèi),支持所有NXP的MCU產(chǎn)品線

    ◆ 包含MCUXpresso配置工具(SDK Builder),可視化配置外設(shè)

    ◆ 基于Eclipse平臺(tái),支持豐富的插件生態(tài)

    是一個(gè)開(kāi)源的物聯(lián)網(wǎng)操作系統(tǒng),由中國(guó)開(kāi)發(fā)者主導(dǎo)開(kāi)發(fā),具有以下特點(diǎn):

    ◆ 開(kāi)源、中立、穩(wěn)定可靠

    ◆ 組件豐富,生態(tài)完善

    ◆ 軟件包管理系統(tǒng),降低開(kāi)發(fā)難度

    ◆ 提供實(shí)時(shí)性強(qiáng)、資源占用小的內(nèi)核

    ◆ 支持標(biāo)準(zhǔn)POSIX接口

    ◆ 完善的中文文檔支持

    本文受眾:

    本文面向熟悉RT-Thread并需要將其移植到MCUXPressoIDE的用戶. 本文以FRDM-MCX C444為例,但是其中的移植步驟基本上是通用的, 其他NXP的芯片移植也可以借鑒這篇文章的內(nèi)容。

    本文所涉及的軟件版本:

    ◆ MCUXPressoIDE: 24.9 [Build 25] [2024-09-26]

    ◆ SDK: SDK_2_16_000_FRDM-MCX C444.

    ◆ RT-Thread: V5.2.0

    軟硬件準(zhǔn)備:

    1. 下載并安裝SDK. 導(dǎo)入MCUXpressoIDE并且確保您已經(jīng)熟悉基本操作(可以導(dǎo)入SDK工程并成功運(yùn)行一個(gè)基本的SDK helloworld).確保下載,調(diào)試,串口輸出等基本技能已經(jīng)掌握. 這些內(nèi)容和RT-Thread沒(méi)有任何關(guān)系,具體教程可以參見(jiàn)官方上手指南:

    https://www.nxp.com/document/guide/?getting?-started-with-frdm-MCX C444:GS-FR?DM-MCX C444

    2. 下載RT-Thread源碼(本文以5.20為準(zhǔn)),因?yàn)槟壳癛T-Thread主干已經(jīng)支持了FRDM-MCX C444(Keil, GCC),所以強(qiáng)烈建議先使用Keil編譯FRDM-MCX C444 RT-Thread工程,并且運(yùn)行,確認(rèn)基本的軟硬件配置是OK的.具體Keil下指南見(jiàn): https://github.com/RT-Thread/rt-thre?ad/tree/master/bsp/n?xp/mcx/MCX C

    移植步驟:

    1. 基于SDK創(chuàng)建一個(gè)新的工程(本文以SDK hello_world為藍(lán)本).創(chuàng)建好后可以給整個(gè)工程改個(gè)名字,方便識(shí)別,養(yǎng)成好習(xí)慣(可選):

    圖片

    2. 將RT-Thread源代碼文件復(fù)制進(jìn)工程,并且將RT-Thread文件夾添加進(jìn)編譯系統(tǒng):

    圖片

    3. 因?yàn)镽T-Thread沒(méi)有專門針對(duì)MCXPressoIDE的構(gòu)建系統(tǒng),所以接下來(lái)一個(gè)主要的任務(wù)就是將RT-Thread中不需要的源代碼刪除.這個(gè)過(guò)長(zhǎng)相當(dāng)繁瑣(基本占移植工作的95%以上),并且需要對(duì)RT-Thread本身的源代碼有一定了解,這里僅僅舉一個(gè)例子:

    比如有關(guān)真對(duì)處理器架構(gòu)的相關(guān)移植文件文件夾在RT-Thread/libcpu中,MCX C444是ARM Cortex-M0+內(nèi)核的,且MCXPressoIDE是基于GCC編譯器的,所以我需要只保留rt-threadlibcpuarmcortex-m0中context_gcc.S其余文件(文件夾)需要通通刪除. RT-Thread其他地方的源碼,包括C源碼也有很多需要類似的處理(總共有100+處),這里就不在一一舉例了,可以通過(guò)查看GCC構(gòu)建中的Makefile文件或者env工具自動(dòng)構(gòu)建出來(lái)的Keil/IAR工程對(duì)比進(jìn)行操作。

    4. 添加Include路徑: 如下圖所示. 這一部分是否完成可以嘗試編譯來(lái)確認(rèn),如果都編譯通過(guò),則說(shuō)明這步基本沒(méi)問(wèn)題:

    圖片

    5. 將hello_world.c改名為main.c,并且將hello_world工程中board.c也替換為MCX C444 RT-Thread工程中的board.c 并且修正一些編譯過(guò)去,使之能通過(guò)編譯.

    6. 對(duì)于RT-Thread移植,需要幾個(gè)特定的保留段(Keep section),因此我們要手動(dòng)修改Linker File:

    圖片

    然后在linker File里添加如下字段:

    圖片

    7. 到此, 移植步驟基本結(jié)束. 重新編譯整個(gè)工程,并且下載到開(kāi)發(fā)板中,復(fù)位后,打開(kāi)串口.波特率115200. 會(huì)出現(xiàn)RT-Thread開(kāi)機(jī)log, 并且工程默認(rèn)已經(jīng)實(shí)現(xiàn)了串口和GPIO驅(qū)動(dòng), 默認(rèn)使能了Finish命令行 輸入”help”會(huì)打印幫助信息. ,另外開(kāi)發(fā)板紅色LED會(huì)以1Hz閃爍;

    1. 圖片

    到此移植工作結(jié)束。注意:本工作只是實(shí)現(xiàn)了一個(gè)最小系統(tǒng)的移植,RT-Thread有眾多的組件和生態(tài),如果需要可以涉及繼續(xù)手工移植源碼,另外本工程的device driver只實(shí)現(xiàn)了pin和 serial,如需其他driver需要手工添加。

    最后移植成功的完整工程將會(huì)隨后發(fā)布在NXP的 AppcodeHub上,歡迎下載嘗鮮!



    關(guān)鍵詞: RT-Thread IDE

    評(píng)論


    相關(guān)推薦

    技術(shù)專區(qū)

    關(guān)閉