ARM7 and M3

Started by jdauchot April 18, 2010
Hi

I am now very comfortable with the ARM7 NXP processors.

Could anyone tell me what is the rage about the Cortex M3
what are the major benefits to move to them apart of the pricing?

Regards

Jean-Jacques

An Engineer's Guide to the LPC2100 Series

Am 18.04.2010 10:52, schrieb jdauchot:

> Could anyone tell me what is the rage about the Cortex M3
> what are the major benefits to move to them apart of the pricing?

CM3 is a newer technology and IMHO will in the long run replace ARM7.

--
42Bastian
+
| http://www.sciopta.com
| Fastest direct message passing kernel.
| IEC61508 certified.
+
On 18/04/2010 09:52, jdauchot wrote:
> Hi
>
> I am now very comfortable with the ARM7 NXP processors.
>
> Could anyone tell me what is the rage about the Cortex M3
> what are the major benefits to move to them apart of the pricing?

http://www.arm.com/products/processors/cortex-m/cortex-m3.php

Leon
--
Leon Heller
G1HSM
On 18/04/2010 12:15, Leon Heller wrote:
> On 18/04/2010 09:52, jdauchot wrote:
>> Hi
>>
>> I am now very comfortable with the ARM7 NXP processors.
>>
>> Could anyone tell me what is the rage about the Cortex M3
>> what are the major benefits to move to them apart of the pricing?
>
> http://www.arm.com/products/processors/cortex-m/cortex-m3.php
>
> Leon

There are also the -M0 and -M4 with their own special features:

http://www.arm.com/products/processors/cortex-m/cortex-m0.php

http://www.arm.com/products/processors/cortex-m/cortex-m4-processor.php

The two-pin Serial Wire Debug is nice:

http://www.arm.com/products/system-ip/debug-trace/coresight-soc-components/serial-wire-debug.php

--
Leon Heller
G1HSM
Lower power consumption and lower price are the main selling points for me, though there are a number of advantages. Up to 8 HW breakpoints when debugging, improved interrupt handling, improved code size when compiled thanks to Thumb-2 instructions (I have the impression I get about 25-30% smaller code). I found it pretty painless moving from LPC2000 to the LPC1100 and LPC1300 families since the peripherals are very similar.

I also liked the fact that I was able to write all of the startup code in C, and don't have to worry about declaring ISRs "naked", etc., in GCC like with ARM7. The improved sleep/deep-sleep/power-down modes are nice as well.

It's still a work in progress, but I've put some code for the 1343 here (BSD license), including startup/linker files for GCC. I don't use CMSIS and wrote my own header file (lpc134x.h), and there are project files for both Crossworks and a make file for GCC (plus project files for the free CodeLite IDE):

http://code.google.com/p/lpc1343codebase/source/browse/#svn/trunk

It's written to go with this board, but most of it is quite 'generic' and can easily be adapted to other boards:

http://www.microbuilder.eu/Projects/LPC1343ReferenceDesign.aspx

I'll publish similar code for the LPC1114 in the coming weeks. There are probably bugs in it, but most of it has been tested on real HW.

Generally, though, I've been very happy with the M0/M3 and don't miss ARM7 in the slightest (except the 2478, though I imagine they will make an M3 version in the future).

Kevin.

--- In l..., "jdauchot" wrote:
>
> Hi
>
> I am now very comfortable with the ARM7 NXP processors.
>
> Could anyone tell me what is the rage about the Cortex M3
> what are the major benefits to move to them apart of the pricing?
>
> Regards
>
> Jean-Jacques
>

Power consumption is a major one if you are building battery-operated
products. Power down modes in which external interrupts can wake up the
processor are nice, better than the ARM7 family. And I use the RTC
crystal/clock, which also consumes far less energy. The devices are rated
to work at well below 3.3V, which means that a Li-ion cell can be used till
down to 3.1V or even lower, making use of more of its stored energy. These
are the important factors for me. I had also become very comfortable with
the LPC23xx family, but though the migration took several weeks, I am fairly
comfortable with the LPC1765 now. It helps so much that many of the LPC23xx
family are totally pin-compatible with many of the LPC17xx family. So when
I designed my new board for the LPC1765, I did have the option of going back
to the 2365 if needed. I am fortunate that it wasn't necessary.

My advice: make the change at leisure...

Cheers,
Ahmad

On Sun, Apr 18, 2010 at 2:22 PM, jdauchot wrote:

> Hi
>
> I am now very comfortable with the ARM7 NXP processors.
>
> Could anyone tell me what is the rage about the Cortex M3
> what are the major benefits to move to them apart of the pricing?
>
> Regards
>
> Jean-Jacques
>
>
>
--- In l..., "jdauchot" wrote:
>
> Hi
>
> I am now very comfortable with the ARM7 NXP processors.
>
> Could anyone tell me what is the rage about the Cortex M3
> what are the major benefits to move to them apart of the pricing?
>
> Regards
>
> Jean-Jacques

Hi Jean-Jacques,

most of the advantages have already been mentioned. The Cortex-M based devices are developed further and all innovation will be within these cores. That would be my major reason to switch to Cortex-M when appropriate. There is no reason to think that the LPC2000 family members will be discontinued any time soon and if you have a running system, just use the LPC2000 with that.

