我想使用 CMSIS 驱动 API,而不是 stm 提供的 HAL。当我访问链接CMSIS DRIVER APIs我没有找到最常用的驱动程序,如pwm、adc、gpio等,为什么会这样,我们是否必须依赖CMSIS和HAL来进行微控制器编程?
我也尝试在 arm 社区中找到答案,也有一个问题提出了同样的问题,令人惊讶的是,没有人给出答案。
微控制器包含硬件核心以及 GPIO 和 ADC 等硬件外设。 Arm Cortex-M 是 STMicroElectronics、Espressif、NXP 等微控制器供应商常用的内核。但硬件外设因供应商而异。 (例如 STMicroElectronics 的 ADC 与 Espressif 的 ADC 不同。)Arm 提供 CMSIS 来与 Arm 定义的硬件核心接口。微控制器供应商提供 HAL 来与其定制硬件外设接口。 CMSIS 不包括供应商特定的外设,因为 Arm 没有定义这些外设。将 CMSIS 视为通用硬件核心之上的一层,而 HAL 是 CMSIS 和特定于供应商的硬件外设之上的一层。