On 24/04/2012 13:33, Kvik wrote:
> Hi
>
> I am looking into using the ARM Cortex M family for a new project. I
> like the Cortex M series, since in "principle" code should be pretty
> simelar from one device to another, if you limit the functionality to
> the core and some limited periphials.
>
> Just released is the M0+ with only 9uA/MHz current consumption and
> that would fit well for a small application.
>
> So, if it is possible to define the allowed instruction set for the
> M0+, would it then be possible to scale up to a larger device (M0, M1,
> M3, M4) without recompiling core code?
>
> That would allow us to use a OS with a API layer (to provide
> flexibility between the periphial differences), and have the core code
> running with the same binary code across the M family?
>
> Anyone have practical experience with porting code this way?
>
> Thanks
>
> Klaus
Sorry - my answer to this part went to your other thread as I didn't
realise there were two threads.
The M0 instruction set is a sub-set of the M3, which is a sub-set of the
M4. For example, there are instructions in the M0 that can only access
the low general purpose registers, whereas the M3 equivalents can access
all of them. The theory is they are backward binary compatible, but
only if you don't want the core to talk to anything else (peripherals) -
at which point changing chips will mean you have to recompile.
Regards,
Richard.
+
http://www.FreeRTOS.org
Designed for microcontrollers. More than 7000 downloads per month.
+
http://www.FreeRTOS.org/trace
15 interconnected trace views. An indispensable productivity tool.