一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

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

1關(guān)于LL庫

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

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

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

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

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

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

6FrIny.jpeg

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

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

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

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

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

2為什么要用LL庫?

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

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

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

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

M7BNZr.jpeg

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

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

SPL2LL,即標(biāo)準(zhǔn)外設(shè)庫轉(zhuǎn)LL庫的轉(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è)工具,不然會提示錯(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

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

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

提取碼: cp37

(包含SPL2LL和ActivePerl工具)

2.安裝

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

【ActivePerl】安裝比較簡單,一路Next下去即可。

3YzqUz.png

aUBVna.png

ARBJ3m.png

QfIFZ3.png

3.使用SPL2LL

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

IVza63.png

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

AjMfuy.png

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

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

RZz6Zr.png

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

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

    關(guān)注

    27

    文章

    9049

    瀏覽量

    151757
  • STM32
    +關(guān)注

    關(guān)注

    2293

    文章

    11032

    瀏覽量

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

    關(guān)注

    30

    文章

    4900

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

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

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

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

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

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

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

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

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

    本來轉(zhuǎn)自:DeepHubIMBA本文系統(tǒng)講解從基本強(qiáng)化學(xué)習(xí)方法到高級技術(shù)(如PPO、A3C、PlaNet等)的實(shí)現(xiàn)原理與編碼過程,旨在通過理論結(jié)合代碼的方式,構(gòu)建對強(qiáng)化學(xué)習(xí)算法的全面理解。
    的頭像 發(fā)表于 04-23 13:22 ?403次閱讀
    18個(gè)常用的強(qiáng)化學(xué)習(xí)算法整理:從基礎(chǔ)<b class='flag-5'>方法</b>到高級模型的理論技術(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á)測速,雷達(dá)測量水位的一體化測流產(chǎn)品,利用電磁波的多普勒效應(yīng)測量水體流速,利用調(diào)頻連續(xù)波(FMCW)技術(shù)測量水位;內(nèi)部集成信號處理,專有的流速計(jì)算算法,可以
    的頭像 發(fā)表于 04-10 11:13 ?326次閱讀
    如何采集雷達(dá)流量計(jì)(SCJ-<b class='flag-5'>LL</b>21)數(shù)據(jù)

    HAL標(biāo)準(zhǔn)你會選擇哪種?

    HAL標(biāo)準(zhǔn)你會選擇哪種
    發(fā)表于 03-10 06:25

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

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

    請問STM32G431 flash和can為什么沒有LL?

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

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

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

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

    問卷直接轉(zhuǎn)換標(biāo)準(zhǔn)的ODX(2.2.0)數(shù)據(jù),顯著提高工作效率。還可將多個(gè)不同控制的ODX文件打包成整車級別的PDX文件,用于管控車型診斷數(shù)據(jù)
    的頭像 發(fā)表于 12-31 11:22 ?547次閱讀
    ODX診斷數(shù)據(jù)<b class='flag-5'>庫</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標(biāo)準(zhǔn)的區(qū)別 HAL與CMSIS的關(guān)系

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

    KeyStone ll設(shè)備的硬件設(shè)計(jì)指南

    電子發(fā)燒友網(wǎng)站提供《KeyStone ll設(shè)備的硬件設(shè)計(jì)指南.pdf》資料免費(fèi)下載
    發(fā)表于 10-12 14:27 ?0次下載
    KeyStone <b class='flag-5'>ll</b>設(shè)備的硬件設(shè)計(jì)指南