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


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)