精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

十分鐘就將RT-Thread移植到了新唐新款單片機上的小竅門

Q4MP_gh_c472c21 ? 來源:21ic論壇 ? 作者:gaoyang9992006 ? 2021-04-29 14:13 ? 次閱讀

NuMicro M0A23 系列是基于 Arm Cortex -M0 內核的 32 位微控制器。它的工作溫度范圍達 -40°C 至 125°C,在小封裝中提供 CAN 功能,豐富的仿真外設及彈性的引腳分配功能。2.4V 至 5.5V 的工作電壓。NuMicro M0A23 系列針對工控和較高的工作溫度應用,如雷達,電池管理系統 (BMS),汽車照明,車用控制及工控傳感器等應用。

之前我發過一個帖,移植RTT到NUC029上的帖,這次拿到新的開發板,我們試試能否輕松移植RTT到這個M0A23開發板。 準備工具 Keil V5,在pack里安裝RTOS,如下圖所示

5566c830-a86f-11eb-9728-12bb97331649.png

接下來新建工程,工程目錄存放M0A23的Lib文件

5599e648-a86f-11eb-9728-12bb97331649.png

然后按照RTE的創建工程方式,添加啟動文件與RTT RTOS文件到工程

55c4881c-a86f-11eb-9728-12bb97331649.png

在工程創建目錄,添加USER文件和Lib文件

564b203e-a86f-11eb-9728-12bb97331649.png

最后對工程配置進行修改,因為要用stdio.h 所以在Target選項卡勾選Use MicroLIB,同時選中編譯器為V5版本

569558de-a86f-11eb-9728-12bb97331649.png

在C/C++選項卡設置頭文件路徑 .LibraryDeviceNuvotonM0A21Include;.LibraryStdDriverinc;.LibraryCMSISInclude 在Linker選項卡設置Misc controls --map --first=‘startup_M0A21.o(RESET)’ --datacompressor=off --info=inline --entry Reset_Handler 在調試器設置對應的調試器,并選擇為自動偵測模式

56b01070-a86f-11eb-9728-12bb97331649.png

配置燒錄功能如下

56d60cb2-a86f-11eb-9728-12bb97331649.png

基本配置到此完成,接下來進行RTT移植修改。 在board.c文件中進行時鐘與串口的初始化配置,同時別忘了將頭文件NUMicro.h包含進來。

可以直接將M0A23的BSP中的模板配置復制來用即可

void SYS_Init(void){ /* Unlock protected registers */ SYS_UnlockReg(); /* Enable HIRC clock (Internal RC 48MHz) */ CLK_EnableXtalRC(CLK_PWRCTL_HIRCEN_Msk); /* Wait for HIRC clock ready */ CLK_WaitClockReady(CLK_STATUS_HIRCSTB_Msk); /* Select HCLK clock source as HIRC and HCLK source divider as 1 */ CLK_SetHCLK(CLK_CLKSEL0_HCLKSEL_HIRC, CLK_CLKDIV0_HCLK(1)); /* Enable UART0 clock */ CLK_EnableModuleClock(UART0_MODULE);

/* Switch UART0 clock source to HIRC */ CLK_SetModuleClock(UART0_MODULE, CLK_CLKSEL1_UART0SEL_HIRC, CLK_CLKDIV0_UART0(1)); /* Update System Core Clock */ SystemCoreClockUpdate(); /* Set PB multi-function pins for UART0 RXD=PB.6 and TXD=PB.4 */ SYS-》GPB_MFP1 = (SYS-》GPB_MFP1 & ~(SYS_GPB_MFP1_PB4MFP_Msk | SYS_GPB_MFP1_PB6MFP_Msk)) | (SYS_GPB_MFP1_PB4MFP_UART0_TXD | SYS_GPB_MFP1_PB6MFP_UART0_RXD); /* Lock protected registers */ SYS_LockReg(); UART_Open(UART0, 115200);} 然后在rt_hw_board_init()

中引用該初始化并刪除該函數中的時鐘更新函數,因為我們已經在上面的函數完成了該操作。

接下來在該文件末尾添加

void rt_hw_console_output(const char *str){ printf(“%s”,str);} char rt_hw_console_getchar(void){return getchar();} 以實現串口打印與交互輸入。

然后我們發現,工程的啟動文件目錄有重定向文件,我們用庫函數中的進行替換該文件。

然后找到

__asm int32_t HardFault_Handler(void)

該函數,并注釋掉該函數,因為RTT中已經實現了該函數,不然就重復定義了。另外就是通過rtconfig.h啟用某些功能了,支持配置向導模式

56e6ea64-a86f-11eb-9728-12bb97331649.png

接下來保存工程,在main.c添加個簡單的代碼

#include 《stdio.h》#include “NuMicro.h”#include 《rtthread.h》 int main(void){ return 0;} 編譯,一次通過。 “.Objectsdemo.axf” - 0 Error(s), 0 Warning(s)。 下載測試

57147a74-a86f-11eb-9728-12bb97331649.png

這里提供工程供大家測試學習

編輯:jq

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

    關注

    48

    文章

    7490

    瀏覽量

    151061
  • 傳感器
    +關注

    關注

    2548

    文章

    50698

    瀏覽量

    752058
  • 函數
    +關注

    關注

    3

    文章

    4307

    瀏覽量

    62434
  • RTT
    RTT
    +關注

    關注

    0

    文章

    65

    瀏覽量

    17088
  • RT-Thread
    +關注

    關注

    31

    文章

    1273

    瀏覽量

    39928

