cmsis和各種庫的關係

stitchCat發表於2024-09-26

Referneces:

  • STM32函式韌體庫
  • CMSIS_6 -> 此為arm提出的cmsis6的標準,各個用arm作核心的mcu廠商在寫自家的韌體庫時應該遵守的標準。以後以stm32為例說明
  • 【STM32】驅動庫的選擇:CMSIS Driver、SPL、HAL、LL | 在ARM MDK、STM32Cube中如何選擇? -> 感覺這篇文裡對於cmsis庫的描述有些不準。cmsis庫不是對硬體操作的實現,而是一個模板

以下基於cmsis和stm32 std庫進行一個對比

對比前準備工作

下載cmsis

arm官方提供的cmsis可以在github找到。連結如下:
https://github.com/ARM-software/CMSIS_6
(以上僅用於對比)

repo目錄如下:
image

為構建stm32工程,配置好cmsis以及stm32 std庫

然後隨便在keil官網裡找一款stm32的package,然後匯入keil中。連結如下:https://www.keil.arm.com/packs/stm32f1xx_dfp-keil/versions/
然後還有cmsis的package,下載好之後匯入keil中。連結如下:
https://www.keil.arm.com/packs/cmsis-arm/versions/
(此庫用於對stm32工程的建立,因為stm32的std庫是基於cmsis的描述進行建立的)

完成之後可以用兩種方式檢視是否匯入成功:
1)檢視keil目錄
cmsis:
image
stm32 package
image

2)在keil中的Pack Installer檢視
image

基於構建stm32 std庫構建工程

image

對比

相關文章