實現(xiàn)目標(biāo)
1、熟悉STM32開發(fā)常用的三種模式
一、STM32開發(fā)常用的三種模式
????????STM32常用的開發(fā)模式有三種:基于寄存器開發(fā)、基于標(biāo)準(zhǔn)外設(shè)庫開發(fā)、基于STM32CubeMX+HAL/LL開發(fā)。通常我們學(xué)習(xí)STM32的時候,首先都得先選擇一種開發(fā)模式,不同的開發(fā)模式會導(dǎo)致編程的架構(gòu)完全不一樣。
1、 基于寄存器開發(fā)模式(STM32 Snippets)
????????STM32 Snippets是高度優(yōu)化的示例代碼集合,使用符合CMSIS的直接寄存器訪問來減少代碼開銷,從而在各種應(yīng)用程序中最大化STM32 MCUs的性能。STM32Snippets主要針對底層開發(fā)人員,或者從51轉(zhuǎn)過來,直接操作寄存器開發(fā)的人員。目前只在 STM32F0 和 STM32L0 系列中有提供。關(guān)于STM32F1系列基于寄存器開發(fā)資料正點原子公司有提供。
2、基于標(biāo)準(zhǔn)庫開發(fā)模式(SPL)
????????標(biāo)準(zhǔn)庫全名叫標(biāo)準(zhǔn)外設(shè)庫(Standard Peripheral Library),其實標(biāo)準(zhǔn)庫所做的事情就是對寄存器進行了封裝,形成了一套API函數(shù)供用戶使用。主要是面向過程的嵌入式系統(tǒng)開發(fā)人員。通過標(biāo)準(zhǔn)外設(shè)庫,開發(fā)者無需深入掌握底層硬件的細節(jié)就可以輕松地驅(qū)動外設(shè),快速部署應(yīng)用。因此,使用標(biāo)準(zhǔn)外設(shè)庫可以減少開發(fā)者驅(qū)動片內(nèi)外設(shè)的編程工作量,降低時間成本。由于現(xiàn)在ST官方主推STM32CubeMX,所以停止了對SPL的更新。
3、 基于STM32CubeMX+HAL/LL開發(fā)模式
????????HAL:Hardware Abstraction Layer,硬件抽象層庫。是目前ST官方主推的一套開發(fā)STM32的庫。HAL針對的是具有一定嵌入式基礎(chǔ)的開發(fā)人員,HAL具有很好的移植性。目前,HAL 庫已經(jīng)支持 STM32 全系列產(chǎn)品,它是ST 公司未來主推的庫。
????????此外,為了配合HAL庫的開發(fā)應(yīng)用,ST 公司還發(fā)布了一個新的軟件開發(fā)工具產(chǎn)品:STM32CubeTM。這個產(chǎn)品由 PC 端的圖形化配置與代碼生成工具 STM32CubeMX、嵌入式軟件庫函數(shù)(HAL 庫與LL 庫)以及一系列的中間件集合(RTOS、USB 庫、文件系統(tǒng)、TCP/IP協(xié)議棧和圖形庫等)構(gòu)成。STM32CubeMX+HAL/LL開發(fā)模式大大減少了開發(fā)人員的工作量,提高程序開發(fā)的效率。
????????LL(Low Layer)庫是 ST 最近新增的庫,與HAL 庫捆綁發(fā)布,其說明文檔也與 HAL文檔編寫在一起。STM32Cube HAL 和 LL配合STM32CubeMX工具對STM32進行開發(fā)。LL庫相對HAL庫,具有簡單的結(jié)構(gòu),針對之前從事SPL(標(biāo)準(zhǔn)外設(shè)庫),或寄存器開發(fā)的人員。LL 庫近似于原來的標(biāo)準(zhǔn)外設(shè)庫移植到 STM32CubeMX下的新的實現(xiàn),但是其實現(xiàn)方法更加高效、簡潔。
二、三種模式優(yōu)缺點對比
開發(fā)模式名稱 |
優(yōu)點 |
缺點 |
基于寄存器(STM32Snippets) |
|
|
基于 標(biāo)準(zhǔn)外設(shè)庫(SPL) |
|
|
基于STM32CubeMX+HAL文章來源:http://www.zghlxwxcb.cn/news/detail-860906.html |
|
|
????????由上表可知基于STM32CubeMX+HAL開發(fā)的優(yōu)點非常明顯,再加上近年來,ST公司已不再為其推出的新品微控制器配備對應(yīng)的標(biāo)準(zhǔn)外設(shè)庫。而STM32CubeMX +HAL已為ST 公司目前主推的一種開發(fā)模式,對此,為了順應(yīng)技術(shù)發(fā)展的潮流,我們選擇基于STM32CubeMX+HAL開發(fā)模式。文章來源地址http://www.zghlxwxcb.cn/news/detail-860906.html
總結(jié)
到了這里,關(guān)于【STM32+HAL+Proteus】系列學(xué)習(xí)教程2---STM32開發(fā)模式選擇的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!