我在想,为什么没有用CMSIS-Driver编写的设备的实现?
我的意思是,我只有很少的外围设备: LCD,温度和压力传感器,电流表等-所有这些都在arduino和学习机中非常流行。这些设备中的每一个都使用某种协议与uC通信。一些是用于i2C的,一些是通过SPI进行通信的,还有一些是通过UART进行通信的。我想知道是否有驱动程序来处理这些设备,并作为后端使用CMSIS-Driver API。
我认为它是一个不错的api,毕竟标准是由ARM开发的,那么为什么我找不到任何使用它的驱动程序呢?
例如,当我在寻找s18b20 (单线温度传感器)时,我可以很容易地找到用RUST语言编写的这个设备的驱动程序,但我无法找到任何使用CMSIS的实现。(在这种情况下,与rust相比是非常可靠的,因为Rust有很好的嵌入式API,并且你可以很容易地在多个目标上使用驱动程序,就像CMSIS-Driver是配偶工作一样)我能够找到一些使用这个外围设备的项目,但它们都是在每个uC都不同的HAL上操作的,所以实现是不可移植的(不像RUST,并且可能是CMSIS- driver )
所以我的主要问题是:
为什么基于CMSIS-Driver的实现如此之少?也许有一些我不知道的隐藏的实现存储库?
我是不是遗漏了什么?CMSIS-Driver不是为临时开发人员设计的吗?那么它是为谁设计的呢?
发布于 2020-03-29 23:56:58
CMSIS与外部设备无关,它主要处理微控制器管芯上接口的接口驱动程序。因此,如果您有SPI设备,则可以使用CMSIS。SPI驱动程序,但是作为开发人员,您有责任为外部设备编写更高级的驱动程序。
更高级的软件平台,如ARM的embed或ST的CubeMX,使用CMSIS接口驱动程序,并包括用于普通高级设备的驱动程序。它们倾向于用于与网络、文件系统和显示器相关的更复杂的设备。我并不期望像温度传感器这样的微不足道的简单设备得到太多的支持。
https://stackoverflow.com/questions/60914235
复制相似问题