element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Embedded and Microcontrollers
  • Technologies
  • More
Embedded and Microcontrollers
Embedded Forum Which Microcontroller?
  • Blog
  • Forum
  • Documents
  • Quiz
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Embedded and Microcontrollers to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 5 replies
  • Subscribers 475 subscribers
  • Views 635 views
  • Users 0 members are here
  • embedded
  • microcontroller
  • arm
  • pic
Related

Which Microcontroller?

rishi2628
rishi2628 over 10 years ago

I am a college student and I want to do a course on embedded system but i can't decide which microcontroller to choose. I already know AVR very well. Please help me decide out of PIC and ARM microcontroller. Which one is better and would help me boost my CV?

  • Sign in to reply
  • Cancel

Top Replies

  • johnbeetem
    johnbeetem over 10 years ago in reply to rishi2628 +2
    Rishi Sharma wrote: but sir this is arm microcontroller not arm processor. Should i still go with ARM? A microcontroller is a chip that includes a processor plus some combination of non-volatile…
  • clem57
    clem57 over 10 years ago +1
    I am taking a course on embedded microprocessors at Ux Austin on edx.org. Like @ John Beetem says, they are using a TI ARM processor. Check out the Wiki page to see what you think. Clem
  • clem57
    clem57 over 10 years ago in reply to rishi2628 +1
    To clarify a bit, The ARM instructions can be used with Axx microprocessors and with Mx microcontrollers. The TI version is a microcontroller(M3) with 43 pins supporting digital, analog, uart(serial),…
  • johnbeetem
    johnbeetem over 10 years ago

    I'd go with ARM.  There are dozens of semiconductor vendors selling ARM processors of various sizes and prices and power consumption, so you have lots of flexibility.  There are also lots of cheap ARM development boards.  With PIC you have a single vendor.

     

    ARM is a fun architecture.  There are many variants so you get to learn all sorts of fun things like Thumb and Thumb-2, not to mention the 64-bit ARMv8.  ARM is a whole computer architecture course all in one family image

     

    JMO/YMMV

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • clem57
    clem57 over 10 years ago

    I am taking a course on embedded microprocessors at Ux Austin on edx.org. Like @John Beetem says, they are using a TI ARM processor. Check out the Wiki page to see what you think.

     

    Clem

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • rishi2628
    rishi2628 over 10 years ago in reply to johnbeetem

    but sir this is arm microcontroller not arm processor. Should i still go with ARM?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • clem57
    clem57 over 10 years ago in reply to rishi2628

    To clarify a bit, The ARM instructions can be used with Axx microprocessors and with Mx microcontrollers. The TI version is a microcontroller(M3) with 43 pins supporting digital, analog, uart(serial), I2C, SPI , and PWM interfaces. They even support ADC as well as DAC interfaces. The other choice is ATMEL like Arduino flavors. These are mostly hobbyists. Pic is another set from MicroChips.

     

    Hope this helps,

    Clem

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • johnbeetem
    johnbeetem over 10 years ago in reply to rishi2628

    Rishi Sharma wrote:

     

    but sir this is arm microcontroller not arm processor. Should i still go with ARM?

    A microcontroller is a chip that includes a processor plus some combination of non-volatile memory (usually flash), volatile memory (usually SRAM), and peripherals (usually I2C, SPI, and UART).  An ARM processor is still ARM whether it's part of a larger chip or a stand-alone processor.  In fact, I've never encountered an ARM that's a stand-alone processor: it's always in a chip with other goodies.

     

    The ARM family includes a bewildering array of variants all based on the same architecture.  The most popular family nowadays is ARMv7 which includes the ARM Cortex-A application processors (used in BeagleBoard, BeagleBone, and RIoTboard) and ARM Cortex-M "microcontroller" processors (used in ST-Discovery, Freescale Freedom, mbed, and NXT LPCXpresso boards).  There's also a Cortex-R "real-time" family, but that version is usually only in custom ARM-based chips.  The Cortex-M is considered a "microcontroller" family, but that's mostly because it's trying to replace 8-bit microcontrollers like 8051 and PIC.  A chip with one or more Cortex-A processors is usually a "system on chip" (SoC), which is a fancy name for "big microcontroller".

     

    ARMv7 has two instruction codings: ARM and Thumb-2.  ARM instructions are all 32-bit, whereas Thumb-2 has a mixture of 16-bit and 32-bit instructions which usually results in smaller code size.  The Cortex-M processors only use Thumb-2.  The Cortex-A uses both ARM and Thumb-2, switched using special instructions.

     

    At the C level you can't tell whether it's ARM or Thumb-2, other than setting the correct compiler option.  At the assembly language level they're pretty much the same too.  It's only if you look at the machine language bit coding that it matters.

     

    The various ARM versions are more alike than different.  They have the same registers and the same core instructions, even though ARM and Thumb-2 have different bit-level encodings.  As I said, if you're developing at the C level it doesn't matter.  For that matter, at the C level you usually can't tell whether you're programming for an ARM or an x86.  In any case, experience you get with one ARM chip translates to other ARM chips.  The important thing is to master the fundamentals so you can quickly learn the differences when you switch from one ARM to another.

     

    JMO/YMMV

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube