18video性欧美19sex,欧美高清videosddfsexhd,性少妇videosexfreexxx片中国,激情五月激情综合五月看花,亚洲人成网77777色在线播放

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

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

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

恩智浦MCU教程 基于MCUXpresso和FRDM-MCXA346的RT-Thread Nano移植

恩智浦MCU加油站 ? 來源: 恩智浦MCU加油站 ? 2025-08-21 09:49 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

RT-Thread Nano是一個極簡版的硬實時內(nèi)核,Nano簡介與下載 具體見官方。

介紹完官方下載地址,本篇還是以移植RT-Thread Nano到MCUXpresso IDE為主,移植的代碼可以在nxpic.org.cn論壇搜索到。稍后也會有基于MCUXpresso VSC(Visual Studio Code)的介紹文檔。

簡單運行

1.準備一臺安裝有最新MCUXpresso IDE的PC和一塊FRDM-MCXA346開發(fā)板:

6b23686a-7e29-11f0-a18e-92fbcf53809c.png

2. 導入代碼包,運行結(jié)果:

6b4cccaa-7e29-11f0-a18e-92fbcf53809c.png

軟件下載

1.RT-Thread Nano源代碼下載

2.MCUXpresso SDK下載

3.MCUXpresso IDE下載

4.MCUXpresso Config Tool下載,這個不是必須的,IDE自帶的也有

移植步驟

1.導入MCUXpresso SDK到MCUXpresso IDE,直接把SDK的zip包拖到這個窗口里就行:

6b5d43fa-7e29-11f0-a18e-92fbcf53809c.png

2.創(chuàng)建一個新工程,咱們這里就用lpuart的polling的example為模板好了,創(chuàng)建好后,順手改個工程名字:

6b7bdf04-7e29-11f0-a18e-92fbcf53809c.png

6b9570a4-7e29-11f0-a18e-92fbcf53809c.png

3.將RT-Thread Nano源代碼文件復制進工程,并且包含進編譯序列:

6ba3be8e-7e29-11f0-a18e-92fbcf53809c.png

6bb71fec-7e29-11f0-a18e-92fbcf53809c.png

6bd3f59a-7e29-11f0-a18e-92fbcf53809c.png

4.移除RT-Thread Nano里咱們目前平臺不需要的文件,比如bsp文件夾,libcpu文件夾下邊的risc-v文件夾,libcpuarm文件夾下邊的arm926, armv6, cortex-a, cortex-m0, cortex-m23, cortex-m3, cortex-m4, cortex-m7,cortex-r4(保留libcpuarm下的common和cortex-m33文件夾):

6bed8820-7e29-11f0-a18e-92fbcf53809c.png

5.將divsi3.S, context_iar.S, context_rvds.s, syscall_iar.S, syscall_rvds.S移除出編譯序列:

6c022e92-7e29-11f0-a18e-92fbcf53809c.png

適配 RT-Thread Nanoo

1.把lpuart_polling.c改成main.c:

6c193e7a-7e29-11f0-a18e-92fbcf53809c.png

2.將rt-thread/include和rt-thread/components/finsh兩個目錄添加到工程的include路徑:

6c2e36e0-7e29-11f0-a18e-92fbcf53809c.png

3.將rt-thread nano源代碼bsp\_template路徑下的rtconfig.h和board.c復制到工程的source目錄下,這里我把board.c重命名為rtt_board.c:

6c461ff8-7e29-11f0-a18e-92fbcf53809c.png

4.編譯后編譯器提醒有兩個錯誤,提醒移植的時候添加必要的API:

6c64a892-7e29-11f0-a18e-92fbcf53809c.png

5.將"MCXA346.h", "app.h"和"fsl_lpuart.h"添加到source/board.c文件中:

6c8e50ac-7e29-11f0-a18e-92fbcf53809c.png

6.在sourceoard.cvoid rt_hw_board_init(void)函數(shù)中添加BOARD_InitHardware();和SysTick_Config(SystemCoreClock/RT_TICK_PER_SECOND):

6ca1edd8-7e29-11f0-a18e-92fbcf53809c.png

7.在sourceoard.c中用SysTick_Handler()替換rt_os_tick_callback():