原文標題:我只用了十分鐘:將RT-Thread移植到了新唐新款單片機上

文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    RT-Thread上CAN實踐

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

    開源共生 商業共贏 | RT-Thread 2024開發者大會報名啟動!

    親愛的RT-Thread開發者我們很高興地宣布,一年一度的RDC(RT-ThreadDeveloperConference,RT-Thread開發者大會)正式啟動報名!2024RT-Threa
    的頭像 發表于 10-29 08:06 ?243次閱讀
    開源共生 商業共贏 | <b class='flag-5'>RT-Thread</b> 2024開發者大會報名啟動!

    Nordic-RT-Thread5.1.0移植筆記

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

    【上海】9月21日RT-Thread巡回線下培訓-RTduino 10分鐘上手嵌入式

    RT-Thread全球開發者線下培訓火熱進行中,我們已走過菲律賓、北京、深圳、武漢、大連。9月21日我們將來到上海,帶你體驗RTduino-10分鐘上手嵌入式!免費
    的頭像 發表于 09-15 08:12 ?287次閱讀
    【上?!?月21日<b class='flag-5'>RT-Thread</b>巡回線下培訓-RTduino 10<b class='flag-5'>分鐘</b>上手嵌入式

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

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

    【武漢】9月7日RT-Thread巡回線下培訓-RTduino-10分鐘上手嵌入式

    機會。9月7日我們將來到武漢,帶你體驗RTduino-10分鐘上手嵌入式!免費報名免費報名活動參與抽獎,有機會獲得《RT-Thread設備驅動開發
    的頭像 發表于 08-31 08:05 ?390次閱讀
    【武漢】9月7日<b class='flag-5'>RT-Thread</b>巡回線下培訓-RTduino-10<b class='flag-5'>分鐘</b>上手嵌入式

    2024 RT-Thread全球巡回 線下培訓火熱來襲!

    親愛的RT-Thread社區成員們:我們非常高興地宣布,2024年RT-Thread全球開發者線下培訓即將拉開帷幕!24年全球巡回培訓將覆蓋超10座城市及國家,為開發者提供一個深入學習RT-Thread嵌入式開發的絕佳機會。
    的頭像 發表于 08-07 08:35 ?923次閱讀
    2024 <b class='flag-5'>RT-Thread</b>全球巡回 線下培訓火熱來襲!

    RT-Thread 新里程碑達成——GitHub Star 破萬!

    RT-Thread實時操作系統開源項目在GitHub上的star數量突破一萬!截止發文,RT-Thread作為實時操作系統在業界Star數量排名第一!倉庫地址:https://github.com
    的頭像 發表于 07-04 08:35 ?401次閱讀
    <b class='flag-5'>RT-Thread</b> 新里程碑達成——GitHub Star 破萬!

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

    6月6日下午我們將在杭州舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺上實現同時運行RT-Thread和linux,本次workshop邀請到RT-Thread資深
    的頭像 發表于 05-28 08:35 ?411次閱讀
    6月6日杭州站<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    RT-Thread混合部署Workshop北京站來啦!

    4月25日,下午我們將在北京舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺上實現同時運行RT-Thread和linux,本次workshop邀請到RT-Thread資深
    的頭像 發表于 04-19 08:34 ?417次閱讀
    <b class='flag-5'>RT-Thread</b>混合部署Workshop北京站來啦!

    4月25日北京站RT-Thread線下workshop,探索RT-Thread混合部署新模式

    4月25日,下午我們將在北京舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺上實現同時運行RT-Thread和linux,本次workshop邀請到RT-Thread資深
    的頭像 發表于 04-16 08:35 ?395次閱讀
    4月25日北京站<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式

    4月10日深圳場RT-Thread線下workshop,探索RT-Thread混合部署新模式!

    4月10日我們將在深圳福田舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺上實現同時運行RT-Thread和linux,本次workshop邀請到RT-Thread資深嵌入式軟件工程師農曉明老師為您講
    的頭像 發表于 03-27 11:36 ?779次閱讀
    4月10日深圳場<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    4月10日深圳場RT-Thread線下workshop,探索RT-Thread混合部署新模式!

    4月10日我們將在深圳福田舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺上實現同時運行RT-Thread和linux,本次workshop邀請到RT-Thread資深
    的頭像 發表于 03-27 08:34 ?495次閱讀
    4月10日深圳場<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    恩智浦半導體正式加入RT-Thread全球合作伙伴計劃!

    前不久,恩智浦半導體正式加入RT-Thread全球合作伙伴計劃,成為RT-Thread高級會員合作伙伴。同時,RT-Thread現已成為恩智浦注冊合作伙伴(RT-Thread| 簡介合
    的頭像 發表于 03-14 10:40 ?573次閱讀
    恩智浦半導體正式加入<b class='flag-5'>RT-Thread</b>全球合作伙伴計劃!

    BL808 RT-Thread Wi-Fi驅動適配

    BL808 WiFi 屬于 SOC 單芯片型無線 MCU,片上集成 WiFi 功能,移植 RT-Thread 過程中,需要使用 RT-Thread wlan 框架。
    的頭像 發表于 12-04 11:38 ?824次閱讀