Bootloader

bootloader āđ€āļ›āđ‡āļ™āļŠāđˆāļ§āļ™āļŠāļģāļ„āļąāļāļ­āļĩāļāļŠāđˆāļ§āļ™āļŦāļ™āļķāđˆāļ‡āļ‚āļ­āļ‡āļĢāļ°āļšāļšāļŠāļĄāļ­āļ‡āļāļĨāļāļąāļ‡āļ•āļąāļ§āļ—āļĩāđˆāļĄāļĩāļŦāļ™āđ‰āļēāļ—āļĩāđˆāđƒāļ™āļāļēāļĢāđ€āļ•āļĢāļĩāļĒāļĄāļāļēāļĢāđƒāļŦāđ‰āļĢāļ°āļšāļšāļŪāļēāļĢāđŒāļ”āđāļ§āļĢāđŒāļžāļ·āđ‰āļ™āļāļēāļ™ (Hardware Initialization) āđ€āļŠāđˆāļ™ āļŦāļ™āđˆāļ§āļĒāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļāļĨāļēāļ‡ (CPU) āļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģ (DRAM) āđāļĨāļ° MMC Controller āđƒāļŦāđ‰āļžāļĢāđ‰āļ­āļĄāļ—āļĩāđˆāļˆāļ°āļ—āļģāļ‡āļēāļ™āđ„āļ”āđ‰ āđƒāļ™āļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļ•āđˆāļ­āļĄāļēāļāđ‡āļˆāļ°āļ—āļģāļāļēāļĢāđ‚āļŦāļĨāļ” Kernel image (bzImage, zImage) āļ—āļĩāđˆāļ–āļđāļāļšāļĩāļšāļ­āļąāļ”āđāļĨāļ°āđ€āļāđ‡āļšāļ­āļĒāļđāđˆāđƒāļ™āļ­āļļāļ›āļāļĢāļ“āđŒāļˆāļąāļ”āđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨ (āđ€āļŠāđˆāļ™ MMC/SD card, NAND Flash, USB Storage āļŦāļĢāļ·āļ­āļœāđˆāļēāļ™āļĢāļ°āļšāļšāđ€āļ„āļĢāļ·āļ­āļ‚āđˆāļēāļĒāļ”āđ‰āļ§āļĒāđ‚āļ›āļĢāđ‚āļ•āļ„āļ­āļĨ tftp NFS āđ€āļ›āđ‡āļ™āļ•āđ‰āļ™) āļŦāļĨāļąāļ‡āļˆāļēāļāļ™āļąāđ‰āļ™āļāđ‡āļˆāļ°āļ—āļģāļāļēāļĢāđāļ•āļāđ‚āļ›āļĢāđāļāļĢāļĄāđ„āļšāļ™āļēāļĢāļĩāļ—āļĩāđˆāļ–āļđāļāļšāļĢāļĢāļˆāļļāļ­āļĒāļđāđˆāļ āļēāļĒāđƒāļ™ Kernel image āļ—āļĩāđˆāļ–āļđāļāļšāļĩāļšāļ­āļąāļ”āļ™āļąāđ‰āļ™āļ­āļĒāļđāđˆ āđ€āļžāļ·āđˆāļ­āļ™āļģāđ„āļ›āđ‚āļŦāļĨāļ”āļ‚āļķāđ‰āļ™āļŠāļđāđˆāļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāļ āļēāļĒāđƒāļ™ (RAM) āđ€āļžāļ·āđˆāļ­āļ•āļīāļ”āļ•āđˆāļ­āļāļąāļšāļ­āļļāļ›āļāļĢāļ“āđŒāļ­āļ·āđˆāļ™āđ† āđ€āļŠāđˆāļ™ āļžāļ­āļĢāđŒāļ• Ethernet āļŦāļĢāļ·āļ­ āļžāļ­āļĢāđŒāļ• USB āđ€āļ›āđ‡āļ™āļ•āđ‰āļ™ āđƒāļ™āļĢāļ°āļŦāļ§āđˆāļēāļ‡āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡ Bootloader āļ™āļąāđ‰āļ™āļŠāļēāļĄāļēāļĢāļ–āļ—āļĩāđˆāļˆāļ°āđ€āļ‚āđ‰āļēāļŠāļđāđˆāļŦāļ™āđ‰āļēāļ•āđˆāļēāļ‡āļ„āļ­āļ™āđ‚āļ‹āļĨ (console) āđ€āļžāļ·āđˆāļ­āđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āļŠāļļāļ”āļ„āļģāļŠāļąāđˆāļ‡āļ—āļĩāđˆāđ€āļ•āļĢāļĩāļĒāļĄāđ„āļ§āđ‰āđƒāļŦāđ‰ āđ€āļŠāđˆāļ™āļāļēāļĢāļ”āļēāļ§āļ™āđŒāđ‚āļŦāļĨāļ”āļ‚āđ‰āļ­āļĄāļđāļĨāļœāđˆāļēāļ™āļĢāļ°āļšāļšāđ€āļ„āļĢāļ·āļ­āļ‚āđˆāļēāļĒāļŦāļĢāļ·āļ­āļˆāļēāļāļ­āļļāļ›āļāļĢāļ“āđŒāļˆāļąāļ”āđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļēāļ‡āļ”āđ‰āļēāļ™āļ•āļĢāļ§āļˆāļŠāļ­āļšāļŠāļ–āļēāļ™āļ°āļ‚āļ­āļ‡āļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģ āļ•āļĢāļ§āļˆāļŠāļ­āļšāļŠāļ–āļēāļ™āļ°āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡āļŪāļēāļĢāđŒāļ”āđāļ§āļĢāđŒāļ āļēāļĒāđƒāļ™ āđ€āļ›āđ‡āļ™āļ•āđ‰āļ™

āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āļ™āļąāļāļžāļąāļ’āļ™āļēāđ„āļ”āđ‰āđ€āļŦāđ‡āļ™āļ āļēāļžāļĄāļēāļāļ‚āļķāđ‰āļ™āļˆāļķāļ‡āļ‚āļ­āļŠāļĢāļļāļ›āļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡ bootloader āļ•āļąāđ‰āļ‡āđāļ•āđˆāđ€āļĢāļīāđˆāļĄāļšāļđāļ—āđ€āļ‚āđ‰āļēāļĢāļ°āļšāļšāļ‚āļ­āļ‡āļšāļ­āļĢāđŒāļ”āļŠāļĄāļ­āļ‡āļāļĨāļāļąāļ‡āļ•āļąāļ§āđ„āļ”āđ‰āļ”āļąāļ‡āļ™āļĩāđ‰ (āļ”āļąāļ‡āđāļŠāļ”āļ‡āđƒāļ™āļĢāļđāļ›āļ—āļĩāđˆ 3.12 āđāļĨāļ° 3.13)

  1. āļŦāļ™āđˆāļ§āļĒāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļāļĨāļēāļ‡āļˆāļ°āđ€āļĢāļīāđˆāļĄāļ­āđˆāļēāļ™āļ—āļĩāđˆāļ•āļģāđāļŦāļ™āđˆāļ‡āļ‚āļ­āļ‡āļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģ ROM āļ—āļĩāđˆāđ„āļ”āđ‰āļ–āļđāļāļāļģāļŦāļ™āļ”āđ„āļ§āđ‰ āđāļĨāļ°āļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļ—āļģāļ•āļēāļĄāļŠāļļāļ”āļ„āļģāļŠāļąāđˆāļ‡āļ āļēāļĒāđƒāļ™āđ‚āļ„āđ‰āļ”āļ—āļĩāđˆāļ–āļđāļāđ€āļāđ‡āļšāļ­āļĒāļđāđˆāļ āļēāļĒāđƒāļ™

  2. āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āđ€āļ•āļĢāļĩāļĒāļĄāļĢāļ°āļšāļšāļŪāļēāļĢāđŒāļ”āđāļ§āļĢāđŒāļžāļ·āđ‰āļ™āļāļēāļ™āļŠāļģāļ„āļąāļ āđ€āļŠāđˆāļ™ āļŦāļ™āđˆāļ§āļĒāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļāļĨāļēāļ‡ āļŠāđˆāļ§āļ™āļ„āļ§āļšāļ„āļļāļĄāļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģ (SDRAM Controller) āļŠāđˆāļ§āļ™āļ„āļ§āļšāļ„āļļāļĄāļ•āļąāļ§āļšāļąāļ™āļ—āļķāļāļ‚āđ‰āļ­āļĄāļđāļĨ (MMC Controller) āļŠāđˆāļ§āļ™āļ„āļ§āļšāļ„āļļāļĄāļ­āļīāļ™āļžāļļāļ—/āđ€āļ­āļēāļ—āđŒāļžāļļāļ— (I/O Controllers) āđāļĨāļ° āļŠāđˆāļ§āļ™āļ„āļ§āļšāļ„āļļāļĄāļāļēāļĢāđāļŠāļ”āļ‡āļœāļĨ (Graphics Controllers) āđ€āļ›āđ‡āļ™āļ•āđ‰āļ™

  3. āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āđ€āļ•āļĢāļĩāļĒāļĄāļĢāļ°āļšāļšāļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģ SDRAM āđ‚āļ”āļĒāļāļēāļĢāļˆāļąāļ”āļŠāļĢāļĢāļžāļ·āđ‰āļ™āļ—āļĩāđˆāļ āļēāļĒāđƒāļ™āļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāđƒāļŦāđ‰āļāļąāļšāļŸāļąāļ‡āļāđŒāļŠāļąāļ™āļ—āļĩāđˆāļˆāļ°āđƒāļŠāđ‰āļ„āļ§āļšāļ„āļļāļĄāļŪāļēāļĢāđŒāļ”āđāļ§āļĢāđŒāļ‚āļ­āļ‡āđāļ•āđˆāļĨāļ°āļŠāđˆāļ§āļ™ āđāļĨāļ°āļˆāļąāļ”āļŠāļĢāļĢāļžāļ·āđ‰āļ™āļ—āļĩāđˆāđƒāļŦāđ‰āļāļąāļšāļ•āļąāļ§āđ€āļ„āļ­āļĢāđŒāđ€āļ™āļĨāļ—āļĩāđˆāļ–āļđāļāđ€āļāđ‡āļšāļ­āļĒāļđāđˆāļ āļēāļĒāđƒāļ™āļ­āļļāļ›āļāļĢāļ“āđŒāļšāļąāļ™āļ—āļķāļāļ‚āđ‰āļ­āļĄāļđāļĨ

  4. āđ€āļĄāļ·āđˆāļ­āđ€āļ„āļ­āļĢāđŒāđ€āļ™āļĨāđ„āļ”āđ‰āļ–āļđāļāđ‚āļŦāļĨāļ”āļ‚āļķāđ‰āļ™āļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģ SDRAM āđāļĨāđ‰āļ§ āļˆāļ°āļ—āļģāļāļēāļĢāļ•āļīāļ”āļ•āđˆāļ­āđāļĨāļ°āļ•āļĢāļ§āļˆāļŠāļ­āļšāļŠāļ–āļēāļ™āļ°āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡āļŪāļēāļĢāđŒāļ”āđāļ§āļĢāđŒāļŠāđˆāļ§āļ™āļ—āļĩāđˆāđ€āļŦāļĨāļ·āļ­āļ—āļąāđ‰āļ‡āļŦāļĄāļ”āđ€āļžāļ·āđˆāļ­āđ€āļ•āļĢāļĩāļĒāļĄāļ—āļģāļāļēāļĢāđ‚āļŦāļĨāļ”āļĢāļ°āļšāļšāļ›āļāļīāļšāļąāļ•āļīāļāļēāļĢāđƒāļ™āļŠāđˆāļ§āļ™āļ—āļĩāđˆāđ€āļŦāļĨāļ·āļ­āļ—āļĩāđˆāđ€āļĢāļĩāļĒāļāļ§āđˆāļē root file system āļ‹āļķāđˆāļ‡āļšāļĢāļĢāļˆāļļāļŠāļ„āļĢāļīāļ›āļ—āđŒ āđ„āļĨāļšāļĢāļēāļĢāļĩ āđāļĨāļ°āđ‚āļ›āļĢāđāļāļĢāļĄāļ•āđˆāļēāļ‡āđ†āđ€āļ­āļēāđ„āļ§āđ‰

  5. āđ€āļĄāļ·āđˆāļ­ root file system āļ–āļđāļāđ‚āļŦāļĨāļ”āđ„āļ”āđ‰āļŠāļģāđ€āļĢāđ‡āļˆ āļĢāļ°āļšāļšāļ›āļāļīāļšāļąāļ•āļīāļāļēāļĢāļāđ‡āļˆāļ°āđ€āļĢāļĩāļĒāļāđ‚āļ›āļĢāđāļāļĢāļĄāļĢāļ°āļšāļšāļžāļ·āđ‰āļ™āļāļēāļ™āļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļ—āļĩāđˆāđ€āļāļĩāđˆāļĒāļ§āļāļąāļšāļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļĢāļ°āļšāļšāđ„āļŸāļĨāđŒ (file system) āđ‚āļ›āļĢāđāļāļĢāļĄāļˆāļąāļ”āļāļēāļĢāđ‚āļ›āļĢāđ€āļ‹āļŠ (process) āđ‚āļ›āļĢāđāļāļĢāļĄāļˆāļąāļ”āļāļēāļĢāļĨāļģāļ”āļąāļšāļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡āđ‚āļ›āļĢāđ€āļ‹āļŠ (process scheduling) āđāļĨāļ°āđ€āļ•āļĢāļĩāļĒāļĄāļĢāļ°āļšāļšāļŠāļģāļŦāļĢāļąāļšāļœāļđāđ‰āđƒāļŠāđ‰āđ€āļžāļ·āđˆāļ­āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āđ‚āļ›āļĢāđāļāļĢāļĄāļ›āļĢāļ°āļĒāļļāļāļ•āđŒāļ āļēāļĒāđƒāļ™āļĢāļ°āļšāļšāļ›āļāļīāļšāļąāļ•āļīāļāļēāļĢāļŠāļĄāļ­āļ‡āļāļĨāļāļąāļ‡āļ•āļąāļ§

āļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļāļēāļĢāļšāļđāļ—āļĢāļ°āļšāļš

āļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļāļēāļĢāļ—āļģāļ‡āļēāļ™āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļ‚āļ­āļ‡āļĨāļĩāļ™āļļāļāļ‹āđŒāļ„āļ­āļĢāđŒāđ€āļ™āļĨ (Kernel Initialisation)

āļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļāļēāļĢāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļ‚āļ­āļ‡ Linux Kernel

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļˆāļĢāļīāļ‡āļ‚āļ­āļ‡ bootloader āļšāļ™āļšāļ­āļĢāđŒāļ”āļŠāļĄāļ­āļ‡āļāļĨāļāļąāļ‡āļ•āļąāļ§āļ—āļĩāđˆāđƒāļŠāđ‰ OMAP3 SoC āļ‚āļ­āļ‡āļšāļĢāļīāļĐāļąāļ— TI āļ”āļąāļ‡āđāļŠāļ”āļ‡āđƒāļ™āļĢāļđāļ›āļ‚āđ‰āļēāļ‡āļĨāđˆāļēāļ‡

āđāļŠāļ”āļ‡āļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡ bootloader āļšāļ™ OMAP3 SoC

Last updated

Was this helpful?