91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

3天內不再提示

STM32標準外設庫SPL轉換成 Cube LL

黃工的嵌入式技術圈 ? 來源:黃工的嵌入式技術圈 ? 2020-03-08 12:08 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

今天分享幾點內容:

1.介紹ST推出的三種庫;

2.直接操作寄存器及三種ST庫的代碼性能對比;

3.STM32CubeMX直接生成Cube LL庫函數(shù)的方法;

4.STM32標準外設庫SPL轉換成Cube LL的方法;

1介紹ST推出的三種庫

1.標準外設庫:Standard Peripheral Libraries,簡寫SPL.

2.Cube硬件抽象層庫:STM32Cube Hardware Abstraction Layer,簡寫Cube HAL.

3.Cube底層庫:STM32Cube Low-Layer,簡寫Cube LL.

開發(fā)STM32常見的除了直接讀寫(操作)寄存器之外,就是使用ST推出的庫函數(shù)進行開發(fā)。

這三種庫中最早推出的是標準外設庫SPL,所以在推出STM32Cube HAL之前的大部分攻城獅都喜歡使用標準外設庫對STM32進行開發(fā)。

隨著STM32Cube HAL的推出,很多攻城獅(包括以前的,和新初學的)就開始著手轉入使用STM32Cube HAL進行開發(fā),原因在于可以使用STM32CubeMX這套圖形化的工程直接生成初始化代碼和相應工程文件,極大地方便和節(jié)省了攻城獅的時間。

但是,使用STM32Cube HAL開發(fā),很多攻城獅發(fā)現(xiàn)一個問題,使用STM32Cube HAL開發(fā)生成的代碼量比標準外設庫的要大,而且執(zhí)行的效率也不夠高。所以,ST團隊就著手開發(fā)了一套技能滿足標準外設庫優(yōu)點,又能滿足STM32Cube HAL優(yōu)點的庫,那就是STM32Cube LL。

STM32Cube LL是2017年推出的,目前還處于研發(fā)初期。因此,網上有許多開發(fā)者發(fā)現(xiàn)了一些問題,不過相信隨著時間的推移,這些bug都會得到解決。

2直接操作寄存器及三種ST庫的代碼性能對比

Cube LL庫的推出,就是因為發(fā)現(xiàn)了【標準外設庫】及【Cube HAL庫】存在的不足才推出。

因此,本節(jié)讓大家了解一下直接操作寄存器、標準外設庫SPL、Cube HAL庫和Cube LL庫這四種方法的代碼性能對比。

這個測試結果來自ST社區(qū),在網上搜索Cube LL都能找到,結果已經很明顯對比出來這四種方式的差異(不要說你看不來這個結果哦)。

針對上圖(GPIO翻轉、TIM PWM 輸出、ADC DMA 數(shù)據(jù)采集和DMA M2M四組數(shù)據(jù),分別對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)勢。

3STM32CubeMX直接生成Cube LL庫函數(shù)的方法

這一節(jié)內容簡述一下,主要就是你要學會使用STM32CubeMX這個圖形化工具。

我們可以使用STM32CubeMX這個工具生產Cube HAL和Cube LL兩種不同庫的代碼工程,就是需要通過配置,選擇不同的庫。

在你相關配置都就緒,準備生成代碼工程之前Project -> Settings ->Advanced Settings選擇LL即可(默認是HAL)。

零基礎的朋友可以參看下面文字:

1.STM32CubeMX介紹、下載與安裝

2.STM32CubeMX使用方法及功能介紹

3.STM32CubeMX新建工程+基本IO配置過程

4STM32標準外設庫SPL轉換成Cube LL的方法

這ST為了使更多攻城獅使用Cube LL庫,專門做了一個兼容個轉換工具,就是【SPL2LL_Converter】,它可以將你之前標準庫的代碼轉換成Cube LL庫的代碼,方法比較簡單。

SPL2LL-Converter網址:

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

在上面網址就可找到相關文檔和下載轉換工具。但需要提前安裝一個叫【ActivePerl】的工具。

activeperl下載地址:

https://www.activestate.com/activeperl/downloads

嫌麻煩的朋友可以到我的百度網盤下載:

http://pan.baidu.com/s/1dFMFwHF

提示:微信公眾號不支持外鏈接(復制鏈接到瀏覽器下載),網盤后期有可能失效。

