6
\$\begingroup\$

I am aware about the basic theoretical differences between the two. Like micro controllers have ROM RAM memory etc., but microprocessor has none. But I am still confused.

  • Why is it said "A microcontroller based on microprocessor" (the very first line).

  • If ARM is a microprocessor, then why STMs use it and call it as micro controller. What's the difference?

  • Is eval board like "TI c-series launchpad" has a micro controller or a micro processor or both.

Kindly correct me if I am wrong anywhere.

\$\endgroup\$
  • \$\begingroup\$ Evaluation board like TI C series has Microcontroller. Boards like Raspberry pi, Beagle bone or Toradex has Microprocessor. By that line, they mean to say, microcontroller is based on ARM core as like PIC microcontrollers are based on MIPS core \$\endgroup\$ – S Andrew Jul 29 '16 at 11:13
  • 1
    \$\begingroup\$ @pjc: The title does give the appearance of this being a dup, but that actual question is quite different. OK, I just fixed the title to match that actual question. \$\endgroup\$ – Olin Lathrop Jul 29 '16 at 11:29
  • \$\begingroup\$ @CHendrix: You have changed the title back so that the question looks like a duplicate of the one pjc50 linked to. That's only going to get the question closed as a dup, since many won't look past the title. Your edit to the question body was also very heavy handed. I'm seriously considering rolling back your edit, but am going to give it a little time to see what others think or how they might edit the question. \$\endgroup\$ – Olin Lathrop Jul 29 '16 at 11:51
  • \$\begingroup\$ @OlinLathrop Whoops. I think I managed to stomp an edit that happened while I was editing. Lemme go put that back... \$\endgroup\$ – CHendrix Jul 29 '16 at 11:56
13
\$\begingroup\$

ARM is the CPU core, which can be used to implement a microprocessor or a microcontroller.

The full sentence you referenced is:

The STM32 family of 32‑bit Flash microcontrollers based on the ARM® Cortex®‑M processor is designed to offer new degrees of freedom to MCU users.

Clearly this is largely content-free marketing babble. Don't pay much attention to it. It actually never says "microprocessor". It refers to the ARM core as a "processor", which isn't strictly right either. It's just a core, which can be used to implement various kinds of processors.

The core is more like the engine of a car. You license the design from ARM, but can heavily configure it to your needs, and putting the chassis and wheels around it is your job. You can make the result a sports car, a pickup truck, or various other types of vehicles. The marketing babble above is like saying "We've based this pickup truck on a sports car". No, they haven't. They've base the pickup truck on the same basic engine technology others have used to make a sports car with.

Again though, the important point is that this is all marketing babble. There is nothing useful to see here. Move along everyone.

\$\endgroup\$
  • \$\begingroup\$ And in this case the cortex-m is a core aimed directly at microcontrollers not microprocessors, the older microcontrollers used the same core as the microprocessors (ARM7TDMI). ARM now has different product lines for their cores. \$\endgroup\$ – old_timer Jul 29 '16 at 14:55
3
\$\begingroup\$

A microprocessor is effectively a computer without any peripherals (I/O, ADC, timers, etc). A microcontroller is a processor with those peripherals connected and all combined into one package. Therefore, a microcontroller is based on a microprocessor, and adds peripherals to it.

\$\endgroup\$
  • \$\begingroup\$ There is more to a microcontroller than a microprocessor with peripherals and memory built in. The peripherals are usually more tightly coupled to the processor core. You don't access them with special I/O instructions, for example. Since they are all on the same chip, they can be more integrated. The interrupt controller, for example, natively knows about all the interrupt sources and in some cases is designed to accomodate specific quirks of specific peripherals. This can't be done when the interrupt controller is general purpose and independently designed from peripherals. \$\endgroup\$ – Olin Lathrop Aug 1 '16 at 21:55
  • \$\begingroup\$ This is true, I did not intend to imply that the peripherals were completely independent of the core processor and could only be accessed through I/O instructions. Just that a microcontroller is the equivalent of a processor and peripherals all in one package. \$\endgroup\$ – DerStrom8 Aug 2 '16 at 1:51
1
\$\begingroup\$

Microcontrollers are said to be "complete" systems(human body), while microprocessor is just a "brain". When you consider purchasing microcontroller, you usually assume that it has many features required for your design, and main thing is to achieve a task, not the speed. When you consider purchasing a microprocessor, you know that you are good in terms of speed, but you will have to put additional effort to integrate it to your system. So, in your particular example, saying that a microcontroller based on certain microprocessor would imply that this microcontroller's computation power is fast compared to other microcontrollers. So, think of it like someone used that microprocessor and built a system for you so you don't have to do additional work. That's my understanding, correct me if I am wrong.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.