0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

講講開發(fā)STM32的四種庫(kù)

電子設(shè)計(jì) ? 來(lái)源:電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2022-02-10 10:16 ? 次閱讀

1.我是選擇寄存器開發(fā)STM32,還是標(biāo)準(zhǔn)外設(shè)庫(kù)呢?
2.你有STM32L0標(biāo)準(zhǔn)外設(shè)庫(kù)嗎?
3.HAL庫(kù)和LL庫(kù)有什么差異?

下面就來(lái)講講開發(fā)STM32的四種庫(kù):

STM32Snippets

Standard Peripheral Library

STM32Cube LL

STM32CubeHAL

1、STM32Snippets

什么是STM32Snippets?

STM32Snippets可翻譯為“代碼片段”、“裁剪”,其實(shí)他就是我們常說(shuō)的“寄存器”開發(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的直接寄存器訪問來(lái)減少代碼開銷,從而在各種應(yīng)用程序中最大化STM32 MCUs的性能。

STM32Snippets主要針對(duì)底層開發(fā)人員,或者從51轉(zhuǎn)過(guò)來(lái),直接操作寄存器開發(fā)的人員。 是沒有經(jīng)過(guò)封裝,可見底層寄存器的一套示例代碼。

每個(gè)STM32系列的100多個(gè)片段演示了如何以最小的內(nèi)存占用有效地使用STM32外圍設(shè)備。

地址:
https://www.st.com/en/embedded-software/stm32snippets.html

STM32Snippets目前官方只提供:STM32F0和L0的示例代碼包。

提供的示例代碼有點(diǎn)類似標(biāo)準(zhǔn)外設(shè)庫(kù)風(fēng)格,給大家看下F0的代碼包:

同樣也提供Keil MDK、 IAR EWARM的工程。

2、Standard Peripheral Library

Standard Peripheral Library:簡(jiǎn)寫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)開發(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等后面推出的系列。

所以,不要再問:在哪里下載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ā)的人員。

地址:
https://www.st.com/en/development-tools/stm32cubemx.html

STM32Cube HAL 和 LL是目前官方主推,并重點(diǎn)維護(hù)和更新的庫(kù),也建議大家都學(xué)習(xí)一下。而且新出來(lái)的型號(hào)(如L5、G4等系列)沒有標(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:硬件覆蓋

定位:

100059039-113443-6.jpg

支持器件:

100059039-113444-7.jpg

最近新增了STM32Cube MP1,官方?jīng)]有統(tǒng)計(jì)上。

庫(kù)之間的轉(zhuǎn)移:

100059039-113445-8.jpg

本文就到這里,希望以上內(nèi)容對(duì)你有所幫助!

