痞子衡嵌入式:ARM Cortex-M内核那些事(3.1)- 功能模块看差异(M0/3/4/7) 大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是ARM Cortex-M功能模块。 ARM Cortex-M处理器家族发展至今(2016),已有5代产品,分别是CM0/CM0+、CM1、CM3、CM4、CM7。 1.Cortex-M兼容特性 为了能做到Cortex-M软件重用,ARM公司在设计Cortex-M处理器时为其赋予了处理器向下兼容、软件二进制向上兼容特性。 首先看什么是二进制兼容,这个特性主要是针对软件而言,这里指的是当某软件(程序)依赖的头文件或库文件分别升级时,软件功能不受影响。要做到二进制兼容,被软件所依赖的头文件或库文件升级时必须是二进制兼容的。 那么什么又是向上兼容,向上兼容又叫向前兼容,指的是在较低版本处理器上编译的软件可以在较高版本处理器上执行。 跟向上兼容相对的另一个概念叫向下兼容,向下兼容又叫向后兼容,指的是较高版本处理器可以正确运行在较低版本处理器上编译的软件。 所以其实既可以用向上兼容,也可以用向下兼容来形容Cortex-M特性,只不过描述的主语不一样,我们可以说Cortex-M程序是向上兼容的,也可以说Cortex-M处理器是向下兼容的。 具体到Cortex-M处理器时,这个兼容特性表现为: 从处理器角度看:CM0指令集和功能模块是最精简的,CM7指令集和功能模块是最丰富的。不存在低版本处理器上存在的特性是高版本处理器所没有的。 从软件角度来看:CMSIS提供的头文件和功能函数是二进制向上兼容的,比如某CM0软件App使用的是core_cm0.h头文件,而这个App要在CM7上运行时,不需要使用core_cm7.h再重新编译一次(当然使用新头文件编译后的App也是正常的。) 2.Cortex-M功能模块差异 由于CM1主要是用在FPGA产品中,故下面对比忽略CM1。我们知道CM处理器是向下兼容的,故CM功能模块是随着版本的升级而逐步增加的,我们逐步从最低版本开始对比。 2.1 CM0 vs CM0+ 




2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/66948.html