轉換的操作比較簡單,打開轉換工具,找到需要轉換的源代碼文件夾,設置轉換后文件夾,點擊“Migrate”即可開始。

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

    關注

    31

    文章

    5608

    瀏覽量

    129931
  • STM32
    +關注

    關注

    2309

    文章

    11161

    瀏覽量

    373355
  • spl
    spl
    +關注

    關注

    0

    文章

    22

    瀏覽量

    16749
  • 標準外設庫
    +關注

    關注

    0

    文章

    16

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    pdf轉換成word文檔格式亂了

    df轉換成word文檔格式亂了 ? 將 pdf 轉為 word 是常見的操作,但很多人發(fā)現(xiàn)結果很亂,文字會移位,字體變化,表格斷裂,圖片偏離原位.這是因為 pdf 存儲的是最終的排版用于顯示或打印
    的頭像 發(fā)表于 11-22 10:04 ?1071次閱讀

    pdf如何轉換成pptx

    df如何轉換成pptx ? 將 pdf 轉成 powerpoint pptx 文件是很常見的需求,當你需要把現(xiàn)有文檔內容做成幻燈片時可以這樣做,本文介紹一些簡單實用的步驟,可以用免費工具或內置軟件
    的頭像 發(fā)表于 11-22 09:42 ?849次閱讀

    國產MCU開始卷開發(fā)工具了?McuStudio是對STM32Cube的拙劣模仿還是真香逆襲?

    STM32Cube配置個國產芯片可能還得自己搗鼓底層包,這工具直接就給你整好了。 但也別吹得太神,槽點也得講 ? 底層最后還是調HAL - 對于習慣了寄存器操作、追求極致效率的老法師來說,可能覺得這玩意兒
    發(fā)表于 10-31 10:18

    對UART0輸入到串口的char型數(shù)據(jù)轉換成16進制的寄存器常用int型相關處理

    參賽小隊名:強強聯(lián)合隊。報名編號:CICC1316 通過UART0接受到鍵盤輸入的數(shù)據(jù)是char型的,這時候就會又出現(xiàn)一個問題,如果是char型的數(shù)據(jù),直接轉換成int型我們接收到的數(shù)據(jù)就變成
    發(fā)表于 10-31 07:58

    STM32 學習達標標準:4 個維度,判斷你是否真正合格

    最近在網址經??吹竭@樣的帖子:STM32怎么就算是精通了、怎么就是完全入門了、要學到什么程度才算合格?老實說,這事真沒絕對標準,但只懂外設原理、會調用庫函數(shù)肯定只是入門級。就像學開車,知道方向盤剎車
    的頭像 發(fā)表于 08-11 16:36 ?740次閱讀
    <b class='flag-5'>STM32</b> 學習達標<b class='flag-5'>標準</b>:4 個維度,判斷你是否真正合格

    .elf 轉換成.img 后,如何知道SPI flash 中的變量地址呢?

    它的 .map 中找到內存映射項目構建完成后的文件,如下圖。 數(shù)據(jù).abcDscr 0x40030b00 0x100 ./usbabc.o 但是.elf 轉換成.img 后,如何知道SPI flash 中的變量地址呢?
    發(fā)表于 07-18 07:44

    fn_u-boot-spl.bin和u-boot-spl.bin區(qū)別是什么?請問如何從u-boot-spl.bin生成fn_u-boot-spl.bin?

    fn_u-boot-spl.bin = bootrom頭 + u-boot-spl.bin ;生成過程見后面代碼片段; bootrom頭(格式詳見) + u-boot-spl.bin(標準
    發(fā)表于 07-11 07:58

    【米爾-STM32MP257開發(fā)板試用體驗】——測試米爾-STM32MP257開發(fā)板外設功能

    /temp 轉換成實際的溫度 除以1000 就是49121/1000 = 49度 因為STM32MP257是雙核,所以查看雙核溫度的指令為 cat /sys/class/thermal
    發(fā)表于 07-07 18:22

    STM32F4標準外設資料

    stm32f4xx.h,標準外設
    發(fā)表于 06-08 09:49 ?5次下載

    GP9301B將0V到10V的模擬電壓輸入,線性轉換成0%-100%占空比PWM信號輸出

    ? GP9301B將0V到10V的模擬電壓輸入,線性轉換成0%-100%占空比的PWM信號輸出。? GP9301BM將0V到10V的模擬電壓輸入,線性轉換成0%-100%占空比的PWM信號,并且將
    發(fā)表于 05-29 10:15 ?0次下載

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

    在《基于STM32HAL標準的esp8266接入機智云方案(一)》中,我們詳細介紹了硬件連接和機智云客戶端的創(chuàng)建。本篇將重點講解如何下載代碼、分析下載的代碼,并直接使用這些代碼連
    的頭像 發(fā)表于 05-28 18:02 ?1393次閱讀
    基于<b class='flag-5'>STM32</b> HAL<b class='flag-5'>庫</b>與<b class='flag-5'>標準</b><b class='flag-5'>庫</b>的esp8266接入機智云方案(二)

    提取LSM6DSV16X內置低功耗融合算法輸出的四元數(shù)后,轉換成歐拉角后遇到一個問題求解

    各位大佬好,在提取LSM6DSV16X內置低功耗融合算法輸出的四元數(shù)后,轉換成歐拉角后遇到一個問題,當Y軸與重力方向平行時,輸出的角度與慣性測量單元繞自身Y軸轉過的角度對應不上,且抖動增加,請問有什么解決方法嗎?
    發(fā)表于 03-14 06:55

    IIS3DHHCTR溫度從寄存器讀取出來之后,把讀取的數(shù)值轉換成實際溫度,有沒有公式?

    IIS3DHHCTR,這個料 溫度從寄存器讀取出來之后,把讀取的數(shù)值轉換成實際溫度,有沒有公式?
    發(fā)表于 03-12 08:11

    如何將HAL轉為LL?

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

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

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