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的四種庫

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

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

下面就來講講開發(fā)STM32的四種庫:

STM32Snippets

Standard Peripheral Library

STM32Cube LL

STM32CubeHAL

1、STM32Snippets

什么是STM32Snippets?

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

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

每個(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è)庫風(fēng)格,給大家看下F0的代碼包:

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

2、Standard Peripheral Library

Standard Peripheral Library:簡(jiǎn)寫SPL,也叫標(biāo)準(zhǔn)外設(shè)庫。

相信學(xué)習(xí)過STM32的朋友,對(duì)標(biāo)準(zhǔn)外設(shè)庫都不陌生,是一組外圍設(shè)備的C語言代碼集合。(因?yàn)楝F(xiàn)在ST官方主推STM32CubeMX,所以停止了對(duì)SPL的更新)

標(biāo)準(zhǔn)外設(shè)庫是在寄存器的基礎(chǔ)上進(jìn)行了一次簡(jiǎn)單封裝,主要是面向過程的嵌入式系統(tǒng)開發(fā)人員。

地址:
https://www.st.com/en/embedded-software/stm32-standard-peripheral-libraries.html

目前標(biāo)準(zhǔn)外設(shè)庫支持STM32F0、 F1、 F2、 F3、 F4、 L1, 不支持F7、 H7、 MP1、L0、 L4、 L5、 G0、G4等后面推出的系列。

所以,不要再問:在哪里下載L0的標(biāo)準(zhǔn)外設(shè)庫了。

3、STM32Cube LL 和 HAL

LL:Low-Layer,底層庫
HAL:Hardware Abstraction Layer,硬件抽象層庫

STM32Cube HAL 和 LL配合STM32CubeMX工具對(duì)STM32進(jìn)行開發(fā)。也是目前ST官方主推的一套開發(fā)STM32的庫。

HAL針對(duì)的是具有一定嵌入式基礎(chǔ)的開發(fā)人員,HAL具有很好的移植性。

LL庫相對(duì)HAL,具有簡(jiǎn)單的結(jié)構(gòu),針對(duì)之前從事SPL(標(biāo)準(zhǔn)外設(shè)庫),或寄存器開發(fā)的人員。

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

STM32Cube HAL 和 LL是目前官方主推,并重點(diǎn)維護(hù)和更新的庫,也建議大家都學(xué)習(xí)一下。而且新出來的型號(hào)(如L5、G4等系列)沒有標(biāo)準(zhǔn)外設(shè)庫,只有STM32Cube HAL 和 LL庫了。

4、四種庫對(duì)比

來自官方的對(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ì)上。

庫之間的轉(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

    文章

    5294

    瀏覽量

    119814
  • STM32
    +關(guān)注

    關(guān)注

    2264

    文章

    10854

    瀏覽量

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

    關(guān)注

    2

    文章

    69

    瀏覽量

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

    關(guān)注

    0

    文章

    16

    瀏覽量

    3530
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    雙軸測(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)通過,而阻止其他頻率的信號(hào)。濾波電路根據(jù)其特性可以分為四種基本類型:低通濾波器(Low-Pass
    的頭像 發(fā)表于 08-08 16:25 ?1347次閱讀

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

    負(fù)反饋是電子系統(tǒng)中常用的一技術(shù),它通過將系統(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 ?2189次閱讀

    負(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 ?1421次閱讀

    簡(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 ?5748次閱讀

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

    介紹MCUboot支持的四種升級(jí)模式,分別是Overwrite、Swap、Direct XIP和加載到RAM中執(zhí)行。由于FSP不支持第四種——加載到RAM中執(zhí)行,因?yàn)槲覀冎攸c(diǎn)介紹前三
    的頭像 發(fā)表于 06-13 10:56 ?743次閱讀
    介紹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)行過程中可能遇到的各種情況。本文將詳細(xì)分析這四種狀態(tài)的特點(diǎn)、原因、影響以及相應(yīng)的處理措施。 一、正常
    的頭像 發(fā)表于 06-05 16:47 ?3568次閱讀

    如何理解IGBT的四種SOA?

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

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

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

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

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

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

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

    四種霍爾元件的感應(yīng)方式分別是什么呢?

    四種霍爾元件的感應(yīng)方式分別是什么呢? 霍爾元件是一基于霍爾效應(yīng)的電子元件,常用于測(cè)量磁場(chǎng)、電流和位置等物理量。根據(jù)感應(yīng)方式的不同,霍爾元件可以分為四種類型:線性霍爾元件、增量式霍爾元件、磁敏電阻
    的頭像 發(fā)表于 12-18 14:49 ?713次閱讀

    設(shè)備管理通道控制四種方式

    設(shè)備管理的主要任務(wù)之一是控制設(shè)備和內(nèi)存或處理機(jī)之間的數(shù)據(jù)傳送,外圍設(shè)備和內(nèi)存之間的輸入/輸出控制方式有四種,下面分別介紹。
    發(fā)表于 12-08 14:05 ?925次閱讀
    設(shè)備管理通道控制<b class='flag-5'>四種</b>方式

    四種接近傳感器PK,誰能勝出?

    四種接近傳感器PK,誰能勝出?
    的頭像 發(fā)表于 12-07 09:28 ?1526次閱讀
    <b class='flag-5'>四種</b>接近傳感器PK,誰能勝出?

    四種半導(dǎo)體器件基本結(jié)構(gòu)

    按施敏教授的觀點(diǎn),半導(dǎo)體器件有個(gè)最基本的結(jié)構(gòu)單元:金半接觸、PN結(jié)、異質(zhì)結(jié)、MOS結(jié)構(gòu)。所有的半導(dǎo)體器件都可以看作是這四種基本結(jié)構(gòu)的組合,比如BJT由兩個(gè)背靠背的PN結(jié)構(gòu)成,MOSFET由MOS結(jié)構(gòu)和兩對(duì)PN結(jié)構(gòu)成。
    的頭像 發(fā)表于 11-30 15:56 ?2881次閱讀
    <b class='flag-5'>四種</b>半導(dǎo)體器件基本結(jié)構(gòu)