我使用MCB1700评估板。
Keil为开发人员提供RL-ARM库。
但是几个小时前,我创立了CMSIS库。它还具有USB,以太网等的标头和c文件(带有示例)。
“ RL-ARM库”和“ CMSIS库”之间有什么区别?
是否存在RL-ARM和CMSIS库的替代方案?
最佳答案
RL-ARM包含RTX RTOS内核;它提供的文件系统,网络,CAN和USB支持与RTX集成在一起,使其具有线程安全性。
如果使用其他RTOS,则必须自己在驱动程序/中间件级别上处理线程安全性。大多数中间件库都具有互斥量调用挂钩来处理此问题。
CMSIS驱动程序的级别通常比RL-ARM低得多(RL-ARM实际上可能在任何情况下都使用CMSIS驱动程序)。例如,当您可能具有以太网驱动程序时,CMSIS不会提供更高级别的TCP / IP堆栈。
符合CMSIS的库将由芯片供应商而非Keil提供。根据我的经验,Keil的发行版通常是在供应商发布之后的,因此您应该直接从芯片供应商那里获得CMSIS库。
所有Cortex-M供应商都应为其零件提供CMSIS库。 CMSIS包括启动代码以及外围设备库。尽管CMSIS定义了some standards,但由于外围设备是特定于供应商的,因此不同供应商的CMSIS之间几乎没有或没有可移植性。实际上,即使从STM32F1xx更改为F2xx也是巨大的改变!另一方面,RL-ARM是更高级别的抽象,可移植到Keil支持的所有部分中。
关于embedded - “RL-ARM库”和“CMSIS库”的替代方案,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8603075/