SlideShare a Scribd company logo
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.

More Related Content

What's hot

Basic Linux Internals
Basic Linux InternalsBasic Linux Internals
Basic Linux Internals
mukul bhardwaj
 
Embedded linux network device driver development
Embedded linux network device driver developmentEmbedded linux network device driver development
Embedded linux network device driver development
Amr Ali (ISTQB CTAL Full, CSM, ITIL Foundation)
 
I2C Drivers
I2C DriversI2C Drivers
PCI Drivers
PCI DriversPCI Drivers
PCI Drivers
Anil Kumar Pugalia
 
Project ACRN: SR-IOV implementation
Project ACRN: SR-IOV implementationProject ACRN: SR-IOV implementation
Project ACRN: SR-IOV implementation
Geoffroy Van Cutsem
 
U boot porting guide for SoC
U boot porting guide for SoCU boot porting guide for SoC
U boot porting guide for SoC
Macpaul Lin
 
Linux Porting to a Custom Board
Linux Porting to a Custom BoardLinux Porting to a Custom Board
Linux Porting to a Custom Board
Patrick Bellasi
 
U-Boot presentation 2013
U-Boot presentation  2013U-Boot presentation  2013
U-Boot presentation 2013
Wave Digitech
 
Uboot startup sequence
Uboot startup sequenceUboot startup sequence
Uboot startup sequence
Houcheng Lin
 
Embedded Linux on ARM
Embedded Linux on ARMEmbedded Linux on ARM
Part 01 Linux Kernel Compilation (Ubuntu)
Part 01 Linux Kernel Compilation (Ubuntu)Part 01 Linux Kernel Compilation (Ubuntu)
Part 01 Linux Kernel Compilation (Ubuntu)
Tushar B Kute
 
BeagleBone Black Bootloaders
BeagleBone Black BootloadersBeagleBone Black Bootloaders
BeagleBone Black Bootloaders
SysPlay eLearning Academy for You
 
Verification Strategy for PCI-Express
Verification Strategy for PCI-ExpressVerification Strategy for PCI-Express
Verification Strategy for PCI-Express
DVClub
 
Introduction to Linux Drivers
Introduction to Linux DriversIntroduction to Linux Drivers
Introduction to Linux Drivers
Anil Kumar Pugalia
 
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
Houcheng Lin
 
BusyBox for Embedded Linux
BusyBox for Embedded LinuxBusyBox for Embedded Linux
BusyBox for Embedded Linux
Emertxe Information Technologies Pvt Ltd
 
SPI Drivers
SPI DriversSPI Drivers
FPGA Verilog Processor Design
FPGA Verilog Processor DesignFPGA Verilog Processor Design
FPGA Verilog Processor Design
Archana Udaranga
 
U boot-boot-flow
U boot-boot-flowU boot-boot-flow
Embedded Linux BSP Training (Intro)
Embedded Linux BSP Training (Intro)Embedded Linux BSP Training (Intro)
Embedded Linux BSP Training (Intro)
RuggedBoardGroup
 

What's hot (20)

Basic Linux Internals
Basic Linux InternalsBasic Linux Internals
Basic Linux Internals
 
Embedded linux network device driver development
Embedded linux network device driver developmentEmbedded linux network device driver development
Embedded linux network device driver development
 
I2C Drivers
I2C DriversI2C Drivers
I2C Drivers
 
PCI Drivers
PCI DriversPCI Drivers
PCI Drivers
 
Project ACRN: SR-IOV implementation
Project ACRN: SR-IOV implementationProject ACRN: SR-IOV implementation
Project ACRN: SR-IOV implementation
 
U boot porting guide for SoC
U boot porting guide for SoCU boot porting guide for SoC
U boot porting guide for SoC
 
Linux Porting to a Custom Board
Linux Porting to a Custom BoardLinux Porting to a Custom Board
Linux Porting to a Custom Board
 
U-Boot presentation 2013
U-Boot presentation  2013U-Boot presentation  2013
U-Boot presentation 2013
 
