Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

BeagleBoard-xM Bootloaders

2,863 views

Published on

BeagleBoard-xM Bootloaders

Published in: Technology
  • Be the first to comment

  • Be the first to like this

BeagleBoard-xM Bootloaders

  1. 1. © 2014-17 SysPlay Workshops <workshop@sysplay.in> All Rights Reserved. BeagleBoard-xM Bootloaders
  2. 2. 2© 2014-17 SysPlay Workshops <workshop@sysplay.in> All Rights Reserved. What to Expect? Beagle Booting Process W's of X-Loader BSP in X-Loader W's of U-Boot BSP in U-Boot
  3. 3. 3© 2014-17 SysPlay Workshops <workshop@sysplay.in> All Rights Reserved. General Booting of BeagleBoard ROM Code Internal ROM X-Loader Internal SRAM Internal ROM U-Boot External DDR Kernel External DDR
  4. 4. 4© 2014-17 SysPlay Workshops <workshop@sysplay.in> All Rights Reserved. X-Loader
  5. 5. 5© 2014-17 SysPlay Workshops <workshop@sysplay.in> All Rights Reserved. W's of X-Loader First stage bootloader for Beagle Board Derived from u-boot – the second stage bootloader Named as MLO (Memory Loader) in filesystem. Runs in an internal SRAM Loads the second stage bootloader i.e. U-Boot
  6. 6. 6© 2014-17 SysPlay Workshops <workshop@sysplay.in> All Rights Reserved. Let's Get Down to Source Code
  7. 7. 7© 2014-17 SysPlay Workshops <workshop@sysplay.in> All Rights Reserved. BSP for X-Loader cpu/omap3 board/omap3530beagle/omap3530beagle.c board/omap3530beagle/platform.S lib/board.c include/configs/omap3530beagle.h
  8. 8. 8© 2014-17 SysPlay Workshops <workshop@sysplay.in> All Rights Reserved. U-Boot
  9. 9. 9© 2014-17 SysPlay Workshops <workshop@sysplay.in> All Rights Reserved. W's of U-Boot Universal Bootloader (U-Boot) An Open Source Bootloader With minimal changes, can be ported for any board GRUB/LILO Designed with x-86 in mind Huge in Size Needs to be changed drastically for porting on other architecture
  10. 10. 10© 2014-17 SysPlay Workshops <workshop@sysplay.in> All Rights Reserved. U-Boot Source Tree arch – Architecture dependent Code board – Board dependent Code common – Environment & Command Line Code doc – Documentation drivers – Device specific Drivers fs – File System support Code include – Headers lib – Compression, Encryption related Code net – Minimal Network Stack tools – U-Boot Utilities (mkimage is here)
  11. 11. 11© 2014-17 SysPlay Workshops <workshop@sysplay.in> All Rights Reserved. U-Boot Initialization Details Bootloader starts its execution from flash /RAM Hardware Diagnostics, like POST, … Configuring the CPU speed, MMU setting, etc Memory setup & initialization Setting up interfacing ports like serial, VGA, … Sets up the address of the boot parameters
  12. 12. 12© 2014-17 SysPlay Workshops <workshop@sysplay.in> All Rights Reserved. U-Boot Configuration Creating a configuration file for the board Adding an entry in the board.cfg Architecture CPU Board Vendor (May be NULL) SoC (May be NULL)
  13. 13. 13© 2014-17 SysPlay Workshops <workshop@sysplay.in> All Rights Reserved. Let's Get Down to Source Code
  14. 14. 14© 2014-17 SysPlay Workshops <workshop@sysplay.in> All Rights Reserved. Which folders to look for? include/asm/mach-types.h - machine id arch/arm/include/asm/arch-omap3 cpu/armv7/omap3/board.c ti/beagle/beagle.c arch/arm/lib/board.c – specific to arm
  15. 15. 15© 2014-17 SysPlay Workshops <workshop@sysplay.in> All Rights Reserved. U-Boot Porting Implies adding a new Board to U-Boot That entails Adding board specific code at the right places Adding the new board directory under board/ with Makefile Initialization Code for the Board Configuration Makefile Adding the new board header under include/configs/ with Configuration for the Board
  16. 16. 16© 2014-17 SysPlay Workshops <workshop@sysplay.in> All Rights Reserved. What all have learnt? Beagle Booting Process W's of X-Loader BSP in X-Loader W's of U-Boot BSP in U-Boot
  17. 17. 17© 2014-17 SysPlay Workshops <workshop@sysplay.in> All Rights Reserved. Any Queries?

×