Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Some newbie Questions about MCU?

Status
Not open for further replies.

iamovid

Newbie level 2
Joined
Aug 23, 2012
Messages
2
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,314
Hi guys,
I am a newbie to MCU area. And luckily I just got a job largely involved MCU. However, after I consult the internet, some questions still remain in my mind. Hope any experienced one can help me clarify the details. Thanks!
1) I guess the difference between microprocessor and microcontroller is that MCU contains CPU and other resources like peripheral interfaces, memories, and buses on chip. On the opposite, microprocessor only contains CPU, is it right?
2) Do we have to write any firmware inside microcontroller? I googled it but did not get very informative intros. To be specific, what's the relationship between firmware and MCU?
3) Following the Q2, then what's the relationship between driver and firmware, along with the MCU ?
Some info said that driver is for communication between OS and hardware, and firmware is the software code inside hardware. But I still cannot fully understand the relationship between these.
Also, I am a currently new ASIC designer after my university graduation and assigned job is the do the integration of MCU. I struggled it for one week. Plz help me:)
 

https://maxembedded.wordpress.com/2011/06/05/mcu-vs-mpu/
A short article that should answer Q1 nicely.
As for Q2, usually the code is compiled (usually initially written in C, Assembly (Device Specific codes), Basic, or in raw hex coding. I'm not sure if in your ASIC studies you had to design a computing core, but essentially the core would take in code commands and manipulate data in registers on the chip. For study, I recommend studying the block diagram on page 12 of this document:
**broken link removed**
This is a data sheet of the PIC10F200. This is the most basic microcontroller microchip makes. I'm not sure if this will clear things up for you much, but this is a very basic controller for you to look at.
As for question 3, the chip I showed you has space for 256 instructions. This isn't even compiled C code. This is 256 raw hex code lines. So making a graphical interface or OS or anything like that is impossible. Not near impossible, impossible. I will say, as you get up into the more powerful processors, making an interface is possible. I'm working on a project right now that requires a graphical interface. But the basic devices are designed to do a small, easy, and specific task. Questions? Have I explained it well enough?
 

https://maxembedded.wordpress.com/2011/06/05/mcu-vs-mpu/
A short article that should answer Q1 nicely.
As for Q2, usually the code is compiled (usually initially written in C, Assembly (Device Specific codes), Basic, or in raw hex coding. I'm not sure if in your ASIC studies you had to design a computing core, but essentially the core would take in code commands and manipulate data in registers on the chip. For study, I recommend studying the block diagram on page 12 of this document:
**broken link removed**
This is a data sheet of the PIC10F200. This is the most basic microcontroller microchip makes. I'm not sure if this will clear things up for you much, but this is a very basic controller for you to look at.
As for question 3, the chip I showed you has space for 256 instructions. This isn't even compiled C code. This is 256 raw hex code lines. So making a graphical interface or OS or anything like that is impossible. Not near impossible, impossible. I will say, as you get up into the more powerful processors, making an interface is possible. I'm working on a project right now that requires a graphical interface. But the basic devices are designed to do a small, easy, and specific task. Questions? Have I explained it well enough?


Thanks. The links you just posted help me a lot !!! Can I conclude that any hardware with the need of firmware must contain a microprocessor inside? Or is it possible for a hardware without microprocessor inside yet having a firmware?

For example, do we need to write a firmware for a USB controller and also I still not sure about the relationship between driver and firmware. Thanks for your help !!!

- - - Updated - - -

https://maxembedded.wordpress.com/2011/06/05/mcu-vs-mpu/
A short article that should answer Q1 nicely.
As for Q2, usually the code is compiled (usually initially written in C, Assembly (Device Specific codes), Basic, or in raw hex coding. I'm not sure if in your ASIC studies you had to design a computing core, but essentially the core would take in code commands and manipulate data in registers on the chip. For study, I recommend studying the block diagram on page 12 of this document:
**broken link removed**
This is a data sheet of the PIC10F200. This is the most basic microcontroller microchip makes. I'm not sure if this will clear things up for you much, but this is a very basic controller for you to look at.
As for question 3, the chip I showed you has space for 256 instructions. This isn't even compiled C code. This is 256 raw hex code lines. So making a graphical interface or OS or anything like that is impossible. Not near impossible, impossible. I will say, as you get up into the more powerful processors, making an interface is possible. I'm working on a project right now that requires a graphical interface. But the basic devices are designed to do a small, easy, and specific task. Questions? Have I explained it well enough?


Thanks. The links you just posted help me a lot !!! Can I conclude that any hardware with the need of firmware must contain a microprocessor inside? Or is it possible for a hardware without microprocessor inside yet having a firmware?

For example, do we need to write a firmware for a USB controller and also I still not sure about the relationship between driver and firmware. Thanks for your help !!!

- - - Updated - - -

Difference between Microprocessor and Microcontroller
https://www.engineersgarage.com/tutorials/difference-between-microprocessor-and-microcontroller


Yes you must have firmware to get uC to work. This firmware regulate way how uC control peripheral and what he do in some situations.

THanks. So if there is no uC, there is no need to write firmware. Is it right?
 

For example, do we need to write a firmware for a USB controller and also I still not sure about the relationship between driver and firmware. Thanks for your help !!!
For any peripheral yes you have to interface it. I guess you could say the driver is the group of functions that are targeted to provide easy support for the peripheral. For example, if you have a microcontroller with an ADC(analog to digital converter) peripheral built in, sure you could manually write to each register directly in your main application. But more than likely, you would create functions that write the values for you, so that the code size stays low. So I guess those functions would be the driver. Then your 'main' application would be the firmware, that accesses the drivers. So the drivers are a part of the firmware.
 

Also, I am a currently new ASIC designer after my university graduation and assigned job is the do the integration of MCU. I struggled it for one week. Plz help me:)
I wonder where did you study electronics ? in which country?
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top