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.
> You can still write in Assembler on the M3's right? (like with an mbed device?)Yes, writing assembler for the M3 is no problem. Seems possible using the mbed tools too (http://mbed.org/cook...sembly-Language).> Are all the ARM Cores technically Microprocessors or Microcontrollers? The terms always seem to get flipped around depending the company (Sometimes just combining them to mean the same thing). I've never seen an official definition. If you ask me a (micro)processor is just the CPU implementation, and a microcontroller is a physical chip which can solder on to something which does plant control type work. A microcontoller therefore contains a microprocessor, but also a load of other goodies to complete a more or less standalone system.
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.
Yea i've taken a look at Rasberry Pi before, but im not sure I want to just jump into a Embedded Linux board (I've still got a LOT to learn) So maybe a more strict eval/dev board would be betetr?I've heard of something called Panda Boards? and i've also heard of beagleboard.But then again Rasberry Pi might be ideal to start with. But ya any ideas keep them coming! (It sucks that Rasberry Pi's are SOOO friggin hard to get).Also any book recommendations?
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
Thanks for the comment . Actually there is a 2nd edition.http://www.amazon.co.uk/The-Definitive-Guide-ARM-Cortex-M3/dp/185617963X/ (paperback)http://www.amazon.co.uk/The-Definitive-Guide-Cortex-M3-ebook/dp/B003XT5ST8/ (kindle)and also a Cortex-M0 bookhttp://www.amazon.co.uk/The-Definitive-Guide-ARM-Cortex-M0/dp/0123854776/ (paperback)http://www.amazon.co.uk/The-Definitive-Guide-Cortex-ebook/dp/B005DXMVLA/ (kindle)regards,Joseph
Pushing it a bit? £22 for a kindle edition? Any reviews? Is it worth the money?Dave
In terms of books I have a couple on my shelf:For the Cortex-M series I'd highly recommend:http://www.amazon.co...y/dp/0750685344