introduction of omap4 booting sequence
TRANSCRIPT
![Page 1: Introduction of omap4 booting sequence](https://reader034.vdocuments.site/reader034/viewer/2022042614/5561542ad8b42a780d8b5162/html5/thumbnails/1.jpg)
Introduction of OMAP4 Booting Sequence
Jiahe Jou, 2012/09/13
![Page 2: Introduction of omap4 booting sequence](https://reader034.vdocuments.site/reader034/viewer/2022042614/5561542ad8b42a780d8b5162/html5/thumbnails/2.jpg)
RevisionsDATE AUTHOR DESCRIPTION
2012/09/13 Jiahe Jou Draft.
![Page 3: Introduction of omap4 booting sequence](https://reader034.vdocuments.site/reader034/viewer/2022042614/5561542ad8b42a780d8b5162/html5/thumbnails/3.jpg)
Outlines
● Booting Types● Booting Overview● Before Booting● Peripheral Booting● Memory Booting● Memory Map● Make A Bootable SD Card● OMAP Bootloader Overview
![Page 4: Introduction of omap4 booting sequence](https://reader034.vdocuments.site/reader034/viewer/2022042614/5561542ad8b42a780d8b5162/html5/thumbnails/4.jpg)
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
![Page 5: Introduction of omap4 booting sequence](https://reader034.vdocuments.site/reader034/viewer/2022042614/5561542ad8b42a780d8b5162/html5/thumbnails/5.jpg)
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
![Page 6: Introduction of omap4 booting sequence](https://reader034.vdocuments.site/reader034/viewer/2022042614/5561542ad8b42a780d8b5162/html5/thumbnails/6.jpg)
Booting OverviewROM code
start
Start up and configuration
Booting
Copying or download
successful?
More devices in list?
Image execution
Setup booting device list
Select device from the list
Yes
NoNo
Yes
Wait for reset
Failed or returned
![Page 7: Introduction of omap4 booting sequence](https://reader034.vdocuments.site/reader034/viewer/2022042614/5561542ad8b42a780d8b5162/html5/thumbnails/7.jpg)
Booting OverviewBooting
Permanent device?
CH present?
CH sent?
Download Image
Is XIP device?
Copy and excute CH
Copy to RAM
Copy and excute CH
Image execution
Yes
Yes
No Yes
No
Yes
No
No
![Page 8: Introduction of omap4 booting sequence](https://reader034.vdocuments.site/reader034/viewer/2022042614/5561542ad8b42a780d8b5162/html5/thumbnails/8.jpg)
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
![Page 9: Introduction of omap4 booting sequence](https://reader034.vdocuments.site/reader034/viewer/2022042614/5561542ad8b42a780d8b5162/html5/thumbnails/9.jpg)
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
![Page 10: Introduction of omap4 booting sequence](https://reader034.vdocuments.site/reader034/viewer/2022042614/5561542ad8b42a780d8b5162/html5/thumbnails/10.jpg)
Peripheral Booting
● Types○ UART ○ USB
● Download a flash loader(Pre-flashing)
● Initial flash memories
● Update firmware
![Page 11: Introduction of omap4 booting sequence](https://reader034.vdocuments.site/reader034/viewer/2022042614/5561542ad8b42a780d8b5162/html5/thumbnails/11.jpg)
Peripheral Booting
Peipheral Booting
USB Initialization
UART or
USB
UART Initialization
Synchronization Phase
Transfer Phase
Failed
USB
UART
Time-out
Time-out
Synchronized
SuccessedTransfered
![Page 12: Introduction of omap4 booting sequence](https://reader034.vdocuments.site/reader034/viewer/2022042614/5561542ad8b42a780d8b5162/html5/thumbnails/12.jpg)
Peripheral BootingSynchronization Phase of USB
USB enumeration
Get ASIC ID
ASIC ID
Booting message
3s time-out
3s time-out
![Page 13: Introduction of omap4 booting sequence](https://reader034.vdocuments.site/reader034/viewer/2022042614/5561542ad8b42a780d8b5162/html5/thumbnails/13.jpg)
Peripheral BootingSynchronization Phase of UART
Get ASIC ID
ASIC ID
Booting message300ms time-out
ASIC ID
![Page 14: Introduction of omap4 booting sequence](https://reader034.vdocuments.site/reader034/viewer/2022042614/5561542ad8b42a780d8b5162/html5/thumbnails/14.jpg)
Peripheral BootingTransfer Phase
Image size
Image1min time-out
1min time-out
![Page 15: Introduction of omap4 booting sequence](https://reader034.vdocuments.site/reader034/viewer/2022042614/5561542ad8b42a780d8b5162/html5/thumbnails/15.jpg)
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
![Page 16: Introduction of omap4 booting sequence](https://reader034.vdocuments.site/reader034/viewer/2022042614/5561542ad8b42a780d8b5162/html5/thumbnails/16.jpg)
Memory Booting
● Types○ XIP(eXecution In Place)
■ NOR○ Non-XIP
■ MMC(eMMC)■ SD(eSD)
● Code shadowing for Non-XIP○ Copying code to RAM
![Page 17: Introduction of omap4 booting sequence](https://reader034.vdocuments.site/reader034/viewer/2022042614/5561542ad8b42a780d8b5162/html5/thumbnails/17.jpg)
Memory Booting
Memory Booting
Copy image to RAM
Is XIP dev?
Execute image
No
Yes
![Page 18: Introduction of omap4 booting sequence](https://reader034.vdocuments.site/reader034/viewer/2022042614/5561542ad8b42a780d8b5162/html5/thumbnails/18.jpg)
Memory BootingSD/MMC Booting
Initilization
Configure card address
(RCA)
Is raw mode?
Find and get booting file
Get raw data
Successed
Yes
No
![Page 19: Introduction of omap4 booting sequence](https://reader034.vdocuments.site/reader034/viewer/2022042614/5561542ad8b42a780d8b5162/html5/thumbnails/19.jpg)
Memory Booting
● SDMMCx interfaces○ SDMMC1(SDCard)
■ Raw■ File system
○ SDMMC2(eMMC)■ Raw
● Avoid boot time penalty
![Page 20: Introduction of omap4 booting sequence](https://reader034.vdocuments.site/reader034/viewer/2022042614/5561542ad8b42a780d8b5162/html5/thumbnails/20.jpg)
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"
![Page 21: Introduction of omap4 booting sequence](https://reader034.vdocuments.site/reader034/viewer/2022042614/5561542ad8b42a780d8b5162/html5/thumbnails/21.jpg)
Memory Map
48KB
![Page 22: Introduction of omap4 booting sequence](https://reader034.vdocuments.site/reader034/viewer/2022042614/5561542ad8b42a780d8b5162/html5/thumbnails/22.jpg)
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○ Step 6. Format the partition
![Page 23: Introduction of omap4 booting sequence](https://reader034.vdocuments.site/reader034/viewer/2022042614/5561542ad8b42a780d8b5162/html5/thumbnails/23.jpg)
OMAP Bootloader Overview
● http://omappedia.org/wiki/Bootloader_Project
● Two stages○ x-loader○ u-boot
ROM code x-loader u-boot Linux kernel
1st stage 2nd stage
![Page 24: Introduction of omap4 booting sequence](https://reader034.vdocuments.site/reader034/viewer/2022042614/5561542ad8b42a780d8b5162/html5/thumbnails/24.jpg)
End