日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

SPL2LL轉換器實現標準庫代碼遷移為LL庫的方法與內容

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

掃碼添加小助手

加入工程師交流群

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

下面就來給大家分享一下使用【SPL2LL轉換器】實現標準庫代碼遷移為LL庫的方法,以及相關內容。

1關于LL庫

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

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

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

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

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

之前有工程師總結了的代碼性能:

6FrIny.jpeg

針對上圖(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圖形化工具直接生產初始化代碼和工程,在這方便也具有明顯優(yōu)勢。

2為什么要用LL庫?

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

1.對于RAM和Flash這種資源比較少的STM32,除了用標準外設庫之外,LL庫就是一個很好的選擇。

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

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

M7BNZr.jpeg

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

3利用SPL2LL工具轉換代碼

SPL2LL,即標準外設庫轉LL庫的轉換器工具。

SPL2LL主要特點:

免費

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

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

支持Windows、Linux和MacOS操作系統

網址包含相關文檔和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

YrIJNf.png

如果覺得下載麻煩,可以在我網盤:

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

提取碼: cp37

(包含SPL2LL和ActivePerl工具)

2.安裝

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

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

3YzqUz.png

aUBVna.png

ARBJ3m.png

QfIFZ3.png

3.使用SPL2LL

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

IVza63.png

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

AjMfuy.png

這里需要耐心等待,比較費時間,原理就是遍歷你源碼中標準庫,然后轉換成LL庫。

4.轉化代碼前后對比

RZz6Zr.png

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

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

    關注

    27

    文章

    9451

    瀏覽量

    157040
  • STM32
    +關注

    關注

    2313

    文章

    11196

    瀏覽量

    374764
  • 代碼
    +關注

    關注

    30

    文章

    4977

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    深入剖析MC9S08LL16系列MCU:特性、參數與應用指南

    深入剖析MC9S08LL16系列MCU:特性、參數與應用指南 在電子工程師的日常工作中,微控制(MCU)是設計各類電子系統的核心組件。今天,我們將深入探討Freescale
    的頭像 發(fā)表于 04-09 14:20 ?234次閱讀

    立訊精密DP80LL系列線纜通過VESA官方認證

    1 月 14 日,立訊精密研發(fā)的的USB TYPE C TO fsDP 80LL Active Cable 3M產品,成功延續(xù)其技術領先優(yōu)勢,穩(wěn)居全球首批通過 VESA 官方認證的主動式 C
    的頭像 發(fā)表于 01-23 11:27 ?1270次閱讀
    立訊精密DP80<b class='flag-5'>LL</b>系列線纜通過VESA官方認證

    深度解析SPL階段A/B分區(qū)啟動:spl_ab.c代碼全拆解

    ( Secondary Program Loader ,二級程序加載)作為系統啟動的早期階段,負責初始化硬件、選擇啟動分區(qū), spl_ab.c 正是 SPL 層處理 A/B 分區(qū)啟動的核心
    的頭像 發(fā)表于 01-20 07:07 ?1w次閱讀
    深度解析<b class='flag-5'>SPL</b>階段A/B分區(qū)啟動:<b class='flag-5'>spl</b>_ab.c<b class='flag-5'>代碼</b>全拆解

    1608 2.4G&5GHz 雙工 DPX1608LL80R2455A 技術解析

    1608 2.4G5GHz 雙工 DPX1608LL80R2455A 技術解析 在無線通信領域,雙工實現不同頻段信號分離與傳輸的關鍵器件。今天我們就來詳細解析一款 1608 2.
    的頭像 發(fā)表于 01-04 17:15 ?663次閱讀

    1608 2.4G&5GHz 雙工 DPX1608LL80R2455A 技術解析

    1608 2.4G5GHz 雙工 DPX1608LL80R2455A 技術解析 在無線通信領域,雙工實現不同頻段信號分離與合成的關鍵元件。今天我們就來詳細解析一款 1608 2.
    的頭像 發(fā)表于 12-18 16:55 ?631次閱讀

    探索Type 2LL:集Wi-Fi、藍牙和802.15.4于一體的三無線電模塊

    探索Type 2LL:集Wi-Fi、藍牙和802.15.4于一體的三無線電模塊 在當今的電子設備設計中,無線連接功能的集成度和性能至關重要。Murata的Type 2LL三無線電模塊就是這樣一款
    的頭像 發(fā)表于 12-16 15:40 ?1805次閱讀

    什么是KEIL的微(microlib)

    完全兼容標準C語言。Microlib相比于標準代碼量能少多少呢?下圖為Microlib與標準
    發(fā)表于 12-10 06:27

    標準C的區(qū)別

    主要的差異: 1.代碼(數據)量更小(對比上圖)。 2.缺少一些不常用標準庫函數,比如:文件 I/O 的庫函數。 3.微最大程度優(yōu)化代碼
    發(fā)表于 12-09 07:49

    STM32已經用標準寫好的代碼,怎么導入RT THREAD?

    之前已經在裸機上實現了SAE J1939協議,因為要添加IOT 功能,現在想添加RT THREAD.因為之前寫裸機程序的時候用的是標準。而RT THREAD STUDIO自動生成的是HAL
    發(fā)表于 09-19 06:16

    怎么用LL命令讀取SPI?

    用cubemx構建工程,MDK開發(fā),這個項目采用AD4020 20位2MSPS外置ADC,ADC轉換速率高達0.5us,而STM32H5用HAL的HAL_SPI_Receive(&
    發(fā)表于 09-09 08:17

    數據數據恢復—服務異常斷電導致Oracle數據故障的數據恢復案例

    Oracle數據故障: 某公司一臺服務上部署Oracle數據。服務意外斷電導致數據報錯,報錯
    的頭像 發(fā)表于 07-24 11:12 ?876次閱讀
    數據<b class='flag-5'>庫</b>數據恢復—服務<b class='flag-5'>器</b>異常斷電導致Oracle數據<b class='flag-5'>庫</b>故障的數據恢復案例

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

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

    基于STM32 HAL標準的esp8266接入機智云方案(二)

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

    STM32已經用標準寫好的代碼,怎么導入RT THREAD?

    之前已經在裸機上實現了SAE J1939協議,因為要添加IOT 功能,現在想添加RT THREAD.因為之前寫裸機程序的時候用的是標準。而RT THREAD STUDIO自動生成的是HAL
    發(fā)表于 05-27 06:01

    PCB標準封裝文件

    PCB標準封裝文件
    發(fā)表于 05-22 17:43 ?10次下載
    图木舒克市| 舞钢市| 新兴县| 五寨县| 道真| 新和县| 珠海市| 大渡口区| 沈阳市| 安乡县| 安徽省| 诸城市| 龙岩市| 澄迈县| 闸北区| 玉田县| 垫江县| 波密县| 华蓥市| 尼勒克县| 沧州市| 九台市| 五家渠市| 永兴县| 新干县| 河津市| 通辽市| 兴仁县| 喀喇| 长治市| 乡城县| 崇文区| 保靖县| 镇雄县| 安顺市| 大厂| 光泽县| 礼泉县| 邵阳县| 卫辉市| 曲麻莱县|