首頁 > 評測 > 不僅僅是低功耗——Nucleo-L432KC開發(fā)板評測
不僅僅是低功耗——Nucleo-L432KC開發(fā)板評測
- [導(dǎo)讀]
- 橫跨多重電子應(yīng)用領(lǐng)域、全球領(lǐng)先的半導(dǎo)體供應(yīng)商意法半導(dǎo)體(ST)公司的STM32L4系列以其超低功耗的性能,領(lǐng)先于同類產(chǎn)品!如今又推出一款用經(jīng)濟(jì)實(shí)惠的STM32 Nucleo開發(fā)板——Nucleo-L432KC。
(2)同時也說明大家的開發(fā)環(huán)境和編譯器配置對處理器的性能發(fā)揮也是不可忽略的。
(3)最后還有我們能不能單單看Coremark代碼的跑分來就能說明處理器性能到底有多高???
四、開發(fā)
說到Nucleo-L432KC開發(fā),大家都應(yīng)該非常熟悉,意法半導(dǎo)體ST公司為STM32建立的完備的生態(tài)系統(tǒng),提供了包括低成本的Nucleo系列、Discovery探索系列和全功能系列等種類豐富的評估板幫助用戶熟悉STM32微控制器;同時支持多種主流的IDE,包括MDK、IAR、GCC-based IDEs等集成開發(fā)環(huán)境,另外還支持云端開發(fā)Mbed;在軟件方面,ST為STM32微控制器提供了功能強(qiáng)大的標(biāo)準(zhǔn)庫和HAL庫,以及最新推出的LL庫,并提供了大量的工程實(shí)例和開發(fā)模板,幫助工程師快速開發(fā)STM32的工程;此外還有ST還推出的STM32 CUBEMX配置工具可使用圖形化界面完成STM32微處理器的初始化配置工作。
ST公司推出的開發(fā)工具可見下圖。
圖4-1 STM32軟件生態(tài)系統(tǒng)
關(guān)于ST公司為STM32系列微控制器提供的各種庫可以見下圖。
圖4-2 STM32微控制器支持的庫
不同庫的特點(diǎn)可見下圖。
圖4-3不同庫的比較
通過上面的簡單對比,可以看出,目前ST公司推出的HAL庫功能最為齊全。目前ST正為用戶逐步退出LL庫,但目前還沒有覆蓋所有系列的MCU,不過也給出了相應(yīng)的時刻。
目前STM32L4系列的LL庫已經(jīng)推出了,應(yīng)該也是ST公司推出最早的LL庫,我們可以在大家下載到的HAL庫目錄中找到LL庫,如下圖。
圖4-4 STM32L4的HAL庫和LL庫
可能有人會疑問,有了強(qiáng)大的HAL庫了,還要推出LL庫,在兩種庫之間如何選擇使用呢?我認(rèn)為下圖應(yīng)該比較清楚清楚的說明了HAL和LL庫的關(guān)系和使用。
圖4-5庫的關(guān)系
HAL庫是目前功能最強(qiáng)鍵的庫,支持所有的STM32微控制器的片內(nèi)外設(shè)操作,可很方便的使用戶編寫的代碼從一個STM32系列移植到另一個系列,可以利用STM32 CubeMX軟件直接生成HAL庫的初始化代碼,非常適合于不同級別的用戶使用,但是使用HAL庫編寫的代碼執(zhí)行效率相對而言不夠高效,而且不夠靈活,在一些情況下不能滿足用戶多樣化的操作,可能這時候就需要用戶直接操作寄存器,但是HAL庫中添加直接操作寄存器的程序會使用戶程序可讀性變差。因此,ST公司開發(fā)了更加接近硬件的LL庫,該庫可直接訪問STM32微控制器的寄存器,編譯代碼更小、更加緊湊,而且可以很方便的和HAL庫共同使用,是對HAL庫的一個有效的補(bǔ)充,當(dāng)然,用戶也可以只是用LL庫或HAL庫,也可以同時使用HAL庫和LL庫。但是使用LL庫也會帶來一些問題,就是在不同的STM32系列微控制器之間的移植性較差,無法保證能夠在不同謝列之間移植成功,需要用戶更多的了解STM32的寄存器級的操作等等問題。
之前用慣了MDK和IAR兩個開發(fā)工具,今天來體驗(yàn)一下另一個免費(fèi)的開發(fā)工具System Workbench for STM32,該工具是基于Eclipse的免費(fèi)的跨平臺軟件,可運(yùn)行在windows、Linux和Mac系統(tǒng)上
圖4-6 System Workbench for STM32網(wǎng)站
接下來就來測試一下HAL庫和LL庫共同使用會有哪些好處,在這里我們選擇多數(shù)STM32單片機(jī)都有的內(nèi)部硬件CRC校驗(yàn)?zāi)K,該模塊在很多地方都使用,也比較簡單,我們在系統(tǒng)開始首先配置CRC_HandleTypeDef類型的結(jié)構(gòu)體變量,將其配置為CRC8,使用HAL_CRC_Init()函數(shù)對CRC模塊進(jìn)行初始化,然后使用HAL_CRC_Calculate()函數(shù)對數(shù)據(jù)進(jìn)行CRC8校驗(yàn)計(jì)算,假設(shè)之后我們想要進(jìn)行CRC16的校驗(yàn)該如何實(shí)現(xiàn)?在使用HAL庫時,需要重新修改CRC的結(jié)構(gòu)體變量,調(diào)用HAL_CRC_Init()函數(shù),這樣HAL_CRC_Init()內(nèi)部就有很多操作是重復(fù)的,這樣做回是程序效率降低,另一種方法是在HAL庫編程過程中直接插入寄存及的操作,這樣會使程序的可讀性變差,F(xiàn)在使用LL庫的LL_CRC_SetPolynomialSize()和LL_CRC_SetPolynomialCoef()就可以直接修改CRC模塊配置,而不用再次調(diào)用HAL_CRC_Init()函數(shù)。
圖4-7LL庫函數(shù)
測試環(huán)境為System Workbench for STM32+STM32 CubeMX+ STM32Cube_FW_L4_V1.5.0,大家自行搭建。
首先在STM32 CubeMX中新建Nucleo-L432KC開發(fā)板工程。
圖4-8新建CubeMX工程
啟用CRC模塊和UART2串口模塊。
圖4-9配置片內(nèi)外設(shè)
將STM32L432KC的時鐘配置為HIS,HCLK為80MHz。
-
- 本文系21ic原創(chuàng),未經(jīng)許可禁止轉(zhuǎn)載!
網(wǎng)友評論
- 聯(lián)系人:巧克力娃娃
- 郵箱:board@21ic.com
- 我要投稿
-
歡迎入駐,開放投稿
-
人均百萬?英偉達(dá)中國員工收入曝光! 2024-08-29
-
《黑神話:悟空》玩家硬盤升級攻略:提升游戲體驗(yàn),暢享3A大作 2024-08-29
-
數(shù)睿數(shù)據(jù)參加《系統(tǒng)與軟件工程 低代碼開發(fā)平臺通用技術(shù)要求》國家標(biāo)準(zhǔn)編制 2024-08-29
- NRF52810藍(lán)牙數(shù)字耳機(jī)找人定制
預(yù)算:¥30005天前
- 125KW模塊式PCS軟硬件外包開發(fā)
預(yù)算:¥1100000015小時前
- 12V汽車啟動電源項(xiàng)目BMS設(shè)計(jì)
預(yù)算:¥50000023小時前
- 數(shù)據(jù)可視化軟件 開發(fā)
預(yù)算:¥5000023小時前
- PLC項(xiàng)目調(diào)試修改
預(yù)算:¥100001天前
- 起動電機(jī)控制器開發(fā)
預(yù)算:¥1100001天前