審核編輯:何安

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5343

    瀏覽量

    120348
  • STM32
    +關(guān)注

    關(guān)注

    2270

    文章

    10900

    瀏覽量

    355980
  • HAL
    HAL
    +關(guān)注

    關(guān)注

    2

    文章

    70

    瀏覽量

    12613
  • 標(biāo)準(zhǔn)外設(shè)庫(kù)

    關(guān)注

    0

    文章

    16

    瀏覽量

    3548
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    HAL庫(kù)STM32開發(fā)中的重要性

    HAL庫(kù)(Hardware Abstraction Layer Library,硬件抽象層庫(kù))在STM32開發(fā)中扮演著至關(guān)重要的角色。以下是HAL庫(kù)
    的頭像 發(fā)表于 12-02 13:35 ?324次閱讀

    DAC61404 SPI應(yīng)該是四種模式中的哪種?

    DAC61404 SPI應(yīng)該是四種模式中的哪種?
    發(fā)表于 11-27 06:18

    雙軸測(cè)徑儀的四種樣式!

    儀設(shè)計(jì)了四種外觀樣式。 45°角布置的開口測(cè)徑儀 這個(gè)樣式的雙軸測(cè)徑儀是目前大部分產(chǎn)線所使用的,樣式簡(jiǎn)單大氣。用于外徑及橢圓度尺寸的檢測(cè)。 45°角布置的閉口測(cè)徑儀 該樣式的雙軸測(cè)徑儀將上面的開口閉合
    發(fā)表于 08-27 17:42

    濾波電路的四種類型是什么

    濾波電路是電子電路中非常重要的一部分,它主要用于對(duì)信號(hào)進(jìn)行頻率選擇,即允許特定頻率范圍內(nèi)的信號(hào)通過(guò),而阻止其他頻率的信號(hào)。濾波電路根據(jù)其特性可以分為四種基本類型:低通濾波器(Low-Pass
    的頭像 發(fā)表于 08-08 16:25 ?2655次閱讀

    負(fù)反饋的四種類型是什么

    負(fù)反饋是電子系統(tǒng)中常用的一技術(shù),它通過(guò)將系統(tǒng)輸出的一部分信號(hào)以某種方式反饋到輸入端,以減小輸出信號(hào)與期望信號(hào)之間的差異,從而提高系統(tǒng)的穩(wěn)定性和性能。負(fù)反饋主要分為四種類型:電壓串聯(lián)負(fù)反饋、電壓并聯(lián)負(fù)反饋、電流串聯(lián)負(fù)反饋和電流并聯(lián)負(fù)反饋。
    的頭像 發(fā)表于 08-08 16:15 ?3875次閱讀

    負(fù)反饋的四種類型及判斷方法

    負(fù)反饋,又稱為負(fù)反饋調(diào)節(jié),是指在一個(gè)系統(tǒng)中,當(dāng)系統(tǒng)輸出的某些變化對(duì)輸入產(chǎn)生抑制作用時(shí),系統(tǒng)會(huì)自動(dòng)調(diào)節(jié)以維持穩(wěn)定狀態(tài)的現(xiàn)象。負(fù)反饋在生物、工程、經(jīng)濟(jì)等多個(gè)領(lǐng)域都有廣泛的應(yīng)用。本文將介紹負(fù)反饋的四種
    的頭像 發(fā)表于 08-02 11:01 ?2364次閱讀

    簡(jiǎn)述四種基本觸發(fā)器及其功能

    在數(shù)字電路設(shè)計(jì)中,觸發(fā)器是一基本且重要的存儲(chǔ)元件,用于存儲(chǔ)二進(jìn)制信息(即0和1)。根據(jù)功能和應(yīng)用場(chǎng)景的不同,觸發(fā)器可以分為多種類型,其中四種基本觸發(fā)器包括RS觸發(fā)器、JK觸發(fā)器、D觸發(fā)器和T觸發(fā)器。以下是對(duì)這四種基本觸發(fā)器及其
    的頭像 發(fā)表于 07-27 14:59 ?9789次閱讀

    介紹MCUboot支持的四種升級(jí)模式(2)

    介紹MCUboot支持的四種升級(jí)模式,分別是Overwrite、Swap、Direct XIP和加載到RAM中執(zhí)行。由于FSP不支持第四種——加載到RAM中執(zhí)行,因?yàn)槲覀冎攸c(diǎn)介紹前三
    的頭像 發(fā)表于 06-13 10:56 ?936次閱讀
    介紹MCUboot支持的<b class='flag-5'>四種</b>升級(jí)模式(2)

    電氣設(shè)備的狀態(tài)有哪四種

    電氣設(shè)備的狀態(tài)可以分為四種:正常狀態(tài)、異常狀態(tài)、故障狀態(tài)和緊急狀態(tài)。這四種狀態(tài)涵蓋了電氣設(shè)備在運(yùn)行過(guò)程中可能遇到的各種情況。本文將詳細(xì)分析這四種狀態(tài)的特點(diǎn)、原因、影響以及相應(yīng)的處理措施。 一、正常
    的頭像 發(fā)表于 06-05 16:47 ?4457次閱讀

    四種電源防接反電路

    防反接電路用于防止電子元器件因正負(fù)極接反而燒毀。常見的防反接電路有四種:二極管串聯(lián)、整流橋、NMOS和PMOS。二極管串聯(lián)利用二極管的單向?qū)щ娦?,整流橋則能正反接都導(dǎo)通但會(huì)消耗電能。NMOS和PMOS的防反接電路設(shè)計(jì)則通過(guò)控制電流路徑來(lái)實(shí)現(xiàn)正負(fù)極的保護(hù)。
    發(fā)表于 05-22 16:19

    如何理解IGBT的四種SOA?

    如何理解IGBT的四種SOA? IGBT的四種SOA表示了IGBT器件在不同工作狀態(tài)下的安全操作區(qū)域。這四種SOA是:Continuous SOA、Limited SOA、Pulse SOA
    的頭像 發(fā)表于 02-18 11:04 ?1090次閱讀

    四種編程語(yǔ)言之間的區(qū)別和聯(lián)系

    編程語(yǔ)言是一人與計(jì)算機(jī)之間進(jìn)行交流的方式,不同的編程語(yǔ)言有著不同的特點(diǎn)和用途。本文將對(duì)四種常見的編程語(yǔ)言——Python、Java、C++和JavaScript進(jìn)行比較,分析它們的區(qū)別和聯(lián)系。 一
    的頭像 發(fā)表于 02-05 14:16 ?1573次閱讀

    A/D轉(zhuǎn)換的四種誤差

    針對(duì)A/D轉(zhuǎn)換中可能出現(xiàn)的誤差,主要分為以下四種情況,漂移誤差、線型比例誤差、非線性誤差、非單調(diào)性誤差。還有那些能夠引起AD轉(zhuǎn)換出現(xiàn)比較大的誤差類別? 先說(shuō)AD轉(zhuǎn)換是怎么取值的,假設(shè)輸入信號(hào)0-3V
    發(fā)表于 01-30 14:19

    淺析電子負(fù)載常見的的四種工作模式

    淺析電子負(fù)載常見的的四種工作模式 電子負(fù)載是電子設(shè)備的一,用于模擬負(fù)載并測(cè)試電源的性能。它在電子行業(yè)和電力領(lǐng)域有廣泛的應(yīng)用。電子負(fù)載常見的四種工作模式是恒阻模式、恒流模式、恒壓模式和恒功率模式
    的頭像 發(fā)表于 01-22 13:43 ?2746次閱讀

    電子負(fù)載的四種功能實(shí)現(xiàn)原理

    電子負(fù)載的四種功能實(shí)現(xiàn)原理? 電子負(fù)載是一用于模擬負(fù)載、測(cè)試和評(píng)估電源、電池和其他電子設(shè)備的工具。它可以模擬電子負(fù)載的特性,并能夠提供不同的負(fù)載條件。電子負(fù)載主要通過(guò)四種功能來(lái)實(shí)現(xiàn):恒流負(fù)載、恒阻
    的頭像 發(fā)表于 01-18 14:13 ?2701次閱讀