SlideShare una empresa de Scribd logo
1 de 16
Board Bringup



© 2010 Anil Kumar Pugalia <email@sarika-pugs.com>
               All Rights Reserved.
What to Expect?
Board specific Details
Understanding the target board
How to play with the target board?
Peeking into Vendor supplied Utilities, if
any




         © 2010 Anil Kumar Pugalia <email@sarika-pugs.com>   2
                        All Rights Reserved.
Startup Doubts
Typical doubts you may have, be it your
desktop or board
  What happens when you switch on the power?
  Where does the processor starts executing on
  “Power on Reset”?
  What code is there? Do you have access to that
  code?
  How does the Operating System boot up?
  How does the login prompt come?
  Any many more
         © 2010 Anil Kumar Pugalia <email@sarika-pugs.com>   3
                        All Rights Reserved.
Startup Sequence
To Decode all these, let's understand the
Startup Sequence
  Processor / Controller Startup
  Bootloader or the Software Startup
  Operating System Startup
  Application Startup
Though they may vary from board to board,
we can have a generic overview
And then, we shall get into your board
specifics
          © 2010 Anil Kumar Pugalia <email@sarika-pugs.com>   4
                         All Rights Reserved.
Processor / Controller Startup
Controller Internal Code
  Mostly exists in Controllers (Embedded Systems)
System Startup / Setup Code
  Mostly exists for Processors in Desktops
  Processors jump to a pre-designated address, typically Zero,
  to run these pre-programmed code
  Referred as BIOS in the Desktop parlance
  Needs to be programmed once, on virgin boards
In both the cases, the Code looks for the Stage1
Bootloader at the designated places
    Embedded: EEPROM, Flash, Serial Download, …
    Desktops: Floppy, CDROM, Hard Disk, Network, ...
             © 2010 Anil Kumar Pugalia <email@sarika-pugs.com>   5
                            All Rights Reserved.
Software Startup
Stage 1 Bootloader
 Initial Program Loader (IPL) in Embedded World
 Master Boot Record (MBR) in Desktops
 Constrained to limited Space. Can't do much
 So, loads
Stage 2 Bootloader
 Have enough space to do luxurious stuff
 Provides configurability and management features
 Loads the Operating System
 Passes arguments to the Operating System
 Jumps to start executing the Operating System
 For Desktops: LILO, GRUB, SYSLINUX, ...
 In Embedded Systems: u-boot and others
   Also called Secondary Program Loader (SPL)
               © 2010 Anil Kumar Pugalia <email@sarika-pugs.com>   6
                              All Rights Reserved.
Operating System Startup
Uncompresses the kernel, if compressed
Configures itself based on the arguments
from the Stage 2 Bootloader
Setup the Kernel Space
Jump execution to the first application
  “init”
Common to both Desktop & Embedded


           © 2010 Anil Kumar Pugalia <email@sarika-pugs.com>   7
                          All Rights Reserved.
Application Startup
init
  This could be the application binary itself. Or,
  Could be a link to it
  It typically starts the various daemons
  And then does things as per the system's
  requirement
  In Desktop, starts the login process to provide login
  prompts
  In Embedded Systems, does the same at least
  during Development Cycle
  Later, may do specific to customer requirement
           © 2010 Anil Kumar Pugalia <email@sarika-pugs.com>   8
                          All Rights Reserved.
Startup Sequence
Power Up / Reset                                        BIOS
                         System Startup                 Controller Code

                                                        Master Boot Record
                       Stage 1 Bootloader               Initial Program Loader

                                                        LILO, GRUB, …
                       Stage 2 Bootloader               u-boot, ...


                        Operating System                Linux Kernel



Operational                 Application                 init → busbox, ...



                   © 2010 Anil Kumar Pugalia <email@sarika-pugs.com>             9
                                  All Rights Reserved.
Let's Startup the Board




© 2010 Anil Kumar Pugalia <email@sarika-pugs.com>   10
               All Rights Reserved.
Anatomy of Development Board
 Being a Embedded Developer, you should
 know your board in more detail
 Both
  Hardware
    Major components
    Types of memories
  Software
    Manufactured State
    Factory Restoration

         © 2010 Anil Kumar Pugalia <email@sarika-pugs.com>   11
                        All Rights Reserved.
Let's Browse the Board




© 2010 Anil Kumar Pugalia <email@sarika-pugs.com>   12
               All Rights Reserved.
Manufactured State
State at which, it was when manufactured
Also called the Virgin State
Achieved by erasing all the memories
  EEPROM
  Flash – NOR, NAND, ...
This, in principle erases
  Bootloaders – Stage 1 & Stage 2
  Kernel
  File Systems
           © 2010 Anil Kumar Pugalia <email@sarika-pugs.com>   13
                          All Rights Reserved.
