亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

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

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

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

SPL2LL轉(zhuǎn)換器實(shí)現(xiàn)標(biāo)準(zhǔn)庫(kù)代碼遷移為L(zhǎng)L庫(kù)的方法與內(nèi)容

電子工程師 ? 來(lái)源:嵌入式專(zhuān)欄 ? 作者:strongerHuang ? 2021-04-24 09:30 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

早期開(kāi)發(fā)STM32,大部分工程師都是基于標(biāo)準(zhǔn)庫(kù)進(jìn)行開(kāi)發(fā),如果要換成LL庫(kù),且需要復(fù)用以前代碼,該怎么辦呢?

下面就來(lái)給大家分享一下使用【SPL2LL轉(zhuǎn)換器】實(shí)現(xiàn)標(biāo)準(zhǔn)庫(kù)代碼遷移為L(zhǎng)L庫(kù)的方法,以及相關(guān)內(nèi)容。

1關(guān)于LL庫(kù)

LL庫(kù),即STM32Cube Low-Layer,也叫Cube LL、Cube底層庫(kù)等。

開(kāi)發(fā)STM32通常有四種“庫(kù)”,可以閱讀之前分享的文章進(jìn)一步了解。

早在2014年,ST推出了STM32CubeMX這款工具,同步推出了對(duì)應(yīng)的STM32Cube HAL庫(kù)。

但是,HAL存在一些問(wèn)題:代碼量大、執(zhí)行效率低等缺點(diǎn)。

因此,在2017年,ST推出了STM32Cube LL庫(kù),目的就是為了解決的HAL庫(kù)的缺點(diǎn),讓開(kāi)發(fā)STM32的工程師有更多的選擇。

之前有工程師總結(jié)了的代碼性能:

6FrIny.jpeg

針對(duì)上圖(Flash、 SRAM 占用量和執(zhí)行代碼的效率這三項(xiàng)指標(biāo)對(duì)比測(cè)試)簡(jiǎn)單講幾點(diǎn):

1.ROM代碼和RAM占用量最小的屬于直接操作寄存器WED,對(duì)于ROM資源較小的芯片具有優(yōu)勢(shì);

