1.我是選擇寄存器開發(fā)STM32,還是標(biāo)準(zhǔn)外設(shè)庫(kù)呢? 2.你有STM32L0標(biāo)準(zhǔn)外設(shè)庫(kù)嗎? 3.HAL庫(kù)和LL庫(kù)有什么差異? 。。。 下面就來講講開發(fā)STM32的四種庫(kù):
STM32Snippets
Standard Peripheral Library
STM32Cube LL
STM32Cube HAL
1
STM32Snippets
什么是STM32Snippets?
STM32Snippets可翻譯為“代碼片段”、“裁剪”,其實(shí)他就是我們常說的“寄存器”開發(fā)STM32的底層驅(qū)動(dòng)代碼。
比如配置ADC引腳的代碼片段:
STM32Snippets是高度優(yōu)化的示例代碼集合,使用符合CMSIS的直接寄存器訪問來減少代碼開銷,從而在各種應(yīng)用程序中最大化STM32 MCUs的性能。
STM32Snippets主要針對(duì)底層開發(fā)人員,或者從51轉(zhuǎn)過來,直接操作寄存器開發(fā)的人員。是沒有經(jīng)過封裝,可見底層寄存器的一套示例代碼。
每個(gè)STM32系列的100多個(gè)片段演示了如何以最小的內(nèi)存占用有效地使用STM32外圍設(shè)備。
STM32Snippets目前官方只提供:STM32F0和L0的示例代碼包。
提供的示例代碼有點(diǎn)類似標(biāo)準(zhǔn)外設(shè)庫(kù)風(fēng)格,給大家看下F0的代碼包:
2
Standard Peripheral Library
Standard Peripheral Library:簡(jiǎn)寫SPL,也叫標(biāo)準(zhǔn)外設(shè)庫(kù)。
相信學(xué)習(xí)過STM32的朋友,對(duì)標(biāo)準(zhǔn)外設(shè)庫(kù)都不陌生,是一組外圍設(shè)備的C語(yǔ)言代碼集合。(因?yàn)楝F(xiàn)在ST官方主推STM32CubeMX,所以停止了對(duì)SPL的更新) 標(biāo)準(zhǔn)外設(shè)庫(kù)是在寄存器的基礎(chǔ)上進(jìn)行了一次簡(jiǎn)單封裝,主要是面向過程的嵌入式系統(tǒng)開發(fā)人員。
目前標(biāo)準(zhǔn)外設(shè)庫(kù)支持STM32F0、 F1、 F2、 F3、 F4、 L1,不支持F7、 H7、 MP1、L0、 L4、 L5、 G0、G4等后面推出的系列。
所以,不要再問:在哪里下載L0的標(biāo)準(zhǔn)外設(shè)庫(kù)了。
3
STM32Cube LL 和 HAL
LL:Low-Layer,底層庫(kù)
HAL:Hardware Abstraction Layer,硬件抽象層庫(kù)
STM32Cube HAL 和 LL配合STM32CubeMX工具對(duì)STM32進(jìn)行開發(fā)。也是目前ST官方主推的一套開發(fā)STM32的庫(kù)。
HAL針對(duì)的是具有一定嵌入式基礎(chǔ)的開發(fā)人員,HAL具有很好的移植性。
LL庫(kù)相對(duì)HAL,具有簡(jiǎn)單的結(jié)構(gòu),針對(duì)之前從事SPL(標(biāo)準(zhǔn)外設(shè)庫(kù)),或寄存器開發(fā)的人員。
STM32Cube HAL 和 LL是目前官方主推,并重點(diǎn)維護(hù)和更新的庫(kù),也建議大家都學(xué)習(xí)一下。而且新出來的型號(hào)(如L5、G4等系列)沒有標(biāo)準(zhǔn)外設(shè)庫(kù),只有STM32Cube HAL 和 LL庫(kù)了。
4
四種庫(kù)對(duì)比
來自官方的對(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)注
31文章
5250瀏覽量
119192 -
STM32
+關(guān)注
關(guān)注
2257文章
10826瀏覽量
352431 -
MCU芯片
+關(guān)注
關(guān)注
3文章
242瀏覽量
11253 -
HAL庫(kù)
+關(guān)注
關(guān)注
1文章
114瀏覽量
6030
原文標(biāo)題:STM32四種庫(kù)對(duì)比:寄存器、標(biāo)準(zhǔn)外設(shè)庫(kù)、HAL、LL
文章出處:【微信號(hào):mcu168,微信公眾號(hào):硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論