Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Microcontroller to understand architecture

  1. Mar 13, 2015 #1
    I've been self studying computer architecture and I'm also familiar with digital electronics. I was thinking of getting an actual microcontroller and try to commit all the material that I'm learning by actually playing with a real microcontroller.
    Obviously PIC and AVR are among the most well known. What I want is a microcontroller that doesn't have the most complicated architecture, that I can program in embedded C (mostly), with a manageable instruction set (might learn Assembly) size and obviously has enough resources. It is preferable if it comes with a development board. Essentially, what I want is a microntroller that can really get me grounded in computer architecture.
    Please restrict your suggestions to either PIC or AVR because its important that enough resources are available. If you've taken or you're taking a course on embedded system design, what microcontroller did/is your institution used/using. Also, don't suggest the Arduino, as it is in my opinion more targeted towards those who are interested the 'principles' of embedded systems without the need for understanding the underlying architecture.
  2. jcsd
  3. Mar 13, 2015 #2


    User Avatar
    Science Advisor

  4. Mar 14, 2015 #3
    PIC and AVR microcontrollers are indeed the most well known and most used ones in the Embedded Systems world.
    I don't know the extent of your knowledge in this area but for a beginner you may want to use something a bit easier. I have no experience with the PIC's but the AVR microcontroller's their IDE (Atmel Studio 6) and proprietary Programmers/Debuggers may be a bit too technical or complicated if you start out.
    In the Embedded Systems courses in which I was introduced to microcontrollers we used NXP's LPC microcontrollers.
    I found the LPCXpresso IDE extremely simple to use since it's based on the eclipse IDE(Well known for Java development) and has many functions.
    Among those functions the IDE also seems to have an instruction level debugging capability you may be interested in(I am not sure if Atmel studio has this function).

    On another note. If you want to learn more about architecture and instruction sets specifically. I suggest you take a look at Intel's 8051 microcontroller and its assembly instruction set. It may be old. But the core is still used in modern microcontrollers. Also I think learning assembly can be very helpful in understanding architectures. If you have a basic understanding of a CPU(ALU, Registers etc.) assembly is not that hard to understand as many say.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook