91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

完善資料讓更多小伙伴認識你,還能領取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 系列針對工控和較高的工作溫度應用,如雷達,電池管理系統(tǒng) (BMS),汽車照明,車用控制及工控傳感器等應用。

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

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

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

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

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

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

在工程創(chuàng)建目錄,添加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();} 以實現串口打印與交互輸入。

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

然后找到

__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

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

    關注

    48

    文章

    8367

    瀏覽量

    164500
  • 傳感器
    +關注

    關注

    2576

    文章

    55005

    瀏覽量

    791149
  • 函數
    +關注

    關注

    3

    文章

    4417

    瀏覽量

    67492
  • RTT
    RTT
    +關注

    關注

    0

    文章

    66

    瀏覽量

    18273
  • RT-Thread
    +關注

    關注

    32

    文章

    1611

    瀏覽量

    44806

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    即時零售 “十分鐘送達” 不翻車?RFID 才是幕后穩(wěn)控手

    一、當 “十分鐘送達” 成為標配,履約戰(zhàn)場藏著怎樣的暗戰(zhàn)? 打開外賣 APP,線上下單、樓下取貨的 “十分鐘送達” 早已不是新鮮事。從生鮮果蔬到服鞋美妝,即時零售正在重構 3-5 公里內的消費生態(tài)
    的頭像 發(fā)表于 02-25 18:07 ?60次閱讀

    恩智浦亮相RT-Thread 20周年開發(fā)者大會

    日前,“開源向實·生產力進化啟示錄”全球峰會暨RT-Thread 20周年開發(fā)者大會在上海成功舉辦,恩智浦作為RT-Thread的緊密合作伙伴,在活動中重磅亮相,展示雙方在共建RT-Thread OS開發(fā)生態(tài)方面的新成果、新方案
    的頭像 發(fā)表于 01-26 09:07 ?539次閱讀

    RISC-V單片機快速入門02,移植RT_Thread Nano系統(tǒng)

    前言: 上一節(jié),我們使用芯來科技Nuclei Studio IDE搭建了裸機開發(fā)環(huán)境,本節(jié)我們開始正式移植RT_Thread系統(tǒng)。 一、基礎知識 1.RT_Thread簡介 RT-Thread
    發(fā)表于 11-10 07:23

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

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

    如何在rt-thread studio上開發(fā)STM32H747這類雙核的單片機?

    如題,我希望在rt-thread studio上開發(fā)STM32H747IIT6這款雙核單片機,在keil里兩個核的代碼是完全隔離的,分別在兩個工程中編寫。 但是在rt-thread studio上生成的標準版工程只有一個工程,想
    發(fā)表于 09-19 08:08

    【好書推薦】RT-Thread第20本相關書籍!《嵌入式實時操作系統(tǒng)RT-Thread原理與應用》| 技術集結

    01內容簡介ContentSummary本書為讀者提供了一個全面、系統(tǒng)的RT-Thread學習指南,旨在幫助初學者及有經驗的開發(fā)者掌握RT-Thread實時操作系統(tǒng)和STM32嵌入式微控制器的核心
    的頭像 發(fā)表于 08-24 10:05 ?1001次閱讀
    【好書推薦】<b class='flag-5'>RT-Thread</b>第20本相關書籍!《嵌入式實時操作系統(tǒng)<b class='flag-5'>RT-Thread</b>原理與應用》| 技術集結

    RT-Thread編譯太慢怎么解決?

    剛下載RT-Thread Studio之后創(chuàng)建了一個stm32L496VET6的工程,示例程序沒有任何改動之間編譯的,到了19%就幾乎不動了,然后10分鐘才增加1%,這是啥情況啊,請問大佬們這怎么解決?
    發(fā)表于 08-22 08:26

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

    本篇還是以移植RT-Thread Nano到MCUXpresso IDE為主,移植的代碼可以在nxpic.org.cn論壇搜索到。
    的頭像 發(fā)表于 08-21 09:49 ?6740次閱讀
    恩智浦MCU教程 基于MCUXpresso和FRDM-MCXA346的<b class='flag-5'>RT-Thread</b> Nano<b class='flag-5'>移植</b>

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

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

    RT-Thread 遇上 Rust:安全內核 RusT-Thread 的誕生

    老師的推薦,很快我們就被其極高的安全特性,強大的包管理系統(tǒng)和編譯器以及豐富的社區(qū)支持所折服。然后我們在調研時注意到了RT-Thread。它有著經典的操作系統(tǒng)架構,
    的頭像 發(fā)表于 08-02 11:03 ?3524次閱讀
    <b class='flag-5'>RT-Thread</b> 遇上 Rust:安全內核 RusT-<b class='flag-5'>Thread</b> 的誕生

    RT-Thread Nano硬核移植指南:手把手實現VGLite圖形驅動適配 | 技術集結

    VGLite是NXP提供的輕量級2D圖形API,本文將手把手帶你實現VGLite圖形驅動適配RT-Thread。文章分為上、下兩篇,將手把手教您移植。上篇對RT-ThreadNano內核與Finsh組件進行
    的頭像 發(fā)表于 07-17 14:40 ?3378次閱讀
    <b class='flag-5'>RT-Thread</b> Nano硬核<b class='flag-5'>移植</b>指南:手把手實現VGLite圖形驅動適配 | 技術集結

    RT-Thread榮獲2025優(yōu)秀開源項目 | 新聞速遞

    6月底,RT-Thread睿賽德受邀參與由上海開源信息技術協會主辦的2025上海開源創(chuàng)新精英薈。上海市商委副主任張杰出席會議并致辭。RT-Thread嵌入式操作系統(tǒng)項目憑借其卓越的技術創(chuàng)新與開源生態(tài)
    的頭像 發(fā)表于 07-04 09:04 ?2633次閱讀
    <b class='flag-5'>RT-Thread</b>榮獲2025優(yōu)秀開源項目 | 新聞速遞

    深度剖析 RT-Thread 線程調度流程

    RT-Thread調度第一個線程的主要流程如下:rtthread_startup:RTT的啟動函數,主要負責板級驅動,調度器,系統(tǒng)線程初始化,啟動調度的工作
    的頭像 發(fā)表于 06-25 18:24 ?1762次閱讀
    深度剖析 <b class='flag-5'>RT-Thread</b> 線程調度流程

    如何在rt-thread studio上開發(fā)STM32H747IIT6?

    如題,我希望在rt-thread studio上開發(fā)STM32H747IIT6這款雙核單片機,在keil里兩個核的代碼是完全隔離的,分別在兩個工程中編寫。 但是在rt-thread studio上生成的標準版工程只有一個工程,
    發(fā)表于 06-11 06:24

    RT-Thread審核團招募: 深度參與開源RTOS社區(qū)治理與演進

    全球開發(fā)者招募:RT-Thread審核團(ReviewTeam)正式開放申請!在開源的世界里,代碼審查(CodeReview)是保證軟件質量、促進技術交流的關鍵環(huán)節(jié)。RT-Thread作為全球領先
    的頭像 發(fā)表于 05-21 18:02 ?1250次閱讀
    <b class='flag-5'>RT-Thread</b>審核團招募: 深度參與開源RTOS社區(qū)治理與演進