ST為開發者提供了標准外設庫(STD庫)、HAL庫、LL庫 三種。前兩者都是常用的庫,后面的LL庫是ST新添加的,隨HAL源碼包一起提供,目前支持的芯片也偏少。
標准外設庫(Standard Peripherals Library)是對STM32芯片的一個完整的封裝,包括所有標准器件外設的器件驅動器。這應該是目前使用最多的ST庫。幾乎全部使用C語言實現。但是,標准外設庫也是針對某一系列芯片而言的,沒有可移植性。
HAL是Hardware Abstraction Layer的縮寫,中文名:硬件抽象層。HAL庫是ST為STM32最新推出的抽象層嵌入式軟件,可以更好的確保跨STM32產品的最大可移植性。該庫提供了一整套一致的中間件組件,如RTOS,USB,TCP / IP和圖形等。HAL庫就是用來取代之前的標准外設庫的,是ST未來主推的庫,ST新出的芯片已經沒有STD庫了,比如F7系列。
LL庫(Low Layer)是ST新增的庫,與HAL捆綁發布,文檔也是和HAL文檔在一起的。LL庫更接近硬件層,對需要復雜上層協議棧的外設不適用,直接操作寄存器。
具體參考:https://blog.csdn.net/zcshoucsdn/article/details/54613202