6cc69732-7e29-11f0-a18e-92fbcf53809c.png

8.隱去TODO 2和TODO 3的提醒,TODO 2在example初始化的地方已經(jīng)做了調(diào)試串口的初始化了,并且在TODO 3里添加如下代碼:

6cd8fdc8-7e29-11f0-a18e-92fbcf53809c.png

6cf0a220-7e29-11f0-a18e-92fbcf53809c.png

9.將main.c的頭文件修改為:

6d033016-7e29-11f0-a18e-92fbcf53809c.png

10.將main.c核心的main代碼修改為:

6d1cb9be-7e29-11f0-a18e-92fbcf53809c.png

11.編譯后提醒hardfault函數(shù)重復定義了,所以要把工程生成的semihost_hardfualt.c刪除掉:

6d35d39a-7e29-11f0-a18e-92fbcf53809c.png

12.在rtconfig.h里打開#define RT_USING_CONSOLE宏,編譯并運行,記得打開串口中斷哦:

6d4cd5ae-7e29-11f0-a18e-92fbcf53809c.png

13.運行后,發(fā)現(xiàn)會進入Hardfault_handler()并且串口無打印。先來解決串口打印的問題:

6d62bf9a-7e29-11f0-a18e-92fbcf53809c.png

14.需要在startupstartup_mcxa346.c的ResetISR()函數(shù)中把main隱藏掉,用rt-thread nano的entry()替代,如下圖:

在entry()的函數(shù)里會調(diào)用rt_hw_board_init()來初始化硬件。 編譯并運行,這時候hardfault應該就會打印了:

6d80aab4-7e29-11f0-a18e-92fbcf53809c.png

15.Hard fault打印的信息,hard fault的原因本程序員找了些小時數(shù),原因是需要修改分散加載文件:

6da8b7c0-7e29-11f0-a18e-92fbcf53809c.png

16.鼠標右鍵工程名字,選在C/C++ Build -> Settings -> MCU Linker-> Managed Linker Script禁用Manage linker script。要手工修改下分散加載文件:

6dbdc070-7e29-11f0-a18e-92fbcf53809c.png

17.將如下區(qū)段加入到frdmmcxa346_rt_thread_nano_mcux_Debug.ld中,在“> PROGRAM_FLASH”區(qū)段:

-->
/***************RTOS
add**********************/
    /* section information for finsh shell*/
    . = ALIGN(4);
    __fsymtab_start = .;
    KEEP(*(FSymTab))
    __fsymtab_end = .;
    . = ALIGN(4);
    __vsymtab_start = .;
    KEEP(*(VSymTab))
    __vsymtab_end = .;
    . = ALIGN(4);
    /* section information for utest*/
    . = ALIGN(4);
    __rt_utest_tc_tab_start = .;
    KEEP(*(UtestTcTab))
    __rt_utest_tc_tab_end = .;
    /* section information for at server */
    . = ALIGN(4);
    __rtatcmdtab_start = .;
    KEEP(*(RtAtCmdTab))
    __rtatcmdtab_end = .;
    . = ALIGN(4);
    /* section information for initial.*/
    . = ALIGN(4);
    __rt_init_start = .;
    KEEP(*(SORT(.rti_fn*)))
    __rt_init_end = .;
    . = ALIGN(4);
  /* section information for modules */
  . = ALIGN(4);
  __rtmsymtab_start = .;
  KEEP(*(RTMSymTab))
  __rtmsymtab_end = .;
    . = ALIGN(4);
    PROVIDE(__ctors_start__ = .);
    KEEP (*(SORT(.init_array.*)))
    KEEP (*(.init_array))
    PROVIDE(__ctors_end__ = .);
        . = ALIGN(4);

6dd786ae-7e29-11f0-a18e-92fbcf53809c.png

18.編譯并運行,RT-Thread Nano就正常打印了:

6df7b528-7e29-11f0-a18e-92fbcf53809c.png

