一、CMSIS标准
ARM是一个做芯片标准的公司,它负责的是芯片内核的架构设计,而TI,ST这样的公司,他们并不做标准,他们是芯片公司,他们是根据ARM公司提供的芯片内核标准设计自己的芯片。所以,任何一个Cortex-M3芯片,他们的内核结构都是一样的,不同的是他们的存储器容量,片上外设,IO以及其他模块的区别。所以你会发现,不同公司设计的cortex-M3芯片他们的端口数量,串口数量,控制方法这些都是有区别的,这些资源他们可以根据自己的需求理念来设计。同一家公司设计的多种cortex-M3内核芯片的片上外设也会有很大的区别,比如STM32F103RBT和STM32F103ZET,他们的片上外设就有很大的区别。我们可以通过《cortex-M3权威指南》中的一个图来了解一下:
从上图可以看出,芯片虽然是芯片公司设计,但是内核却要服从ARM公司提出的cortex-M3内核标准了,理所当然,芯片公司每卖出一片芯片,需要向ARM公司交一定的专利费。
既然大家都使用的是cortex-M3内核,也就是说,本质上大家都是一样的,这样ARM公司为了能让不同的芯片公司生产的cortex-M3芯片能在软件上基本兼容,和芯片生产商共同提出了一套CMSIS标准(Cortex Microcontroller Software Interface Standard),翻译过来是“ARM Cortex 微控制器软件接口