Factory Restoration
So, this is to get the Board back to boot up
In principle, populating back the memories erased with
  Stage 1 & Stage 2 Bootloaders
  Kernel
  Root File System
  Optionally, the Other File Systems
Would need some special utilities
  Provided by the board vendor (the factory guy)
  Examples: RAM Monitor, Boot Monitor, ...
  At times of nothing, these are good debug utilities, as well



             © 2010 Anil Kumar Pugalia <email@sarika-pugs.com>   14
                            All Rights Reserved.
What all have we done?
Understood the target board
  Switching it on
  Accessing the stuff on it
  Configuring it
How to play with the target board?
  Decoding the Hardware
  Taking it to a virgin state
  Restoring it to factory defaults

         © 2010 Anil Kumar Pugalia <email@sarika-pugs.com>   15
                        All Rights Reserved.
Any Queries?




© 2010 Anil Kumar Pugalia <email@sarika-pugs.com>   16
               All Rights Reserved.

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Uboot startup sequence
Uboot startup sequenceUboot startup sequence
Uboot startup sequence
 
LCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted FirmwareLCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted Firmware
 
UART
UARTUART
UART
 
Linux Internals - Part II
Linux Internals - Part IILinux Internals - Part II
Linux Internals - Part II
 
Toolchain
ToolchainToolchain
Toolchain
 
Embedded Linux Kernel - Build your custom kernel
Embedded Linux Kernel - Build your custom kernelEmbedded Linux Kernel - Build your custom kernel
Embedded Linux Kernel - Build your custom kernel
 
USB Drivers
USB DriversUSB Drivers
USB Drivers
 
Jagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratchJagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratch
 
U-Boot - An universal bootloader
U-Boot - An universal bootloader U-Boot - An universal bootloader
U-Boot - An universal bootloader
 
Linux dma engine
Linux dma engineLinux dma engine
Linux dma engine
 
Qemu Pcie
Qemu PcieQemu Pcie
Qemu Pcie
 
Introduction to Linux
Introduction to LinuxIntroduction to Linux
Introduction to Linux
 
UVM Methodology Tutorial
UVM Methodology TutorialUVM Methodology Tutorial
UVM Methodology Tutorial
 
SOC design
SOC design SOC design
SOC design
 
Arm device tree and linux device drivers
Arm device tree and linux device driversArm device tree and linux device drivers
Arm device tree and linux device drivers
 
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime RipardKernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
 
Linux device drivers
Linux device drivers Linux device drivers
Linux device drivers
 
PCI Drivers
PCI DriversPCI Drivers
PCI Drivers
 
Communication Protocols (UART, SPI,I2C)
Communication Protocols (UART, SPI,I2C)Communication Protocols (UART, SPI,I2C)
Communication Protocols (UART, SPI,I2C)
 
Pcie basic
Pcie basicPcie basic
Pcie basic
 

Similar a Board Bringup: Understanding Startup Sequence and Restoring Factory Defaults

Improving User Experience with Ubiquitous QuickBoot
 Improving User Experience with Ubiquitous QuickBoot Improving User Experience with Ubiquitous QuickBoot
Improving User Experience with Ubiquitous QuickBootICS
 
Tkos secure boot_lecture_20190605
Tkos secure boot_lecture_20190605Tkos secure boot_lecture_20190605
Tkos secure boot_lecture_20190605benavrhm
 
Armboot process zeelogic
Armboot process zeelogicArmboot process zeelogic
Armboot process zeelogicAleem Shariff
 
Ex 1 chapter11-configure-network-tony_chen
Ex 1 chapter11-configure-network-tony_chenEx 1 chapter11-configure-network-tony_chen
Ex 1 chapter11-configure-network-tony_chenĐô GiẢn
 
Bootkits step by-step-slides-final-v1-release
Bootkits step by-step-slides-final-v1-releaseBootkits step by-step-slides-final-v1-release
Bootkits step by-step-slides-final-v1-releaseEric Koeppen
 
booting steps of a computer
booting steps of a computerbooting steps of a computer
booting steps of a computerAnusha Babooa
 
Ltrt 30500 boot p technical note ver. 6.2
Ltrt 30500 boot p technical note ver. 6.2Ltrt 30500 boot p technical note ver. 6.2
Ltrt 30500 boot p technical note ver. 6.2charlyalize
 
Analyze and optimize Android apps power consumption
Analyze and optimize Android apps power consumptionAnalyze and optimize Android apps power consumption
Analyze and optimize Android apps power consumptionDroidConTLV
 
Hypervisor and VDI security
Hypervisor and VDI securityHypervisor and VDI security
Hypervisor and VDI securityDenis Gundarev
 
