Cortex M0 与 M0+ 编程视角

Cortex M0 vs M0+ Programming perspective

我正在为选择哪个皮质而苦恼。 目前我有一个设计人员会给我一个带内存的 M0 用于初始开发,但我最终想使用 M0+。 假设我放弃了M0+的可选功能(MPU和MTB),我可以将M0代码原封不动地转移到M0+吗?

我的意思是,它们是同一个库吗?相同的构建命令?链接器? 我应该考虑哪些差异?我知道他们有相同的 ISA,所以我认为这应该不是问题。

谢谢。

如果您只考虑 M0 与 M0+ 而不是系统外围设备,那么为 Cortex-M0 编译的所有代码都应该可以在 Cortex-M0+ 平台上运行。他们使用相同的指令集和程序员模型。

主要区别在于 MPU 和 MTB,还有 Cortex-M0 不支持用户模式这一事实(所有代码都以特权运行,即 CONTROL.nPRIV 不能为 1)。