PROS: For new developments, I would recommend to switch because:
1. lower power
2. lower price
3. smaller code at similar performance (ARM mode)or
4. better performance at similar code size (old Thumb mode)
5. Higher frequencies -> higher performance, although there are exceptions to this rule.
6. Better debugging options, less pins with more visibility using low end trace, more HW breakpoints come in handy or use Segger J-Link and you have unlimited HW breakpoints with both architectures.
7. Better determinism can be a strong reason as well.
8. Last but not least it is much easier to switch from one M3-device of NXP to a Mx-device of TI, STM or Atmel because of CMSIS.

CONS:
1. You have a running system and don't want to change it, so don't!
2. Your tools are a little older and do not support Cortex-Mx yet, think of upgrading
3. You are under time pressure to get a new design out and the LPC2000 would do just fine -> think twice whether you want to upgrade to Cortex-M and if timing allows, do it.

There are more PROs and CONs and overall I think the PROs for switching to Cortex-M / LPC1000 outweigh the CONs.

Some other interesting Cortex-M3 posts are here:
http://mcu-related.com/architectures/35-cortex-m3
Have fun reading.

Cheers, Bob

--- In l..., Ahmad wrote:
>
> Power consumption is a major one if you are building battery-operated
> products. Power down modes in which external interrupts can wake up the
> processor are nice, better than the ARM7 family. And I use the RTC
> crystal/clock, which also consumes far less energy. The devices are rated
> to work at well below 3.3V, which means that a Li-ion cell can be used till
> down to 3.1V or even lower, making use of more of its stored energy. These
> are the important factors for me. I had also become very comfortable with
> the LPC23xx family, but though the migration took several weeks, I am fairly
> comfortable with the LPC1765 now. It helps so much that many of the LPC23xx
> family are totally pin-compatible with many of the LPC17xx family. So when
> I designed my new board for the LPC1765, I did have the option of going back
> to the 2365 if needed. I am fortunate that it wasn't necessary.
>
> My advice: make the change at leisure...
>
> Cheers,
> Ahmad
I am using the LPC2366 right now and have thought of eventually switching to the pin compatible (luckily) M3 processor.

I wonder (I really hope) that NXP makes a pin compatible M4 part when it comes time.

It was quite a hardship for us to switch between the LPC2144 to the LPC2366 because of not only the new processor and pinout but also the IAR EWARM change from 4.x to the 5.x version.

I REALLY like the newer DSP like single cycle MAC and instructions like that as well as all the other goodies the M3 and M4 have.

The LPC2366 works fine for now and we use a lot of the features such as USB, 3 UARTS, Ethernet, A/D D/A etc. I guess you could say we "smoke 'em to the filter".

boB

>
> On Sun, Apr 18, 2010 at 2:22 PM, jdauchot wrote:
>
> >
> >
> > Hi
> >
> > I am now very comfortable with the ARM7 NXP processors.
> >
> > Could anyone tell me what is the rage about the Cortex M3
> > what are the major benefits to move to them apart of the pricing?
> >
> > Regards
> >
> > Jean-Jacques
> >
> >
>

Hi All

Many thanks for this information.
I wanted opinions from experienced engineers rather than google it.

I use ARM7 processors powered from a 24V 60A DC supply.

So no power consumption problems there

Regards

Jean-Jacques

--- In l..., "bobtransformer" wrote:
> --- In l..., Ahmad wrote:
> >
> > Power consumption is a major one if you are building battery-operated
> > products. Power down modes in which external interrupts can wake up the
> > processor are nice, better than the ARM7 family. And I use the RTC
> > crystal/clock, which also consumes far less energy. The devices are rated
> > to work at well below 3.3V, which means that a Li-ion cell can be used till
> > down to 3.1V or even lower, making use of more of its stored energy. These
> > are the important factors for me. I had also become very comfortable with
> > the LPC23xx family, but though the migration took several weeks, I am fairly
> > comfortable with the LPC1765 now. It helps so much that many of the LPC23xx
> > family are totally pin-compatible with many of the LPC17xx family. So when
> > I designed my new board for the LPC1765, I did have the option of going back
> > to the 2365 if needed. I am fortunate that it wasn't necessary.
> >
> > My advice: make the change at leisure...
> >
> > Cheers,
> > Ahmad
> I am using the LPC2366 right now and have thought of eventually switching to the pin compatible (luckily) M3 processor.
>
> I wonder (I really hope) that NXP makes a pin compatible M4 part when it comes time.
>
> It was quite a hardship for us to switch between the LPC2144 to the LPC2366 because of not only the new processor and pinout but also the IAR EWARM change from 4.x to the 5.x version.
>
> I REALLY like the newer DSP like single cycle MAC and instructions like that as well as all the other goodies the M3 and M4 have.
>
> The LPC2366 works fine for now and we use a lot of the features such as USB, 3 UARTS, Ethernet, A/D D/A etc. I guess you could say we "smoke 'em to the filter".
>
> boB
> >
> > On Sun, Apr 18, 2010 at 2:22 PM, jdauchot wrote:
> >
> > >
> > >
> > > Hi
> > >
> > > I am now very comfortable with the ARM7 NXP processors.
> > >
> > > Could anyone tell me what is the rage about the Cortex M3
> > > what are the major benefits to move to them apart of the pricing?
> > >
> > > Regards
> > >
> > > Jean-Jacques
> > >
> > >
> > >
>