日韩中文在线观看-欧美性综合-伊人视频在线观看-亚洲免费在线视频观看-国产偷人视频-人妻丰满熟妇岳av无码区hd-国产一级淫片a视频免费观看-国产精品交换-国产精品1区2区3区4区-美女日批视频在线观看-欧美日韩一区二区三区自拍

【ARM】應(yīng)用CMSIS接口在STM32F769開發(fā)板實(shí)現(xiàn)FreeRTOS的移植

一、文檔背景

在嵌入式系統(tǒng)開發(fā)中,實(shí)時(shí)操作系統(tǒng)(RTOS)是一種用于管理任務(wù)調(diào)度、資源共享和同步的軟件。 FreeRTOS是一個(gè)輕量級(jí)、可移植的RTOS內(nèi)核,因其易用性和可靠性而廣受歡迎。

CMSIS(Cortex Microcontroller Software Interface Standard)是ARM公司提供的標(biāo)準(zhǔn)接口,用于簡(jiǎn)化ARM Cortex-M微控制器開發(fā)。 CMSIS提供了一系列硬件抽象層(HAL)和中間件,可幫助開發(fā)人員輕松地將應(yīng)用程序移植到不同的ARM Cortex-M微控制器平臺(tái)。


二、 解決的問題或者進(jìn)行問題分析

● 簡(jiǎn)介:概述移植FreeRTOS的過程。

● 配置CMSIS接口:如何配置CMSIS接口以支持FreeRTOS。

● 移植FreeRTOS內(nèi)核:介紹如何將FreeRTOS內(nèi)核移植到STM32F769開發(fā)板。

● 創(chuàng)建任務(wù):如何創(chuàng)建FreeRTOS任務(wù)。


三、 如何應(yīng)用CMSIS接口在STM32F769開發(fā)板實(shí)現(xiàn)FreeRTOS的移植

1. 打開STM32CubeMX軟件,選擇“ACCESS TO MCU ...”,如下圖3-1所示:




圖3-1

2. 選中開發(fā)板對(duì)應(yīng)的處理器的名稱,選擇“Start Project...”,如下圖3-2所示:



圖3-2

3. 選擇“Project Manager”,輸入項(xiàng)目名稱,并選擇工具鏈名稱,如下圖3-3所示:



圖3-3

4. 由于在項(xiàng)目中需要用于LED燈的控制,打開發(fā)板關(guān)于LED的原理圖,如下圖3-4所示:



圖3-4

5. 根據(jù)LED燈的原理圖配置好,LED燈的GPIO口,如下圖3-5所示:



圖3-5

6. 設(shè)置晶振的類型,如下圖3-6所示:



圖3-6

7. 選擇“FreeRTOS”,配置好接口,再選擇“Tasks and Queues”,添加任務(wù),如下圖3-7所示:



圖3-7

8. 添加GreenLEDTask與BlueLEDTask兩個(gè)任務(wù),如下圖3-8所示:



圖3-8

9. 把“Timebase Source”修改為TIM6,如下圖3-9所示:



圖3-9

10. 配置好系統(tǒng)時(shí)鐘,如下圖3-10所示:


圖3-10

11. 選擇“GENERATE CODE”生成項(xiàng)目生成并打開項(xiàng)目,如下圖3-11所示:


圖3-11

12. 新創(chuàng)建Board_LED.c與Board_LED.h文件,并修改Main與gpio文件內(nèi)容,Board_LED.c文件部分代碼如圖3-12所示:



圖3-12

13. 修改freertos.c文件中GreenLED與BlueLED對(duì)應(yīng)任務(wù)函數(shù)的內(nèi)容,如下圖3-13所示:


圖3-13

四、驗(yàn)證FreeRTOS已移植成功

編譯工程,并把工程下載到STM32F769開發(fā)板上,觀察綠燈與藍(lán)燈的閃爍情況。


五、討論分析

1、找不到相關(guān)的頭文件,如圖5-1所示:



圖5-1

解決方法:

確認(rèn)相關(guān)頭文件的路徑,把相關(guān)的頭文件添加到項(xiàng)目中,如圖5-2所示:



圖5-2

六、結(jié)論

使用CMSIS接口移植FreeRTOS可以進(jìn)一步簡(jiǎn)化移植過程并提高代碼的可移植性,創(chuàng)建更強(qiáng)大、更可靠和更高效的應(yīng)用程序。


【更多軟件使用問題請(qǐng)站內(nèi)搜索或關(guān)注B站:28quan官網(wǎng)電子查看視頻教學(xué)】

主站蜘蛛池模板: 乐昌市| 丹寨县| 普兰县| 秭归县| 祁连县| 蒙阴县| 巨鹿县| 乐业县| 德清县| 金坛市| 隆昌县| 兖州市| 乐昌市| 德昌县| 加查县| 佛坪县| 大理市| 昌乐县| 凤台县| 高淳县| 西乌| 日照市| 花莲县| 定南县| 镇巴县| 公安县| 桃江县| 罗江县| 巴南区| 尉氏县| 常山县| 宜丰县| 阜新市| 平谷区| 营山县| 永昌县| 顺平县| 长海县| 辽阳县| 丁青县| 文登市|