stm32中库函数和hal库的区别
今天在b站看一個關于嵌入式的視頻,講述使用stm32cube軟件的。了解這些的小伙伴們應該知道STM32CubeMX
是意法半導體推出的圖形化配置工具,通過傻瓜化的操作便能實現相關配置,最終能夠生成C語言代碼,支持多種工具鏈,比如MDK、IAR For ARM、TrueStudio等。尤其值得一提的是,TrueStudio已經被ST收購,提供完全免費的版本,并且,通過插件式安裝,可以將STM32CubeMX集成在一個IDE,使用十分方便。下面貼一個關于這個軟件的基本使用教程CubeMX基本使用教程。
我們要討論的hal庫是st公司為了更方便地進行stm32之間的移植而開發的庫,通用性很強,在不同的兩款stm32芯片之間的移植基本上不需要修改。之前使用的標準庫都是基于寄存器的操作。寄存器版本使用較麻煩,每個設置都要去查看芯片datasheet,好處是可以讓你熟悉芯片的寄存器配置。庫函數是基于寄存器版本進行二次封裝后推出的,它的優勢就是寄存器版本的劣勢,方便了使用,不再需要手動去配置寄存器,使用更方便了。但是它的劣勢就是HAL的優勢,就是每次修改MCU功能,都需要手動去修改功能,而且自己修改也不能保證正確性,程序代碼在不同MCU之間的移植性不強。
HAL庫,HAL是Hardware Abstraction Layer的縮寫,中文名稱是:硬件抽象層,HAL庫工程一般使用Cube軟件來生成工程。HAL庫是ST公司為STM32的MCU最新推出的抽象層嵌入式軟件,更方便的實現跨STM32產品的最大可移植性。優勢就是不需要開發工程師再關注所用MCU型號,只需要專注所以要的功能軟件開發工作。而且是未來主推的方向,正在不斷的推出更新。HAL庫推出的同時,也加入了很多第三方的中間件,有RTOS,USB,TCP / IP和圖形等等。和標準庫對比起來,STM32的HAL庫更加的抽象,ST最終的目的是要實現在STM32系列MCU之間無縫移植,甚至在其他MCU也能實現快速移植。
所以我們應該與時俱進,使用更先進的hal庫吧。
貼一個討論帖
stm32是用hal庫,還是標準庫?懂行的介紹一下
總結
以上是生活随笔為你收集整理的stm32中库函数和hal库的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 「趣学前端」filter滤镜,CSS的P
- 下一篇: cocos creater ios端 字