Uboot startup sequence
Uboot startup sequenceUboot startup sequence
Uboot startup sequence
 
Embedded Linux on ARM
Embedded Linux on ARMEmbedded Linux on ARM
Embedded Linux on ARM
 
Part 01 Linux Kernel Compilation (Ubuntu)
Part 01 Linux Kernel Compilation (Ubuntu)Part 01 Linux Kernel Compilation (Ubuntu)
Part 01 Linux Kernel Compilation (Ubuntu)
 
BeagleBone Black Bootloaders
BeagleBone Black BootloadersBeagleBone Black Bootloaders
BeagleBone Black Bootloaders
 
Verification Strategy for PCI-Express
Verification Strategy for PCI-ExpressVerification Strategy for PCI-Express
Verification Strategy for PCI-Express
 
Introduction to Linux Drivers
Introduction to Linux DriversIntroduction to Linux Drivers
Introduction to Linux Drivers
 
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
 
BusyBox for Embedded Linux
BusyBox for Embedded LinuxBusyBox for Embedded Linux
BusyBox for Embedded Linux
 
SPI Drivers
SPI DriversSPI Drivers
SPI Drivers
 
FPGA Verilog Processor Design
FPGA Verilog Processor DesignFPGA Verilog Processor Design
FPGA Verilog Processor Design
 
U boot-boot-flow
U boot-boot-flowU boot-boot-flow
U boot-boot-flow
 
Embedded Linux BSP Training (Intro)
Embedded Linux BSP Training (Intro)Embedded Linux BSP Training (Intro)
Embedded Linux BSP Training (Intro)
 

Similar to Board Bringup

Processes
ProcessesProcesses
BeagleBone Black Booting Process
BeagleBone Black Booting ProcessBeagleBone Black Booting Process
BeagleBone Black Booting Process
SysPlay eLearning Academy for You
 
BeagleBoard-xM Booting Process
BeagleBoard-xM Booting ProcessBeagleBoard-xM Booting Process
BeagleBoard-xM Booting Process
SysPlay eLearning Academy for You
 
Improving User Experience with Ubiquitous QuickBoot
 Improving User Experience with Ubiquitous QuickBoot Improving User Experience with Ubiquitous QuickBoot
Improving User Experience with Ubiquitous QuickBoot
ICS
 
Architecture Porting
Architecture PortingArchitecture Porting
Architecture Porting
Anil Kumar Pugalia
 
Tkos secure boot_lecture_20190605
Tkos secure boot_lecture_20190605Tkos secure boot_lecture_20190605
Tkos secure boot_lecture_20190605
benavrhm
 
Armboot process zeelogic
Armboot process zeelogicArmboot process zeelogic
Armboot process zeelogic
Aleem Shariff
 
Real Time Systems
Real Time SystemsReal Time Systems
Real Time Systems
Anil Kumar Pugalia
 
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
 
Embedded I/O Management
Embedded I/O ManagementEmbedded I/O Management
Embedded I/O Management
Anil Kumar Pugalia
 
bios.docx
bios.docxbios.docx
bios.docx
SUBIRKUMARPANDA1
 
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
Eric Koeppen
 
booting steps of a computer
booting steps of a computerbooting steps of a computer
booting steps of a computer
Anusha 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.2
charlyalize
 
Booting & shut down,
Booting & shut down,Booting & shut down,
Booting & shut down,
Bhushan Pawar -Java Trainer
 
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
DroidConTLV
 
5003361.ppt
5003361.ppt5003361.ppt
5003361.ppt
AdelfaJoycePagobo
 
Hypervisor and VDI security
Hypervisor and VDI securityHypervisor and VDI security
Hypervisor and VDI security
Denis 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 paliwal
Ram Paliwal
 

Similar to Board Bringup (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
 

More from Anil Kumar Pugalia

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

More from 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
 
Video Drivers
Video DriversVideo Drivers
Video 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
 

Recently uploaded

RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 

Recently uploaded (20)

RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 

Board Bringup

  • 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.