We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
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