The operating system (os),
The operating system (os),The operating system (os),
The operating system (os),emesce
 
Cpu register, instruction exucution and interrupts unit 1 by ram k paliwal
Cpu register, instruction exucution and interrupts unit 1 by ram k paliwalCpu register, instruction exucution and interrupts unit 1 by ram k paliwal
Cpu register, instruction exucution and interrupts unit 1 by ram k paliwalRam Paliwal
 

Similar a Board Bringup: Understanding Startup Sequence and Restoring Factory Defaults (20)

Processes
ProcessesProcesses
Processes
 
BeagleBone Black Booting Process
BeagleBone Black Booting ProcessBeagleBone Black Booting Process
BeagleBone Black Booting Process
 
BeagleBoard-xM Booting Process
BeagleBoard-xM Booting ProcessBeagleBoard-xM Booting Process
BeagleBoard-xM Booting Process
 
Improving User Experience with Ubiquitous QuickBoot
 Improving User Experience with Ubiquitous QuickBoot Improving User Experience with Ubiquitous QuickBoot
Improving User Experience with Ubiquitous QuickBoot
 
Architecture Porting
Architecture PortingArchitecture Porting
Architecture Porting
 
Tkos secure boot_lecture_20190605
Tkos secure boot_lecture_20190605Tkos secure boot_lecture_20190605
Tkos secure boot_lecture_20190605
 
Armboot process zeelogic
Armboot process zeelogicArmboot process zeelogic
Armboot process zeelogic
 
Real Time Systems
Real Time SystemsReal Time Systems
Real Time Systems
 
Ex 1 chapter11-configure-network-tony_chen
Ex 1 chapter11-configure-network-tony_chenEx 1 chapter11-configure-network-tony_chen
Ex 1 chapter11-configure-network-tony_chen
 
Embedded I/O Management
Embedded I/O ManagementEmbedded I/O Management
Embedded I/O Management
 
bios.docx
bios.docxbios.docx
bios.docx
 
Bootkits step by-step-slides-final-v1-release
Bootkits step by-step-slides-final-v1-releaseBootkits step by-step-slides-final-v1-release
Bootkits step by-step-slides-final-v1-release
 
booting steps of a computer
booting steps of a computerbooting steps of a computer
booting steps of a computer
 
Ltrt 30500 boot p technical note ver. 6.2
Ltrt 30500 boot p technical note ver. 6.2Ltrt 30500 boot p technical note ver. 6.2
Ltrt 30500 boot p technical note ver. 6.2
 
Booting & shut down,
Booting & shut down,Booting & shut down,
Booting & shut down,
 
Analyze and optimize Android apps power consumption
Analyze and optimize Android apps power consumptionAnalyze and optimize Android apps power consumption
Analyze and optimize Android apps power consumption
 
5003361.ppt
5003361.ppt5003361.ppt
5003361.ppt
 
Hypervisor and VDI security
Hypervisor and VDI securityHypervisor and VDI security
Hypervisor and VDI security
 
The operating system (os),
The operating system (os),The operating system (os),
The operating system (os),
 
Cpu register, instruction exucution and interrupts unit 1 by ram k paliwal
Cpu register, instruction exucution and interrupts unit 1 by ram k paliwalCpu register, instruction exucution and interrupts unit 1 by ram k paliwal
Cpu register, instruction exucution and interrupts unit 1 by ram k paliwal
 

Más de Anil Kumar Pugalia (20)

File System Modules
File System ModulesFile System Modules
File System Modules
 
Kernel Debugging & Profiling
Kernel Debugging & ProfilingKernel Debugging & Profiling
Kernel Debugging & Profiling
 
Processes
ProcessesProcesses
Processes
 
System Calls
System CallsSystem Calls
System Calls
 
Introduction to Linux
Introduction to LinuxIntroduction to Linux
Introduction to Linux
 
Embedded C
Embedded CEmbedded C
Embedded C
 
Embedded Software Design
Embedded Software DesignEmbedded Software Design
Embedded Software Design
 
Playing with R L C Circuits
Playing with R L C CircuitsPlaying with R L C Circuits
Playing with R L C Circuits
 
Audio Drivers
Audio DriversAudio Drivers
Audio Drivers
 
Mobile Hacking using Linux Drivers
Mobile Hacking using Linux DriversMobile Hacking using Linux Drivers
Mobile Hacking using Linux Drivers
 
Shell Scripting
Shell ScriptingShell Scripting
Shell Scripting
 
References
ReferencesReferences
References
 
Functional Programming with LISP
Functional Programming with LISPFunctional Programming with LISP
Functional Programming with LISP
 
Power of vi
Power of viPower of vi
Power of vi
 
gcc and friends
gcc and friendsgcc and friends
gcc and friends
 
