STM32四種庫(kù)對(duì)比:寄存器、標(biāo)準(zhǔn)外設(shè)庫(kù)、HAL、LL
資料介紹
1.我是選擇寄存器開(kāi)發(fā)STM32,還是標(biāo)準(zhǔn)外設(shè)庫(kù)呢?
2.你有STM32L0標(biāo)準(zhǔn)外設(shè)庫(kù)嗎?
3.HAL庫(kù)和LL庫(kù)有什么差異?
下面就來(lái)講講開(kāi)發(fā)STM32的四種庫(kù):
- STM32Snippets
- Standard Peripheral Library
- STM32Cube LL
- STM32Cube?HAL
1、STM32Snippets
什么是STM32Snippets?
STM32Snippets可翻譯為“代碼片段”、“裁剪”,其實(shí)他就是我們常說(shuō)的“寄存器”開(kāi)發(fā)STM32的底層驅(qū)動(dòng)代碼。
比如配置ADC引腳的代碼片段:
__INLINE void ConfigureGPIOforADC(void) { /* (1) Enable the peripheral clock of GPIOA, GPIOB and GPIOC */ /* (2) Select analog mode for PA1 */ /* (3) Select analog mode for PB1 */ /* (4) Select analog mode for PC0 */ RCC->AHBENR |= RCC_AHBENR_GPIOAEN | RCC_AHBENR_GPIOBEN | RCC_AHBENR_GPIOCEN; /* (1) */ GPIOA->MODER |= GPIO_MODER_MODER1; /* (2) */ GPIOB->MODER |= GPIO_MODER_MODER1; /* (3) */ GPIOC->MODER |= GPIO_MODER_MODER0; /* (4) */ }
STM32Snippets是高度優(yōu)化的示例代碼集合,使用符合CMSIS的直接寄存器訪問(wèn)來(lái)減少代碼開(kāi)銷(xiāo),從而在各種應(yīng)用程序中最大化STM32 MCUs的性能。
STM32Snippets主要針對(duì)底層開(kāi)發(fā)人員,或者從51轉(zhuǎn)過(guò)來(lái),直接操作寄存器開(kāi)發(fā)的人員。 是沒(méi)有經(jīng)過(guò)封裝,可見(jiàn)底層寄存器的一套示例代碼。
每個(gè)STM32系列的100多個(gè)片段演示了如何以最小的內(nèi)存占用有效地使用STM32外圍設(shè)備。
地址:
https://www.st.com/en/embedded-software/stm32snippets.html
STM32Snippets目前官方只提供:STM32F0和L0的示例代碼包。
提供的示例代碼有點(diǎn)類(lèi)似標(biāo)準(zhǔn)外設(shè)庫(kù)風(fēng)格,給大家看下F0的代碼包:
2、Standard Peripheral Library
Standard Peripheral Library:簡(jiǎn)寫(xiě)SPL,也叫標(biāo)準(zhǔn)外設(shè)庫(kù)。
相信學(xué)習(xí)過(guò)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)單封裝,主要是面向過(guò)程的嵌入式系統(tǒng)開(kāi)發(fā)人員。
地址:
https://www.st.com/en/embedded-software/stm32-standard-peripheral-libraries.html
目前標(biāo)準(zhǔn)外設(shè)庫(kù)支持STM32F0、 F1、 F2、 F3、 F4、 L1, 不支持F7、 H7、 MP1、L0、 L4、 L5、 G0、G4等后面推出的系列。
所以,不要再問(wèn):在哪里下載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)行開(kāi)發(fā)。也是目前ST官方主推的一套開(kāi)發(fā)STM32的庫(kù)。
HAL針對(duì)的是具有一定嵌入式基礎(chǔ)的開(kāi)發(fā)人員,HAL具有很好的移植性。
LL庫(kù)相對(duì)HAL,具有簡(jiǎn)單的結(jié)構(gòu),針對(duì)之前從事SPL(標(biāo)準(zhǔn)外設(shè)庫(kù)),或寄存器開(kāi)發(fā)的人員。
地址:
https://www.st.com/en/development-tools/stm32cubemx.html
STM32Cube HAL 和 LL是目前官方主推,并重點(diǎn)維護(hù)和更新的庫(kù),也建議大家都學(xué)習(xí)一下。而且新出來(lái)的型號(hào)(如L5、G4等系列)沒(méi)有標(biāo)準(zhǔn)外設(shè)庫(kù),只有STM32Cube HAL 和 LL庫(kù)了。
4、四種庫(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ì)你有所幫助!
- STM32標(biāo)準(zhǔn)外設(shè)庫(kù)遷移至STM32Cube底層庫(kù) 0次下載
- stm32 hal庫(kù)資料分享 120次下載
- STM32的HAL庫(kù)分析及使用
- 【STM32】標(biāo)準(zhǔn)庫(kù)與HAL庫(kù)對(duì)照學(xué)習(xí)教程特別篇--GPIO詳講
- 寄存器與靜態(tài)庫(kù)
- 【STM32】STM32標(biāo)準(zhǔn)庫(kù)與HAL庫(kù)對(duì)照學(xué)習(xí)教程一--使用寄存器操控LED閃爍詳講
- STM32CubeMX的使用
- [學(xué)習(xí)筆記](méi)STM32F1 SYSTICK 滴答定時(shí)器(寄存器、標(biāo)準(zhǔn)庫(kù)、HAL庫(kù))
- STM32 HAL庫(kù)與標(biāo)準(zhǔn)庫(kù)的區(qū)別_淺談句柄、MSP函數(shù)、Callback函數(shù)
- STM32CubeMX系列教程01_STM32Cube產(chǎn)品介紹
- 《嵌入式-STM32開(kāi)發(fā)指南》第一部分 入門(mén)篇 - 第7章 STM32固件庫(kù)與STM32Cube產(chǎn)品介紹
- 【STM32單片機(jī)學(xué)習(xí)】第五課:STM32標(biāo)準(zhǔn)外設(shè)庫(kù)(SPL 庫(kù))
- STM32的HAL庫(kù)分析及使用
- STM32 LL庫(kù)使用指南 227次下載
- STM32寄存器—外設(shè)驅(qū)動(dòng)x_實(shí)驗(yàn)四 0次下載
- 基于LL庫(kù)實(shí)現(xiàn)STM32U5 LPTIM功能 1658次閱讀
- STM32基于標(biāo)準(zhǔn)外設(shè)庫(kù)的外部中斷配置 2032次閱讀
- STM32基于HAL庫(kù)實(shí)現(xiàn)微秒延時(shí) 5741次閱讀
- STM32的HAL庫(kù)與標(biāo)準(zhǔn)庫(kù)的區(qū)別 4473次閱讀
- STM32 HAL庫(kù)串口收發(fā)如何使用 6445次閱讀
- 講講開(kāi)發(fā)STM32的四種庫(kù) 4615次閱讀
- STM32的三種開(kāi)發(fā)方式 HAL庫(kù)固件庫(kù)安裝與用戶手冊(cè) 4112次閱讀
- STM32 HAL庫(kù)與標(biāo)準(zhǔn)庫(kù)的區(qū)別 1.5w次閱讀
- 四種門(mén)電路符號(hào)的詳細(xì)對(duì)比 1.3w次閱讀
- STM32標(biāo)準(zhǔn)外設(shè)庫(kù)的文件結(jié)構(gòu)解析 7684次閱讀
- 探究STM32Cube LL為何能高效的原因 6237次閱讀
- 入門(mén)有必要選擇STM32Cube HAL庫(kù)開(kāi)發(fā)嗎? 1.6w次閱讀
- STM32系列MCU,寫(xiě)寄存器Or利用固件庫(kù) 7289次閱讀
- 關(guān)于stm32跑馬燈的程序 1.2w次閱讀
- STM32標(biāo)準(zhǔn)庫(kù)改為HAL庫(kù)的程序?qū)崿F(xiàn) 3.4w次閱讀
下載排行
本周
- 1TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開(kāi)關(guān)電源基礎(chǔ)知識(shí)
- 5.73 MB | 6次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計(jì)
- 0.60 MB | 3次下載 | 免費(fèi)
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 0.61 MB | 2次下載 | 免費(fèi)
- 6基于FPGA的C8051F單片機(jī)開(kāi)發(fā)板設(shè)計(jì)
- 0.70 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21548次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
- 0.00 MB | 6653次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191185次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183278次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多