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

Moving from AVR to ARM's

Note: This was originally posted on 6th June 2012 at http://forums.arm.com

So Im a Entry level Firmware Dev., i've been working with Arduino's/AVR's and PICS for a good few years. Im a pretty good C/C++ Programmer and Can understand ASM (At least for AVR) Pretty well. I understand circuits pretty well too (Well....as well as someone would need to working with MC's and such).

At work we use ARM's however, and while I don't directly deal with them...it's something i'd like to do. However Im at a loss at where to start. I know there are ARM Microprocessors and MCU's as well. I've seen a few of the TI boards around work (Mainly http://www.ti.com/tool/ek-lm4f232) the Stellaris Kits.

Where would be a good place to start? Probably something Simple since I know the ARM is prolly not as easy as Dealing with AVR's and PICS haha. But there are SOOO many different ones to choose from....and even more-so on the development kits. It's a bit overwhelming. Along with a bunch of different toolchains (Which im totally not used to).

I realize this question has been asked a million times, and I did search. But New MCU's/MP's come out yearly......and I figure a more up to date question would be worth the slight annoyance haha!.
I've heard the Cortex-M3's are probably the easiest to start with, but that's just what i've heard, not to mention I don't know what Eval Kits/Dev boards would be best.

Bonus Question: For someone Starting in ARM Development, what are the 2 best books you could think of as an accompanying guide.
Parents
  • Note: This was originally posted on 7th June 2012 at http://forums.arm.com


    It's going to depend on what you are wanting to do at the end of the day - as you say the range of possibilities is large, so it makes sense to start "in the right area". ARM SoC designs range from small microcontrollers to multi-core smartphone chips with half a dozen CPUs, a GPU, and some kind of modem. In the middle you have the more traditional embedded system which is more powerful than a simply micro, but more cut down than a high end smartphone SoC.


    Starting at the "simple" end of things you have the Cortex-M family of microcontrollers; these are simple ARM cores which are designed for small code size and ease of development for low level software. Because they are design for controlling physical things they also tend to have a good range of low level physical interfaces (I2C, CAN, GPIO, ADC/DAC, PWM, etc) but this varies from vendor to vendor. You also find a number of older ARM7 and ARM9 devices in this range, but I'd recommend starting off with the Cortex-M devices. You can find some simple prototyping boards on http://mbed.org/ which are programmble over USB and which have bread-board friendly pinout, so great for prototyping.

    In the middle you have things the the Raspberry Pi; an ARM11 based design, so quite simple to get to grips with at the bare metal level, but also capable of running a "big OS" such as Linux. Cortex-R cores tend to be fitting in to this segment, but at they are quite specialized SoCs the boards are not often widely available.

    At the higher end you have various boards based on Cortex-A family; BeagleBoard, PandaBoard, Snowball, to name but a few. These tend to be geared towards "big OS" - Linux, Android, etc - so fast processors (multi-core in some cases), with PC-like connectivity (Ethernet, USB, HDMI, etc). However, less useful for controlling things, and they tend to be more expensive devices.

    HTH,
    Iso



    Best overview I've heard of the ARM range! Thanks Iso.

    The op asked about books? Are there any? Do you know of any useful ones? Or is it just the array of ARM docs?

    Dave
Reply
  • Note: This was originally posted on 7th June 2012 at http://forums.arm.com


    It's going to depend on what you are wanting to do at the end of the day - as you say the range of possibilities is large, so it makes sense to start "in the right area". ARM SoC designs range from small microcontrollers to multi-core smartphone chips with half a dozen CPUs, a GPU, and some kind of modem. In the middle you have the more traditional embedded system which is more powerful than a simply micro, but more cut down than a high end smartphone SoC.


    Starting at the "simple" end of things you have the Cortex-M family of microcontrollers; these are simple ARM cores which are designed for small code size and ease of development for low level software. Because they are design for controlling physical things they also tend to have a good range of low level physical interfaces (I2C, CAN, GPIO, ADC/DAC, PWM, etc) but this varies from vendor to vendor. You also find a number of older ARM7 and ARM9 devices in this range, but I'd recommend starting off with the Cortex-M devices. You can find some simple prototyping boards on http://mbed.org/ which are programmble over USB and which have bread-board friendly pinout, so great for prototyping.

    In the middle you have things the the Raspberry Pi; an ARM11 based design, so quite simple to get to grips with at the bare metal level, but also capable of running a "big OS" such as Linux. Cortex-R cores tend to be fitting in to this segment, but at they are quite specialized SoCs the boards are not often widely available.

    At the higher end you have various boards based on Cortex-A family; BeagleBoard, PandaBoard, Snowball, to name but a few. These tend to be geared towards "big OS" - Linux, Android, etc - so fast processors (multi-core in some cases), with PC-like connectivity (Ethernet, USB, HDMI, etc). However, less useful for controlling things, and they tend to be more expensive devices.

    HTH,
    Iso



    Best overview I've heard of the ARM range! Thanks Iso.

    The op asked about books? Are there any? Do you know of any useful ones? Or is it just the array of ARM docs?

    Dave
Children
No data