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
  • Hello luckylucke.

    I've started my jurney to ARM with a Cortex-M4. It's not a big difference to start with a M3/4 or M0. Both are good for your first steps.

    I've don't have used a Book to start with it. I think the datasheet is enought, if you have enought experience with 8bit MCUs like AVR(and reading the datasheets). The diffrence in programming an 8bit AVR and a 32bit ARM are not that big. But a good book can be really handy and fasten thinks up.

    If you have programmed AVRs before maybe consider to get an ARM-Device from Atmel.You get an completly free and unlimeted IDE. You feel right at home if you programmed AVR's before (with Atmel Studio). Maybe you can use your JTAG-Debugger from your AVRs (only if you have used the Atmel ICE).

    But on the other Hand you are right, the LPC is very popular and you find much thinks in the www. That can be hard for the Atmel-devices.

    But that really depends on you, just get the device you wan't and jump into.

    Greetings

Reply
  • Hello luckylucke.

    I've started my jurney to ARM with a Cortex-M4. It's not a big difference to start with a M3/4 or M0. Both are good for your first steps.

    I've don't have used a Book to start with it. I think the datasheet is enought, if you have enought experience with 8bit MCUs like AVR(and reading the datasheets). The diffrence in programming an 8bit AVR and a 32bit ARM are not that big. But a good book can be really handy and fasten thinks up.

    If you have programmed AVRs before maybe consider to get an ARM-Device from Atmel.You get an completly free and unlimeted IDE. You feel right at home if you programmed AVR's before (with Atmel Studio). Maybe you can use your JTAG-Debugger from your AVRs (only if you have used the Atmel ICE).

    But on the other Hand you are right, the LPC is very popular and you find much thinks in the www. That can be hard for the Atmel-devices.

    But that really depends on you, just get the device you wan't and jump into.

    Greetings

Children