esp32 怎么分配freertos 堆栈大小_嵌入式开发入门-从STM32CudeMX、FreeRtos、Proteu仿真开始...
系統(tǒng)
嵌入式是什么呢?
嵌入式開發(fā)就是指在嵌入式操作系統(tǒng)下進(jìn)行開發(fā),常用的嵌入式操作系統(tǒng)有FreeRtos,ucos,linux,android等。與單片機(jī)開發(fā)最大的不同就是裸跑與跑系統(tǒng)的區(qū)別。嵌入式系統(tǒng)的物理結(jié)構(gòu)關(guān)系是從屬的關(guān)系,嵌入式系統(tǒng)在控制邏輯關(guān)系上卻是起主導(dǎo)的關(guān)系,嵌入式系統(tǒng)被嵌入安裝在目標(biāo)應(yīng)用系統(tǒng)內(nèi),是控制目標(biāo)應(yīng)用系統(tǒng)運(yùn)行的邏輯處理系統(tǒng)。嵌入式系統(tǒng)盡管可以用不同的方式構(gòu)建,一旦構(gòu)建完成之后,嵌入式系統(tǒng)就是一個專用系統(tǒng)。在專用系統(tǒng)中,可編程器件的軟件可以在系統(tǒng)構(gòu)建過程中植入,也可以在器件制造過程中直接生成,以降低制造成本。控制邏輯復(fù)雜的單片機(jī)會需要操作系統(tǒng)軟件支持;控制邏輯簡單的嵌入式系統(tǒng)也可以不用操作系統(tǒng)軟件支持。嵌入式系統(tǒng)是當(dāng)前最熱門最有發(fā)展前途的IT應(yīng)用之一,應(yīng)用嵌入式系統(tǒng)的設(shè)備通常硬件資源有限、對成本很敏感、對實(shí)時響應(yīng)要求高。
STM32CudeMX
STM32CubeMX是ST意法半導(dǎo)體的一個圖形化的工具,也是配置和初始化C代碼生成器,也就是自動生成開發(fā)初期關(guān)于芯片相關(guān)的一些初始化代碼。它可以減輕開發(fā)的時間和費(fèi)用。STM32CubeMX集成了一個全面的軟件平臺,支持STM32每一個系列的MCU開發(fā)。這個平臺包括 STM32Cube HAL(一個 STM32 的抽象層集成軟件,確保STM32 系列最大的移植性)。再加上兼容的一套中間件(RTOS、USB、TCP/IP 和圖形),所有內(nèi)嵌軟件組件附帶了全套例程,STM32CubeMX的特性有:
1.直觀的選擇 STM32芯片,選型神器。
2.STM32芯片圖形化配置有:自動處理引腳沖突、動態(tài)設(shè)置確定的時鐘樹、可以動態(tài)確定參數(shù)設(shè)置的外圍和中間件模式和初始化、功耗預(yù)測等。
3.C代碼工程生成器覆蓋了STM32 芯片初始化編譯軟件,如IAR、KEIL、GCC。
4.可獨(dú)立使用或作為 Eclipse 插件使用。
Proteus8.8
Proteus軟件是英國Lab Center Electronics公司出版的EDA工具軟件,它具有EDA工具軟件的仿真功能,具有單片機(jī)及外圍器件的仿真功能,是比較好的仿真單片機(jī)及外圍器件的工具,早已受到單片機(jī)愛好者、單片機(jī)教師、單片機(jī)開發(fā)應(yīng)用的科技工作者的青睞。Proteus是著名的仿真軟件,可以從原理圖布的代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),實(shí)現(xiàn)真正的從概念到產(chǎn)品的完整設(shè)計(jì)。Proteus是世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺,其處理器模型支持8051、HC11、PIC10~30/DSPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列處理器,Proteus8.0以后版本支持STM32芯片仿真,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil等多種編譯器。
話不多說開始入門吧!
打開STM32CubeMX選擇單片機(jī)型號,stm32f103cb。
選型
配置單片機(jī)I/O口,PA0,PA1,PA2為推挽輸出,PB0,PB1為下拉輸入。
I/O口配置
配置FreeRtos系統(tǒng)。內(nèi)核設(shè)置、內(nèi)存管理設(shè)置、鉤子函數(shù)相關(guān)定義、運(yùn)行時和任務(wù)統(tǒng)計(jì)信息收集、共同程序相關(guān)定義、軟件計(jì)時器定義、中斷嵌套行為配置。
FreeRtos配置
添加FreeRtos任務(wù),defaultTask、myTask02、myTask03、優(yōu)先級配置、堆棧大小配置、入口函數(shù)配置、代碼生成選項(xiàng)、等任務(wù)參數(shù)配置。
添加任務(wù)
設(shè)置完成就可以生成代碼了,設(shè)置工具鏈/IDE--MDK-ARM V5、路徑、高級設(shè)置選擇使用HAL庫或是LL庫、配置時鐘等參數(shù)。
生成代碼
打開Keil uVision5--MDK-ARM V5工程,這是一個能用的,完整的工程文件。
打開工程
工程目錄有 ARM-MDK應(yīng)用程序、用戶程序、HAL庫驅(qū)動、外設(shè)驅(qū)動、FreeRtos中間文件。
工程目錄
可以看見已經(jīng)創(chuàng)建好了3個任務(wù),defaultTask、myTask02、myTask03。以及配置好了任務(wù)參數(shù)。
創(chuàng)建任務(wù)
可以看見已經(jīng)完成了I/O口的初始化配置。
I/O口初始化
我們只要在任務(wù)中添加任務(wù)代碼即可!方便至極。
添加任務(wù)代碼
完成之后,就可以編譯生成執(zhí)行文件.hex
添加任務(wù)代碼
打開Proteus仿真軟件,選擇要用到的器件BUTTON、Resistors、LED-GREENSTM32F103C6,搭建電路。
stm32器件選擇
搭建電路
導(dǎo)入單片機(jī)執(zhí)行文件仿真。
仿真
好了,完成了,恭喜你已成功入門了嵌入式開發(fā)。
結(jié)語:
嵌入式不是純軟件技術(shù),也不是純硬件技術(shù),是一個特定的硬件環(huán)境上開發(fā)與構(gòu)建特定的可編程軟件系統(tǒng)的綜合技術(shù),是在嵌入式系統(tǒng)的發(fā)展中應(yīng)運(yùn)而生的,是依附于嵌入式系統(tǒng),并推動嵌入式系統(tǒng)不斷向前發(fā)展的核心動力。嵌入式是一種專用的計(jì)算機(jī)系統(tǒng),作為裝置或設(shè)備的一部分,是一個控制程序存儲在ROM中的嵌入式處理器控制板,所有帶有數(shù)字接口的設(shè)備都使用嵌入式系統(tǒng),有些嵌入式系統(tǒng)還包含操作系統(tǒng),但大多數(shù)嵌入式系統(tǒng)都是單個程序?qū)崿F(xiàn)整個控制邏輯。
(后續(xù)開發(fā)如遇到問題歡迎留言討論哦.................)
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的esp32 怎么分配freertos 堆栈大小_嵌入式开发入门-从STM32CudeMX、FreeRtos、Proteu仿真开始...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html body标签
- 下一篇: windows svn