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

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

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

開發(fā)STM32的四種庫

strongerHuang ? 來源:strongerHuang ? 作者:strongerHuang ? 2020-11-20 15:56 ? 次閱讀

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主要針對底層開發(fā)人員,或者從51轉(zhuǎn)過來,直接操作寄存器開發(fā)的人員。是沒有經(jīng)過封裝,可見底層寄存器的一套示例代碼。 每個(gè)STM32系列的100多個(gè)片段演示了如何以最小的內(nèi)存占用有效地使用STM32外圍設(shè)備。 地址: https://www.st.com/en/embedded-software/stm32snippets.html

(公號(hào)不支持外鏈接,請復(fù)制鏈接到瀏覽器打開)

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

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

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

2

Standard Peripheral Library

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

相信學(xué)習(xí)過STM32的朋友,對標(biāo)準(zhǔn)外設(shè)庫都不陌生,是一組外圍設(shè)備的C語言代碼集合。(因?yàn)楝F(xiàn)在ST官方主推STM32CubeMX,所以停止了對SPL的更新) 標(biāo)準(zhǔn)外設(shè)庫是在寄存器的基礎(chǔ)上進(jì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工具對STM32進(jìn)行開發(fā)。也是目前ST官方主推的一套開發(fā)STM32的庫。

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

LL庫相對HAL,具有簡單的結(jié)構(gòu),針對之前從事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

四種庫對比

來自官方的對比信息,包含可移植性、優(yōu)化、難易程度等。

其中:

Portability:可移植性

Optimization :優(yōu)化

Easy:難易程度

Hardware coverage:硬件覆蓋

定位:

支持器件:

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

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

責(zé)任編輯:xj

原文標(biāo)題:STM32四種庫對比:寄存器、標(biāo)準(zhǔn)外設(shè)庫、HAL、LL

文章出處:【微信公眾號(hào):strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

    關(guān)注

    6026

    文章

    44456

    瀏覽量

    631023
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5273

    瀏覽量

    119659
  • STM32
    +關(guān)注

    關(guān)注

    2263

    文章

    10847

    瀏覽量

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

    關(guān)注

    0

    文章

    16

    瀏覽量

    3530

原文標(biāo)題:STM32四種庫對比:寄存器、標(biāo)準(zhǔn)外設(shè)庫、HAL、LL

文章出處:【微信號(hào):strongerHuang,微信公眾號(hào):strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    雙軸測徑儀的四種樣式!

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

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

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

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

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

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

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

    如何理解IGBT的四種SOA?

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

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

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

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

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

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

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

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

    四種接近傳感器PK,誰能勝出?
    的頭像 發(fā)表于 12-07 09:28 ?1432次閱讀
    <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)和兩對PN結(jié)構(gòu)成。
    的頭像 發(fā)表于 11-30 15:56 ?2746次閱讀
    <b class='flag-5'>四種</b>半導(dǎo)體器件基本結(jié)構(gòu)

    GPIO的四種輸入模式介紹

    32位寄存器共同控制。 輸出和輸入都是針對芯片引腳來講的(即引腳的對外輸出,和外界對引腳的輸入)。 四種輸入模式介紹 輸入模式下可讀取端口的高低電平或電壓。例如各類傳感器(使用ADC功能),如果要將獲取的電平傳送給單片機(jī)的某一個(gè)引腳,那就要將這個(gè)引腳設(shè)置為輸入模式。 1、GPIO_Mode_AIN 模擬輸
    的頭像 發(fā)表于 11-09 16:51 ?5936次閱讀
    GPIO的<b class='flag-5'>四種</b>輸入模式介紹

    STM32開發(fā)實(shí)戰(zhàn)指南

    STM32開發(fā)實(shí)戰(zhàn)指南-劉火良,電子 epub格式,清晰非掃描
    發(fā)表于 10-27 16:25 ?20次下載

    STM32 HAL串口收發(fā)是如何使用的?

    STM32 HAL串口收發(fā)是如何使用的? STM32是一款高性能的微控制器,它擁有廣泛的應(yīng)用領(lǐng)域,其中包括了各種通訊應(yīng)用,如UART串口通訊。HAL是ST公司為了方便
    的頭像 發(fā)表于 10-26 17:42 ?1135次閱讀