So is the Cortex M0 and Cortex M3 binary compatible?

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

So is the Cortex M0 and Cortex M3 binary compatible?

1,348 次查看
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by NYEOH on Tue Oct 19 01:03:30 MST 2010
Hi, please advice on the following statement. I read this in an article

[B]The Cortex-M0 incorporates technologies first introduced in the ARM Cortex-M3 processor to enable faster software development and ensure a binary upwards compatible roadmap to devices based on ARM Cortex-M3 and beyond. These features are common to every processor in the Cortex-M processor family.[/B]

Can someone confirm if this is true? Does it mean that if I compiled software for an M0, I can use that same binary file for an M3? Or does it mean something else.

Any comments appreciated. Thank you.
0 项奖励
回复
2 回复数

1,245 次查看
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by NYEOH on Tue Oct 19 21:20:45 MST 2010
Thanks for your help
0 项奖励
回复

1,245 次查看
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by CodeRedSupport on Tue Oct 19 01:55:09 MST 2010
It is true that the Cortex-M3 is a superset of the Cortex-M0 instruction set. If you had 'pure' code (makes no use of other parts of the system) then code compiled for the M0 would run on the M3

However, the processor tends to be supplied as part of a larger system, such as an MCU - e.g. LPC1114 or LPC1343 - and these systems are typically not compatible, because of the peripherals, memory maps, etc etc.

Also, note that if you recompiled the same code for Cortex-M3 it would almost certainly run faster as the M3 has additional instructions that will allow the compiler to generate better code.

So, the answer is a qualified yes, but it depends on what you are doing and expecting.
0 项奖励
回复