前言
本篇文章將帶大家使用STM32cubemx對FreeRTOS進行工程模板的配置。
一、工程的創(chuàng)建
1.開始工程的創(chuàng)建:
2.芯片型號選擇:
3.修改時鐘為TIM8:
在FreeRTOS中SYSTICK需要為FreeRTOS提供心跳,故這里選擇TIM8替換SYNTICK。
4.配置RCC:
5.配置FreeRTOS:
6.開啟串口方便調(diào)試和觀察:
7.工程路徑及編譯器選擇等:
8.生成獨立的.c和.h文件:
9.串口重定向:
二、什么是CMSIS
CMSIS,即 Cortex Microcontroller Software Interface Standard(Cortex 微控制器軟件接口標準),是由ARM(Advanced RISC Machines)開發(fā)的一套標準,旨在為嵌入式系統(tǒng)開發(fā)提供一致的、可移植的軟件接口。CMSIS為ARM Cortex 微控制器的開發(fā)提供了一種標準化的方法,以簡化嵌入式系統(tǒng)的開發(fā)過程,并提高代碼的可移植性。
CMSIS 主要包括以下幾個組件和功能:
1.Cortex-M 處理器核的通用接口: CMSIS 提供了一套通用的編程接口,以支持不同的 Cortex-M 處理器核,包括 Cortex-M0、M0+、M1、M3、M4、M7 等。這些接口定義了中斷控制器、系統(tǒng)控制寄存器、異常處理等。
2.Cortex Microcontroller Software Interface Standard HAL(CMSIS HAL): 這是 CMSIS 中的一個重要組件,它定義了一組通用的硬件抽象層接口,允許開發(fā)人員編寫與硬件無關(guān)的驅(qū)動程序。這些驅(qū)動程序包括 GPIO、UART、SPI、I2C 等外設(shè)的操作函數(shù)。
3.CMSIS-CORE: CMSIS-CORE 提供了處理器內(nèi)核的核心功能,包括中斷管理、系統(tǒng)控制、系統(tǒng)定時器和系統(tǒng)初始化函數(shù)。
4.DSP 庫(Digital Signal Processing Library): CMSIS 提供了用于數(shù)字信號處理(DSP)的庫函數(shù),以支持嵌入式系統(tǒng)中的數(shù)字信號處理任務(wù)。
5.RTOS 適配層(RTOS Abstraction Layer): CMSIS 提供了用于支持不同實時操作系統(tǒng)(RTOS)的接口,允許開發(fā)人員將不同的 RTOS 與 CMSIS 集成,以便更容易移植應(yīng)用程序。
6.組件包管理器(Pack Management): CMSIS 還包括一個組件包管理器,允許開發(fā)人員輕松獲取和集成針對特定 Cortex-M 處理器的軟件包、驅(qū)動程序和中間件。
CMSIS 為 ARM Cortex-M 微控制器的軟件開發(fā)提供了一種標準化的方法,使開發(fā)人員可以更容易地編寫可移植的嵌入式應(yīng)用程序,而無需過多關(guān)注底層硬件細節(jié)。這有助于加速嵌入式系統(tǒng)的開發(fā),提高代碼的可維護性,并促進生態(tài)系統(tǒng)的發(fā)展。
CMSIS
封裝的RTOS接口有兩個版本RTOS V1
和RTOS V2
,V2兼容V1,支持更多的cortex內(nèi)核。
三、STM32cubemx生成的FreeRTOS工程分析
1.在Middlewares下包含了全面的FreeRTOS功能組件:
2.FreeRTOS初始化和開啟調(diào)度器:
/* Init scheduler */
osKernelInitialize(); /* Call init function for freertos objects (in freertos.c) */ //初始化調(diào)度器
MX_FREERTOS_Init();//cubemx配置的代碼
/* Start scheduler */
osKernelStart();//開啟調(diào)度器
3.MX_FREERTOS_Init():
在MX_FREERTOS_Init中創(chuàng)建了一個StartDefaultTask這是cubemx幫我們自動創(chuàng)建的函數(shù)。
cubemx自動創(chuàng)建的任務(wù):文章來源:http://www.zghlxwxcb.cn/news/detail-722312.html
總結(jié)
本篇文章就講解到這里,下篇文章我們繼續(xù)講解如何使用STM32cubemx對FreeRTOS進行配置。文章來源地址http://www.zghlxwxcb.cn/news/detail-722312.html
到了這里,關(guān)于STM32cubemx對FreeRTOS的適配(工程模板配置)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!