日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > > strongerHuang
[導讀]早期開發(fā)STM32,大部分工程師都是基于標準庫進行開發(fā),如果要換成LL庫,且需要復用以前代碼,該怎么辦呢?下面就來給大家分享一下使用【SPL2LL轉(zhuǎn)換器】實現(xiàn)標準庫代碼遷移為LL庫的方法,以及相關(guān)內(nèi)容。

作者?| strongerHuang

微信公眾號?|?嵌入式專欄


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


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


1關(guān)于LL庫

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


開發(fā)STM32通常有四種“庫”,可以閱讀之前分享的文章《STM32四種庫對比:寄存器、標準外設(shè)庫、HAL、LL》進一步了解。


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


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


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


之前有工程師總結(jié)了寄存器、標準外設(shè)庫、HAL、LL四種庫的代碼性能:

(來源ST社區(qū))


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

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


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


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


4.SPL和Cube LL各有特點:SPL庫成熟,可讀性(特別針對初學者)很好,查找問題也方便;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,除了用標準外設(shè)庫之外,LL庫就是一個很好的選擇。


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


3.有些芯片,沒有標準外設(shè)庫,只有早期推出的STM32才有標準外設(shè)庫,包含F0、 F1、 F2、 F3、 F4、 L1


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

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

SPL2LL,即標準外設(shè)庫轉(zhuǎn)LL庫的轉(zhuǎn)換器工具。


SPL2LL主要特點:

  • 免費

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

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

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


網(wǎng)址:

https://www.stmicroelectronics.com.cn/en/development-tools/spl2ll-converter.html


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

1.ActivePerl下載安裝 在使用SPL2LL工具之前,需要安裝ActivePerl這個工具,不然會提示錯誤:

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

Then restart the application


下載地址:

https://www.activestate.com/products/perl/downloads/


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

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

提取碼: cp37
(包含SPL2LLActivePerl工具)
2.安裝

SPL2LL工具不需要安裝,直接點開即可使用,但前提需要安裝ActivePerl工具。


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


3.使用SPL2LL

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


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

這里需要耐心等待,比較費時間,原理就是遍歷你源碼中標準庫,然后轉(zhuǎn)換成LL庫。
4.轉(zhuǎn)化代碼對比

你會發(fā)現(xiàn),即使被屏蔽的代碼也進行了SPL轉(zhuǎn)LL。
主要內(nèi)容就分享到了,希望對你有幫助。
------------ END ------------


后臺回復『STM32』『ST工具』閱讀更多相關(guān)文章。


關(guān)注 微信公眾號『嵌入式專欄』,底部菜單查看更多內(nèi)容,回復“加群”按規(guī)則加入技術(shù)交流群。

免責聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