恩智浦致力于打造安全的連接和基礎設施解決方案,為智慧生活保駕護航。

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

    關注

    147

    文章

    18419

    瀏覽量

    380648
  • NXP
    NXP
    +關注

    關注

    61

    文章

    1369

    瀏覽量

    192640
  • 恩智浦
    +關注

    關注

    14

    文章

    6028

    瀏覽量

    127346
  • nano
    +關注

    關注

    1

    文章

    162

    瀏覽量

    31678
  • RT-Thread
    +關注

    關注

    32

    文章

    1506

    瀏覽量

    43888
  • FRDM
    +關注

    關注

    1

    文章

    18

    瀏覽量

    4311
  • mcuxpresso
    +關注

    關注

    1

    文章

    46

    瀏覽量

    4671

原文標題:基于MCUXpresso和FRDM-MCXA346的RT-Thread Nano移植

文章出處:【微信號:NXP_SMART_HARDWARE,微信公眾號:恩智浦MCU加油站】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    MCXA343和MCXA344通用MCU產(chǎn)品介紹

    既8月份發(fā)布了MCXA345和MCXA346兩款產(chǎn)品后,10月份咱們發(fā)布MCXA343和MCXA344通用MCU,主打帶CAN-FD的低成本
    的頭像 發(fā)表于 10-22 09:55 ?579次閱讀
    <b class='flag-5'>恩</b>智<b class='flag-5'>浦</b><b class='flag-5'>MCXA</b>343和<b class='flag-5'>MCXA</b>344通用<b class='flag-5'>MCU</b>產(chǎn)品介紹

    移植最新版的rt-thread nano時程序進入到entry就報錯,為什么?

    我在移植最新版的rt-thread nano時發(fā)現(xiàn)程序只要一進去entry函數(shù)就直接跳到一個死循環(huán)里,我使用的編譯器是armgcc10.2版本。然而我移植舊版的
    發(fā)表于 10-09 07:17

    基于MCUXpressoFRDM-MCXA346RT-Thread Nano移植 | 技術集結(jié)

    RT-ThreadNano是一個極簡版的硬實時內(nèi)核
    的頭像 發(fā)表于 08-22 17:07 ?3231次閱讀
    基于<b class='flag-5'>MCUXpresso</b>和<b class='flag-5'>FRDM-MCXA346</b>的<b class='flag-5'>RT-Thread</b> <b class='flag-5'>Nano</b><b class='flag-5'>移植</b> | 技術集結(jié)

    【用戶答謝】RT-Thread攜手,邀您共筑開源生態(tài),贏專屬好禮!| 社區(qū)活動

    親愛的嵌入式開發(fā)者伙伴們:在RT-Thread攜手同行的數(shù)載春秋里,雙方始終致力于為開發(fā)者打造更優(yōu)質(zhì)的嵌入式開發(fā)體驗,推動技術創(chuàng)新與應用落地,每一步成長都離不開各位開發(fā)者的信任與支持
    的頭像 發(fā)表于 08-22 17:07 ?621次閱讀
    【用戶答謝】<b class='flag-5'>RT-Thread</b>攜手<b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>,邀您共筑開源生態(tài),贏專屬好禮!| 社區(qū)活動

    如何移植 RT-Thread Nano 并創(chuàng)建 2 個線程?

    基于 BSP 中的 GPIO_OutputInput 演示,展示了如何移植 RT-Thread Nano 并創(chuàng)建 2 個線程。
    發(fā)表于 08-19 07:45

    MCXA345/A346通用MCU產(chǎn)品介紹

    近日,發(fā)布了MCXA345/A346通用MCU,一顆主打混合信號(ADC輸入通道多達82個)并且適用于電機控制的通用
    的頭像 發(fā)表于 08-13 11:42 ?3254次閱讀
    <b class='flag-5'>恩</b>智<b class='flag-5'>浦</b><b class='flag-5'>MCXA</b>345/A<b class='flag-5'>346</b>通用<b class='flag-5'>MCU</b>產(chǎn)品介紹

    FRDM-MCXA156開發(fā)實踐指南》上線啦

    RT-Thread率先支持NXPFRDM-MCXA156,并聯(lián)合半導體推出了NXPFRDM-MCXA156開發(fā)板評測活動。測評活動順利
    的頭像 發(fā)表于 04-06 10:51 ?2150次閱讀
    《<b class='flag-5'>恩</b>智<b class='flag-5'>浦</b><b class='flag-5'>FRDM-MCXA</b>156開發(fā)實踐指南》上線啦

    如何將RT-Thread移植到NXP MCUXPressoIDE上

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

    免費申請 | FRDM-MCXA156評測活動發(fā)布!

    FRDM-MCXA156高性能處理器評測活動,誠邀所有RT-Thread社區(qū)成員及愛好者踴躍參與!FRDM-MCXA156是
    的頭像 發(fā)表于 02-10 18:45 ?698次閱讀
    免費申請 | <b class='flag-5'>FRDM-MCXA</b>156評測活動發(fā)布!

    攜手RT-Thread全力賦能智能工業(yè)與物聯(lián)網(wǎng)新時代

    本地活躍的嵌入式開源社區(qū)積極合作,全力賦能。在日前舉辦的RT-Thread開發(fā)者大會(簡稱RDC)上,MCU系統(tǒng)與應用工程師牛曉東先生受邀發(fā)表了題為《NXP微控制器結(jié)合
    的頭像 發(fā)表于 01-10 11:55 ?1377次閱讀
    <b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>攜手<b class='flag-5'>RT-Thread</b>全力賦能智能工業(yè)與物聯(lián)網(wǎng)新時代

    使用無線FRDM開發(fā)板實現(xiàn)創(chuàng)新無線解決方案

    開發(fā)人員現(xiàn)在面臨著前所未有的挑戰(zhàn),需要為各種產(chǎn)品設計復雜的軟件,通常還要使用不同的處理器。MCUXpresso Developer Experience通過適用于多種MCU平臺
    的頭像 發(fā)表于 11-26 17:40 ?26.5w次閱讀
    使用<b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>無線<b class='flag-5'>FRDM</b>開發(fā)板實現(xiàn)創(chuàng)新無線解決方案

    FRDM-MCXA153 RT-Thread開發(fā)實戰(zhàn)(六):I2C總線開發(fā)與應用

    ? 工程創(chuàng)建 目前RT-Thread Studio尚未支持FRDM-MCXA153開發(fā)板BSP,需要從gitee下載最新的主線,通過scons命令創(chuàng)建工程。下載好主線源碼后,在
    的頭像 發(fā)表于 11-21 09:26 ?2278次閱讀
    <b class='flag-5'>恩</b>智<b class='flag-5'>浦</b><b class='flag-5'>FRDM-MCXA</b>153 <b class='flag-5'>RT-Thread</b>開發(fā)實戰(zhàn)(六):I2C總線開發(fā)與應用

    FRDM-MCXA153 RT-Thread實踐指南 實現(xiàn)和優(yōu)化RT-Thread的SPI驅(qū)動

    串行外設接口(SPI)是一種廣泛使用的同步串行通信接口,在嵌入式系統(tǒng)中扮演著重要角色。本文將深入探討如何在NXP MCXA153 MCU上實現(xiàn)和優(yōu)化RT-Thread的SPI驅(qū)動,同時介紹NXP提供
    的頭像 發(fā)表于 11-14 08:58 ?2256次閱讀
    <b class='flag-5'>恩</b>智<b class='flag-5'>浦</b><b class='flag-5'>FRDM-MCXA</b>153 <b class='flag-5'>RT-Thread</b>實踐指南 實現(xiàn)和優(yōu)化<b class='flag-5'>RT-Thread</b>的SPI驅(qū)動

    RT-Thread上CAN實踐

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

    基于FRDM-MCXA153開發(fā)板實現(xiàn)RT-Thread的ADC驅(qū)動

    數(shù)轉(zhuǎn)換器(ADC)是現(xiàn)代嵌入式系統(tǒng)中不可或缺的組件,它能將連續(xù)的模擬信號轉(zhuǎn)換為離散的數(shù)字信號。本文將深入探討如何在NXP的FRDM-MCXA153開發(fā)板上實現(xiàn)和使用RT-Thread的ADC驅(qū)動,為開發(fā)者提供一個全面而實用的指南。
    的頭像 發(fā)表于 11-01 12:29 ?2986次閱讀
    基于<b class='flag-5'>恩</b>智<b class='flag-5'>浦</b><b class='flag-5'>FRDM-MCXA</b>153開發(fā)板實現(xiàn)<b class='flag-5'>RT-Thread</b>的ADC驅(qū)動