This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

coming from AVR 8-bitter,starting ARM CORTEX-M programming

Hi everyone, as I wrote in the title, I'm coming from AVR 8-bit MCUs programming and in the last year I learnt a lot about AVR 8-bit architecture,CPU,registers and so on.

I've done a few projects coding primarily in C and something in Assembly (serial peripheral modules,LCD interfacing and other little things), always writing my own code,looking at datasheets and implementing my libraries.

I don't use IDEs I just use makefiles and alittle toolchain (GNU-GCC) and I never used a simulator/debugger (I do my debugging via USART,but this is going to change I think..).

I want to start ARM programming and I know that I'm headed towards 32 bit MCUs so I understand that I need to learn about the CORTEX-M architecture profile (I'm newbie to ARM so please correct me whenever I'm wrong).

I think my first step is to buy a book (a very good one) to start understanding the new architecture and writing some code.

What ARM MCU should I begin with? I know of two good books (which one is better to start?)

The Definitive Guide to the ARM Cortex-M0

and

The Definitive Guide to ARM Cortex -M3 and Cortex-M4 Processors

and I know that I need a evaluation/development board with an ARM CORTEX-M core on chip.

I was thinking about mbed LPC1768 dev board,it seems to be popular and I could get one easily.

I don't know if I should begin with a CORTEX-M0 (and the relative book) or the M3/M4 core (and the other book and LPC11U24 dev board with a M0).

I want to learn to code in C and assembly,I don't want any sandbox or fancy IDE (that's why I throwed away Arduino when I started programming AVRs).

Can you give me some advices?

thanks a lot!

Luca (from Rome,Italy)

Parents
  • Hi Luca,

    Basically, the M0 is the simpler MCU version designed for low power consumption, for efficient I/O processing, and to narrow the cost gap relative to 8- and 16-bit microcontrollers. The M3/M4 are high-performance versions of the Cortex-M profile. The M3 has enhanced instructions and saturating math support. The M4 has multiply accumulate (MAC), Single Instruction Multiple Data (SIMD) extension, and optional single precision Floating Point Unit (FPU).

    Open the link in Carl Williamson's reply above if you want to learn more.

    I also recommend the video The ARM University Program, ARM Architecture Fundamentals by chrisshore.

    Regards,

    Goodwin

Reply
  • Hi Luca,

    Basically, the M0 is the simpler MCU version designed for low power consumption, for efficient I/O processing, and to narrow the cost gap relative to 8- and 16-bit microcontrollers. The M3/M4 are high-performance versions of the Cortex-M profile. The M3 has enhanced instructions and saturating math support. The M4 has multiply accumulate (MAC), Single Instruction Multiple Data (SIMD) extension, and optional single precision Floating Point Unit (FPU).

    Open the link in Carl Williamson's reply above if you want to learn more.

    I also recommend the video The ARM University Program, ARM Architecture Fundamentals by chrisshore.

    Regards,

    Goodwin

Children
No data