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.

startup of the bare hardware metal

Status
Not open for further replies.

piyushpandey

Member level 4
Joined
Mar 26, 2012
Messages
70
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Activity points
2,051
hello guys

I want to ask one basic thing about the bootloader.

as bootloader is the first program which runs on the machine and initialises all the process and the hardware before passing the command to the operating system.

But what I want to know is that how it bring up the board , I mean when we push the power button bootloader gets staarted and start doing it's job. So I want to know the processes which happen between the powering and passing the control to the bootloader and also how the bootloader knows from where to start.

How it is different from running the normal LED blinking code running on an ATMEGA8 or any other MCU like PIC.

If possible can you people help me from the hardware and software point of view as well.

Please guys tell me what material will be helpful and what refrences ahould I look for.

also if there is any book or article on this please give me the link of it.


Thank you
 

When a CPU is reset, it starts executing code from a defined address (often 0, or some other address for specific CPU's). The hardware will make sure there's a known piece of code at that address, for example the contents of a ROM chip.

Usually that code will do some hardware initialization. Like setting some chipset registers, determine amount of RAM, initialize a few storage controllers/devices. With the goal of loading code from one of those storage devices (or network, in case of a network boot). Whatever code is loaded then, determines what happens next.

For PC's, that sequence is something like BIOS Power-On-Self-Test, use BIOS settings (from non-volatile RAM) to initialize hardware, load bootsector from selected boot device, bootsector loads bootloader, bootloader uses BIOS to load OS kernel + some startup code, startup code loads additional drivers, detects & initializes hardware (using OS drivers rather than BIOS), and then GUI / desktop environment things are loaded & started.

For other systems this may be totally different (likely simpler ;-) ), only the first steps in the process will be similar to what happens on PC's. So

How it is different from running the normal LED blinking code running on an ATMEGA8 or any other MCU like PIC.
It isn't.

As for reading material: what CPU / board / system(s) are we talking about? :?:
 

hello retrotechie

you give a good brief insight of what I have asked but still I want to more about it and in very descriptive manner so can you please tell me where I should search for the material related to it or if you have materials so would you please share it with me.

Also I am confused that what term I should use for browsing in the google browser.


Thanks for reply

---------- Post added at 11:08 ---------- Previous post was at 11:06 ----------

hello retrotechie

you give a good brief insight of what I have asked but still I want to more about it and in very descriptive manner so can you please tell me where I should search for the material related to it or if you have materials so would you please share it with me.

Also I am confused that what term I should use for browsing in the google browser.


Thanks for reply
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top