Introduction of omap4 booting sequence

3,392 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,392
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
117
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

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

×