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?)
and
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)
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