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.
Introduction ofOMAP4 Booting Sequence                Jiahe Jou, 2012/09/13
Revisions  DATE       AUTHOR               DESCRIPTION2012/09/13   Jiahe Jou   Draft.
Outlines●   Booting Types●   Booting Overview●   Before Booting●   Peripheral Booting●   Memory Booting●   Memory Map●   M...
Booting Types● To start a initialization software(bootstrap)● Peripheral Booting   ○ UART   ○ USB● Memory Booting   ○ XIP(...
Booting Types● sys_boot[5:0]● Peripheral Preferred Booting  ○ 0b0xxxxx● Memory Preferred Booting  ○ 0b1xxxxx   sys_boot[5:...
Booting Overview    ROM code      start                           Booting   Start up and   configuration                  ...
Booting OverviewBooting                       Yes                Permanent                No                              ...
Before Booting● Start up and configuration   ○ Reading SYSBOOT pins   ○ Software booting configuration● Setup booting devi...
Before Booting● Software booting configuration structure  ○ Store in SAR RAM memory  ○ PUBLIC_SW_BOOT_CFG_ADDR(0x4A326A00)...
Peripheral Booting● Types  ○ UART  ○ USB● Download a flash loader(Pre-flashing)● Initial flash memories● Update firmware
Peripheral Booting                                                            Transfered   Peipheral                      ...
Peripheral BootingSynchronization Phase of USB                               USB enumeration   3s time-out                ...
Peripheral BootingSynchronization Phase of UART                                   ASIC ID                                 ...
Peripheral BootingTransfer Phase                 Image size1min time-out                   Image1min time-out
Peripheral Booting● ASIC ID structure  ○   Items, number of sub-blocks  ○   ID sub-block, device identification  ○   Check...
Memory Booting● Types  ○ XIP(eXecution In Place)    ■ NOR  ○ Non-XIP    ■ MMC(eMMC)    ■ SD(eSD)● Code shadowing for Non-X...
Memory Booting                          Yes  Memory         Is XIP         Execute  Booting         dev?           image  ...
Memory BootingSD/MMC Booting                  Find and get                                        Successed               ...
Memory Booting● SDMMCx interfaces  ○ SDMMC1(SDCard)    ■ Raw    ■ File system  ○ SDMMC2(eMMC)    ■ Raw● Avoid boot time pe...
Memory Booting● Raw  ○ Read image directly from sectors  ○ Four consecutive location, offset 128KB    ■ 0x00000(bytes)    ...
Memory Map             48KB
Make A Bootable SD Card● http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat● Tool    ○ fdisk    ○ mkfs● Procedu...
OMAP Bootloader Overview● http://omappedia.org/wiki/Bootloader_Project● Two stages    ○ x-loader    ○ u-bootROM code      ...
End
Upcoming SlideShare
Loading in …5
×

Introduction of omap4 booting sequence

3,593 views

Published on

Published in: Technology
  • Be the first to comment

Introduction of omap4 booting sequence

  1. 1. Introduction ofOMAP4 Booting Sequence Jiahe Jou, 2012/09/13
  2. 2. Revisions DATE AUTHOR DESCRIPTION2012/09/13 Jiahe Jou Draft.
  3. 3. Outlines● Booting Types● Booting Overview● Before Booting● Peripheral Booting● Memory Booting● Memory Map● Make A Bootable SD Card● OMAP Bootloader Overview
  4. 4. Booting Types● To start a initialization software(bootstrap)● Peripheral Booting ○ UART ○ USB● Memory Booting ○ XIP(eXecution In Place) ■ NOR ○ Non-XIP ■ MMC(eMMC) ■ SD(eSD) ■ NAND
  5. 5. Booting Types● sys_boot[5:0]● Peripheral Preferred Booting ○ 0b0xxxxx● Memory Preferred Booting ○ 0b1xxxxx sys_boot[5:0] 1st 2nd 3rd 4th 0b010110 USB UART MMC1 MMC2(1) 0b110110 MMC2(1) USB UART MMC1
  6. 6. Booting Overview ROM code start Booting Start up and configuration Copying or Image download Yes execution successful? Setup booting No device list No Failed or returned More devices in list? Wait for reset Select device from the list Yes
  7. 7. Booting OverviewBooting Yes Permanent No device? Yes CH Copy and present? excute CH Download Image No No Yes Is XIP Copy to Copy and CH sent? device? RAM excute CH Yes No Image execution
  8. 8. Before Booting● Start up and configuration ○ Reading SYSBOOT pins ○ Software booting configuration● Setup booting device list ○ sys_boot[5:0] ○ Redefined by software booting configuration● Select device from list ○ Select a device to start booting procedure
  9. 9. Before Booting● Software booting configuration structure ○ Store in SAR RAM memory ○ PUBLIC_SW_BOOT_CFG_ADDR(0x4A326A00) ■ Be 0 if cold reset ■ Address of configuration structure on else● Software booting configuration ○ Device booting list ○ Clock setting ○ Time-out mechanism of peripheral booting
  10. 10. Peripheral Booting● Types ○ UART ○ USB● Download a flash loader(Pre-flashing)● Initial flash memories● Update firmware
  11. 11. Peripheral Booting Transfered Peipheral Successed Booting Time-out Transfer Phase UART USB or USB Synchronized USB Initialization Time-out Synchronization Phase Failed UART UART Initialization
  12. 12. Peripheral BootingSynchronization Phase of USB USB enumeration 3s time-out Get ASIC ID ASIC ID Booting message 3s time-out
  13. 13. Peripheral BootingSynchronization Phase of UART ASIC ID Get ASIC ID ASIC ID Booting message300ms time-out
  14. 14. Peripheral BootingTransfer Phase Image size1min time-out Image1min time-out
  15. 15. Peripheral Booting● ASIC ID structure ○ Items, number of sub-blocks ○ ID sub-block, device identification ○ Checksum sub-block, CRC(not for UART) ○ 3 reserved sub-blocks● Booting message ○ Peripheral booting, 0xF0030002 ○ Change device, 0xF003xx06 ○ Next device, 0xFFFFFFFF ○ Memory booting, Others ■ Get ASIC ID, 0xF003 0003
  16. 16. Memory Booting● Types ○ XIP(eXecution In Place) ■ NOR ○ Non-XIP ■ MMC(eMMC) ■ SD(eSD)● Code shadowing for Non-XIP ○ Copying code to RAM
  17. 17. Memory Booting Yes Memory Is XIP Execute Booting dev? image No Copy image to RAM
  18. 18. Memory BootingSD/MMC Booting Find and get Successed booting file Initilization No Configure Yes Is raw card address Get raw data mode? (RCA)
  19. 19. Memory Booting● SDMMCx interfaces ○ SDMMC1(SDCard) ■ Raw ■ File system ○ SDMMC2(eMMC) ■ Raw● Avoid boot time penalty
  20. 20. Memory Booting● Raw ○ Read image directly from sectors ○ Four consecutive location, offset 128KB ■ 0x00000(bytes) ■ 0x20000 ■ 0x40000 ■ 0x60000● File system(FAT16, FAT32) ○ Read image from a booting file ○ SDMMC1 only ○ File name must be "MLO"
  21. 21. Memory Map 48KB
  22. 22. Make A Bootable SD Card● http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat● Tool ○ fdisk ○ mkfs● Procedure ○ Step 1. Prepre a SD card ○ Step 2. Delete all partitions ○ Step 3. Configure SD card ■ Heads, sectors, cylinders ○ Step 4. Create a FAT32 partition ○ Step 5. Mark it as bootable
  23. 23. OMAP Bootloader Overview● http://omappedia.org/wiki/Bootloader_Project● Two stages ○ x-loader ○ u-bootROM code x-loader u-boot Linux kernel 1st stage 2nd stage
  24. 24. End

×