2.執(zhí)行效率最高的也屬于WED,但是代碼編輯、移植性和可讀寫(xiě)都較差。(其實(shí)匯編語(yǔ)言比這還有優(yōu)勢(shì),一般沒(méi)有特殊要求,不建議使用該寄存器編程

3.三項(xiàng)指標(biāo)中,除了WED之外,SPL和Cube LL相近(不相上下),也相比Cube HAL就有優(yōu)勢(shì)。所以,SPL和Cube LL是四種之中最佳選擇的兩種。

4.SPL和Cube LL各有特點(diǎn):SPL庫(kù)成熟,可讀性(特別針對(duì)初學(xué)者)很好,查找問(wèn)題也方便;Cube LL可以使用STM32CubeMX圖形化工具直接生產(chǎn)初始化代碼和工程,在這方便也具有明顯優(yōu)勢(shì)。

2為什么要用LL庫(kù)?

上面講述了關(guān)于LL庫(kù),以及其他幾種庫(kù)的內(nèi)容,你會(huì)發(fā)現(xiàn),幾種庫(kù)開(kāi)發(fā)STM32各有各的優(yōu)勢(shì)。

1.對(duì)于RAM和Flash這種資源比較少的STM32,除了用標(biāo)準(zhǔn)外設(shè)庫(kù)之外,LL庫(kù)就是一個(gè)很好的選擇。

2.使用LL庫(kù)配置的代碼,相對(duì)自己參考寄存器手冊(cè)配置的代碼,LL庫(kù)API接口更規(guī)范,更具有移植性。

3.有些芯片,沒(méi)有標(biāo)準(zhǔn)外設(shè)庫(kù),只有早期推出的STM32才有標(biāo)準(zhǔn)外設(shè)庫(kù),包含F(xiàn)0、 F1、 F2、 F3、 F4、 L1:

M7BNZr.jpeg

新出來(lái)的(像F7、L4、G0等)這些芯片只能使用目前的HAL、LL庫(kù),或者你自己參考手冊(cè)配置寄存器(不是特殊情況,我不建議自己配寄存器)。

3利用SPL2LL工具轉(zhuǎn)換代碼

SPL2LL,即標(biāo)準(zhǔn)外設(shè)庫(kù)轉(zhuǎn)LL庫(kù)的轉(zhuǎn)換器工具。

SPL2LL主要特點(diǎn):

免費(fèi)

顯示源代碼遷移狀態(tài)

生成C代碼,適用于IAR,Keil和GCC編譯器

支持Windows、Linux和MacOS操作系統(tǒng)

網(wǎng)址包含相關(guān)文檔和SPL2LL工具。

1.ActivePerl下載安裝 在使用SPL2LL工具之前,需要安裝【ActivePerl】這個(gè)工具,不然會(huì)提示錯(cuò)誤:

Error : cannot find perl, please verify that you have perl (》5.24.1) installed and added to path

Then restart the application

YrIJNf.png

如果覺(jué)得下載麻煩,可以在我網(wǎng)盤(pán):

https://pan.baidu.com/s/1_R21S93V9hzlJ8ZL1D4dKA

提取碼: cp37

(包含SPL2LL和ActivePerl工具)

2.安裝

SPL2LL工具不需要安裝,直接點(diǎn)開(kāi)即可使用,但前提需要安裝【ActivePerl】工具。

【ActivePerl】安裝比較簡(jiǎn)單,一路Next下去即可。

3YzqUz.png

aUBVna.png

ARBJ3m.png

QfIFZ3.png

3.使用SPL2LL

SPL2LL使用方法很簡(jiǎn)單,選在源和目標(biāo)的型號(hào)、路徑,然后執(zhí)行即可。

IVza63.png

選擇好之后,點(diǎn)擊“Migrate”即可執(zhí)行轉(zhuǎn)換。

AjMfuy.png

這里需要耐心等待,比較費(fèi)時(shí)間,原理就是遍歷你源碼中標(biāo)準(zhǔn)庫(kù),然后轉(zhuǎn)換成LL庫(kù)。

4.轉(zhuǎn)化代碼前后對(duì)比

RZz6Zr.png

你會(huì)發(fā)現(xiàn),即使被屏蔽的代碼也進(jìn)行了SPL轉(zhuǎn)LL。
編輯:lyn

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

    關(guān)注

    27

    文章

    9314

    瀏覽量

    154800
  • STM32
    +關(guān)注

    關(guān)注

    2302

    文章

    11111

    瀏覽量

    370387
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4932

    瀏覽量

    72841
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    STM32已經(jīng)用標(biāo)準(zhǔn)庫(kù)寫(xiě)好的代碼,怎么導(dǎo)入RT THREAD?

    之前已經(jīng)在裸機(jī)上實(shí)現(xiàn)了SAE J1939協(xié)議,因?yàn)橐砑覫OT 功能,現(xiàn)在想添加RT THREAD.因?yàn)橹皩?xiě)裸機(jī)程序的時(shí)候用的是標(biāo)準(zhǔn)庫(kù)。而RT THREAD STUDIO自動(dòng)生成的是HAL庫(kù)
    發(fā)表于 09-19 06:16

    怎么用LL命令讀取SPI?

    用cubemx構(gòu)建工程,MDK開(kāi)發(fā),這個(gè)項(xiàng)目采用AD4020 20位2MSPS外置ADC,ADC轉(zhuǎn)換速率高達(dá)0.5us,而STM32H5用HAL的HAL_SPI_Receive(&
    發(fā)表于 09-09 08:17

    為什么要選擇采用TO-LL封裝的意法半導(dǎo)體SiC MOSFET

    采用TO-LL封裝的意法半導(dǎo)體SiC MOSFET將第3代STPOWER SiC技術(shù)的固有特性與TO-LL封裝出色的散熱和電流性能集于一身。這些設(shè)計(jì)元素共同實(shí)現(xiàn)了出色的開(kāi)關(guān)性能、可靠性和熱管理功能,而附加的Kelvin源引線(xiàn)則可
    的頭像 發(fā)表于 06-09 09:57 ?725次閱讀

    基于STM32 HAL庫(kù)標(biāo)準(zhǔn)庫(kù)的esp8266接入機(jī)智云方案(二)

    ,我們還將討論如何移植HAL庫(kù)標(biāo)準(zhǔn)庫(kù)實(shí)現(xiàn)與機(jī)智云的兼容,幫助開(kāi)發(fā)者更高效地完成項(xiàng)目的云平臺(tái)接入。代碼下載注意:此時(shí)手機(jī)app端的該設(shè)備
    的頭像 發(fā)表于 05-28 18:02 ?981次閱讀
    基于STM32 HAL<b class='flag-5'>庫(kù)</b>與<b class='flag-5'>標(biāo)準(zhǔn)</b><b class='flag-5'>庫(kù)</b>的esp8266接入機(jī)智云方案(二)

    STM32已經(jīng)用標(biāo)準(zhǔn)庫(kù)寫(xiě)好的代碼,怎么導(dǎo)入RT THREAD?

    之前已經(jīng)在裸機(jī)上實(shí)現(xiàn)了SAE J1939協(xié)議,因?yàn)橐砑覫OT 功能,現(xiàn)在想添加RT THREAD.因?yàn)橹皩?xiě)裸機(jī)程序的時(shí)候用的是標(biāo)準(zhǔn)庫(kù)。而RT THREAD STUDIO自動(dòng)生成的是HAL庫(kù)
    發(fā)表于 05-27 06:01

    PCB標(biāo)準(zhǔn)封裝庫(kù)文件

    PCB標(biāo)準(zhǔn)封裝庫(kù)文件
    發(fā)表于 05-22 17:43 ?8次下載

    18個(gè)常用的強(qiáng)化學(xué)習(xí)算法整理:從基礎(chǔ)方法到高級(jí)模型的理論技術(shù)與代碼實(shí)現(xiàn)

    本來(lái)轉(zhuǎn)自:DeepHubIMBA本文系統(tǒng)講解從基本強(qiáng)化學(xué)習(xí)方法到高級(jí)技術(shù)(如PPO、A3C、PlaNet等)的實(shí)現(xiàn)原理與編碼過(guò)程,旨在通過(guò)理論結(jié)合代碼的方式,構(gòu)建對(duì)強(qiáng)化學(xué)習(xí)算法的全面理解。
    的頭像 發(fā)表于 04-23 13:22 ?1162次閱讀
    18個(gè)常用的強(qiáng)化學(xué)習(xí)算法整理:從基礎(chǔ)<b class='flag-5'>方法</b>到高級(jí)模型的理論技術(shù)與<b class='flag-5'>代碼</b><b class='flag-5'>實(shí)現(xiàn)</b>

    如何采集雷達(dá)流量計(jì)(SCJ-LL21)數(shù)據(jù)

    SCJ-LL21雷達(dá)流量計(jì)是一款集成雷達(dá)測(cè)速,雷達(dá)測(cè)量水位的一體化測(cè)流產(chǎn)品,利用電磁波的多普勒效應(yīng)測(cè)量水體流速,利用調(diào)頻連續(xù)波(FMCW)技術(shù)測(cè)量水位;內(nèi)部集成信號(hào)處理,專(zhuān)有的流速計(jì)算算法,可以
    的頭像 發(fā)表于 04-10 11:13 ?563次閱讀
    如何采集雷達(dá)流量計(jì)(SCJ-<b class='flag-5'>LL</b>21)數(shù)據(jù)

    如何將HAL庫(kù)轉(zhuǎn)為LL庫(kù)?

    怎么將HAL庫(kù)轉(zhuǎn)為LL庫(kù)。
    發(fā)表于 03-10 06:08

    請(qǐng)問(wèn)STM32G431 flash和can為什么沒(méi)有LL庫(kù)?

    STM32G431 flash和can為什么沒(méi)有LL庫(kù)?
    發(fā)表于 03-07 06:48

    AKI跨語(yǔ)言調(diào)用庫(kù)神助攻C/C++代碼遷移至HarmonyOS NEXT

    )開(kāi)發(fā)框架。它極大地簡(jiǎn)化了JS與C/C++之間的跨語(yǔ)言訪(fǎng)問(wèn),開(kāi)發(fā)者提供了一種邊界性編程體驗(yàn)友好的解決方案。通過(guò)AKI,開(kāi)發(fā)者可以使用讓代碼更易讀的語(yǔ)法糖,實(shí)現(xiàn)JS與C/C++之間的無(wú)障礙跨語(yǔ)言互調(diào)
    發(fā)表于 01-02 17:08

    ODX診斷數(shù)據(jù)庫(kù)轉(zhuǎn)換工具 - DDC

    問(wèn)卷直接轉(zhuǎn)換標(biāo)準(zhǔn)的ODX(2.2.0)數(shù)據(jù)庫(kù),顯著提高工作效率。還可將多個(gè)不同控制的ODX文件打包成整車(chē)級(jí)別的PDX文件,用于管控車(chē)型診斷數(shù)據(jù)庫(kù)
    的頭像 發(fā)表于 12-31 11:22 ?820次閱讀
    ODX診斷數(shù)據(jù)<b class='flag-5'>庫(kù)</b><b class='flag-5'>轉(zhuǎn)換</b>工具 - DDC

    ADS129x采用三電極,RL LL的共模電壓如何提供?

    采用三電極,(RL LL和RLD),那么RL LL的共模電壓如何提供?我收集到如下2方法: 1.10M電阻上拉到RLD輸出 2.2個(gè)10M分壓到(AVDD+AVSS)/
    發(fā)表于 12-23 07:46

    聯(lián)想Z360 QD-ll7a獨(dú)立顯卡主板電路

    聯(lián)想Z360 QD-ll7a 獨(dú)立顯卡主板
    發(fā)表于 12-20 14:45 ?2次下載

    HAL庫(kù)標(biāo)準(zhǔn)庫(kù)的區(qū)別 HAL庫(kù)與CMSIS的關(guān)系

    基本的輸入輸出、數(shù)學(xué)運(yùn)算、字符串處理等功能。這些函數(shù)是獨(dú)立于硬件平臺(tái)的,可以在不同的操作系統(tǒng)和硬件平臺(tái)上運(yùn)行。標(biāo)準(zhǔn)庫(kù)的主要目的是提供一組通用的、可移植的函數(shù),使得開(kāi)發(fā)者可以專(zhuān)注于業(yè)務(wù)邏輯的實(shí)現(xiàn),而不需要關(guān)心底層硬件的具體細(xì)節(jié)。
    的頭像 發(fā)表于 12-02 14:02 ?4152次閱讀