關(guān)注我的朋友中,初學(xué)者比較多,今天就寫(xiě)點(diǎn)基礎(chǔ)知識(shí)。
1寫(xiě)在前面
陸續(xù)收到一些朋友的問(wèn)題:
1.我是選擇寄存器開(kāi)發(fā)STM32,還是標(biāo)準(zhǔn)外設(shè)庫(kù)呢?
2.你有STM32L0標(biāo)準(zhǔn)外設(shè)庫(kù)嗎?
3.HAL庫(kù)和LL庫(kù)有什么差異?
。。。
針對(duì)STM32開(kāi)發(fā)使用的嵌入式軟件,或者我們說(shuō)的庫(kù),可以分為四類:
STM32Snippets
Standard Peripheral Library
STM32Cube HAL
STM32Cube LL
下面就寫(xiě)一下關(guān)于這四種庫(kù)的相關(guān)內(nèi)容、以及對(duì)比應(yīng)用等。
2
STM32Snippets
什么是STM32Snippets?
STM32Snippets是高度優(yōu)化的代碼示例集合,使用符合CMSIS的直接寄存器訪問(wèn)來(lái)減少代碼開(kāi)銷,從而在各種應(yīng)用程序中最大化STM32 MCUs的性能。
每個(gè)STM32系列的100多個(gè)片段演示了如何以最小的內(nèi)存占用有效地使用STM32外圍設(shè)備。
地址:
https://www.st.com/en/embedded-software/stm32snippets.html?querycriteria=productId=LN1898
STM32Snippets可以理解為我們常說(shuō)的“寄存器”開(kāi)發(fā)STM32的底層驅(qū)動(dòng)代碼。
主要針對(duì)的底層開(kāi)發(fā)人員,或者從51轉(zhuǎn)過(guò)來(lái),直接操作寄存器開(kāi)發(fā)的人員。 是沒(méi)有經(jīng)過(guò)封裝,可見(jiàn)底層寄存器的一套示例代碼。
STM32Snippets目前官方只提供:STM32F0和L0的示例代碼包。
3
Standard Peripheral Library
Standard Peripheral Library:簡(jiǎn)寫(xiě)SPL,也叫標(biāo)準(zhǔn)外設(shè)庫(kù)。
標(biāo)準(zhǔn)外設(shè)庫(kù)相信學(xué)習(xí)過(guò)STM32的朋友都不陌生,是一組外圍設(shè)備的C語(yǔ)言代碼集合。
標(biāo)準(zhǔn)外設(shè)庫(kù)是在寄存器的基礎(chǔ)上進(jìn)行了一次簡(jiǎn)單封裝,主要是面向過(guò)程的嵌入式系統(tǒng)開(kāi)發(fā)人員。
地址:
https://www.st.com/en/embedded-software/stm32-standard-peripheral-libraries.html?querycriteria=productId=LN1939
目前標(biāo)準(zhǔn)外設(shè)庫(kù)支持STM32F0、 F1、 F2、 F3、 F4、 L1,不支持F7、 H7、 L0、 L4、 G0等系列。
所以,不要再問(wèn):在哪里下載L0的標(biāo)準(zhǔn)外設(shè)庫(kù)了。
4
STM32Cube HAL 和 LL
HAL:Hardware Abstraction Layer,硬件抽象層庫(kù)
LL:Low-Layer,底層庫(kù)
STM32Cube HAL 和 LL配合STM32CubeMX工具對(duì)STM32進(jìn)行開(kāi)發(fā)。
HAL針對(duì)的是具有一定嵌入式基礎(chǔ)的開(kāi)發(fā)人員,HAL具有很好的移植性。
LL庫(kù)相對(duì)HAL,具有簡(jiǎn)單的結(jié)構(gòu),針對(duì)之前從事SPL,或寄存器開(kāi)發(fā)的人員。
地址:
https://www.st.com/stm32cubemx
最近新增了STM32Cube MP1。
STM32Cube HAL 和 LL是目前官方重點(diǎn)維護(hù)和更新的庫(kù),也建議大家都學(xué)習(xí)一下。而且新出來(lái)的型號(hào)(如L4、G0等)就只有STM32Cube HAL 和 LL庫(kù)了。
5
四種庫(kù)對(duì)比
來(lái)自官方的對(duì)比信息,包含可移植性、優(yōu)化、難以程度等。
其中:
Portability:可移植性
Optimization :優(yōu)化
Easy:難易程度
Hardware coverage:硬件覆蓋
定位:
支持器件:
最近新增了STM32Cube MP1,官方?jīng)]有統(tǒng)計(jì)上。
庫(kù)之間的轉(zhuǎn)移:
本文就到這里,希望以上內(nèi)容對(duì)你有所幫助!
-
嵌入式
+關(guān)注
關(guān)注
5143文章
19561瀏覽量
315444 -
STM32
+關(guān)注
關(guān)注
2290文章
11018瀏覽量
362703 -
stm32cubemx
+關(guān)注
關(guān)注
5文章
286瀏覽量
16006 -
HAL庫(kù)
+關(guān)注
關(guān)注
1文章
121瀏覽量
6777
發(fā)布評(píng)論請(qǐng)先 登錄
嵌入式開(kāi)發(fā)入門(mén)指南:從零開(kāi)始學(xué)習(xí)嵌入式
嵌入式軟件行業(yè)增長(zhǎng)驅(qū)動(dòng)因素
嵌入式適合自學(xué)嗎?
STM32開(kāi)發(fā)入門(mén)進(jìn)階必備!《STM32嵌入式系統(tǒng)開(kāi)發(fā)—基于STM32CubeMX和HAL庫(kù)》新書(shū)發(fā)布!

嵌入式機(jī)器學(xué)習(xí)的應(yīng)用特性與軟件開(kāi)發(fā)環(huán)境

清華大學(xué)出版社推出RT-Thread新作,助力嵌入式開(kāi)發(fā)人才培養(yǎng)

嵌入式系統(tǒng)開(kāi)發(fā)與硬件的關(guān)系 嵌入式系統(tǒng)開(kāi)發(fā)常見(jiàn)問(wèn)題解決
HAL庫(kù)在嵌入式系統(tǒng)中的應(yīng)用
嵌入式學(xué)習(xí)建議
什么是嵌入式?一文讀懂嵌入式主板
EsDA,一站式嵌入式軟件

嵌入式開(kāi)發(fā)常用軟件有哪些?
一種常用嵌入式開(kāi)發(fā)代碼庫(kù)

七大嵌入式GUI盤(pán)點(diǎn)
嵌入式軟件開(kāi)發(fā)與AI整合

評(píng)論