"make" system
"make" system"make" system
"make" system
 
Hardware Design for Software Hackers
Hardware Design for Software HackersHardware Design for Software Hackers
Hardware Design for Software Hackers
 
RPM Building
RPM BuildingRPM Building
RPM Building
 
Linux User Space Debugging & Profiling
Linux User Space Debugging & ProfilingLinux User Space Debugging & Profiling
Linux User Space Debugging & Profiling
 
Linux Network Management
Linux Network ManagementLinux Network Management
Linux Network Management
 

Último

Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 

Último (20)

Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 

Board Bringup: Understanding Startup Sequence and Restoring Factory Defaults

  • 1. Board Bringup © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> All Rights Reserved.
  • 2. What to Expect? Board specific Details Understanding the target board How to play with the target board? Peeking into Vendor supplied Utilities, if any © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 2 All Rights Reserved.
  • 3. Startup Doubts Typical doubts you may have, be it your desktop or board What happens when you switch on the power? Where does the processor starts executing on “Power on Reset”? What code is there? Do you have access to that code? How does the Operating System boot up? How does the login prompt come? Any many more © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 3 All Rights Reserved.
  • 4. Startup Sequence To Decode all these, let's understand the Startup Sequence Processor / Controller Startup Bootloader or the Software Startup Operating System Startup Application Startup Though they may vary from board to board, we can have a generic overview And then, we shall get into your board specifics © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 4 All Rights Reserved.
  • 5. Processor / Controller Startup Controller Internal Code Mostly exists in Controllers (Embedded Systems) System Startup / Setup Code Mostly exists for Processors in Desktops Processors jump to a pre-designated address, typically Zero, to run these pre-programmed code Referred as BIOS in the Desktop parlance Needs to be programmed once, on virgin boards In both the cases, the Code looks for the Stage1 Bootloader at the designated places Embedded: EEPROM, Flash, Serial Download, … Desktops: Floppy, CDROM, Hard Disk, Network, ... © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 5 All Rights Reserved.
  • 6. Software Startup Stage 1 Bootloader Initial Program Loader (IPL) in Embedded World Master Boot Record (MBR) in Desktops Constrained to limited Space. Can't do much So, loads Stage 2 Bootloader Have enough space to do luxurious stuff Provides configurability and management features Loads the Operating System Passes arguments to the Operating System Jumps to start executing the Operating System For Desktops: LILO, GRUB, SYSLINUX, ... In Embedded Systems: u-boot and others Also called Secondary Program Loader (SPL) © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 6 All Rights Reserved.
  • 7. Operating System Startup Uncompresses the kernel, if compressed Configures itself based on the arguments from the Stage 2 Bootloader Setup the Kernel Space Jump execution to the first application “init” Common to both Desktop & Embedded © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 7 All Rights Reserved.
  • 8. Application Startup init This could be the application binary itself. Or, Could be a link to it It typically starts the various daemons And then does things as per the system's requirement In Desktop, starts the login process to provide login prompts In Embedded Systems, does the same at least during Development Cycle Later, may do specific to customer requirement © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 8 All Rights Reserved.
  • 9. Startup Sequence Power Up / Reset BIOS System Startup Controller Code Master Boot Record Stage 1 Bootloader Initial Program Loader LILO, GRUB, … Stage 2 Bootloader u-boot, ... Operating System Linux Kernel Operational Application init → busbox, ... © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 9 All Rights Reserved.
  • 10. Let's Startup the Board © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 10 All Rights Reserved.
  • 11. Anatomy of Development Board Being a Embedded Developer, you should know your board in more detail Both Hardware Major components Types of memories Software Manufactured State Factory Restoration © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 11 All Rights Reserved.
  • 12. Let's Browse the Board © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 12 All Rights Reserved.
  • 13. Manufactured State State at which, it was when manufactured Also called the Virgin State Achieved by erasing all the memories EEPROM Flash – NOR, NAND, ... This, in principle erases Bootloaders – Stage 1 & Stage 2 Kernel File Systems © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 13 All Rights Reserved.
  • 14. Factory Restoration So, this is to get the Board back to boot up In principle, populating back the memories erased with Stage 1 & Stage 2 Bootloaders Kernel Root File System Optionally, the Other File Systems Would need some special utilities Provided by the board vendor (the factory guy) Examples: RAM Monitor, Boot Monitor, ... At times of nothing, these are good debug utilities, as well © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 14 All Rights Reserved.
  • 15. What all have we done? Understood the target board Switching it on Accessing the stuff on it Configuring it How to play with the target board? Decoding the Hardware Taking it to a virgin state Restoring it to factory defaults © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 15 All Rights Reserved.
  • 16. Any Queries? © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 16 All Rights Reserved.