从板卡上电到uboot启动整体可以分为三个阶段:bl0、bl1、bl2;后续执行BL31,BL32,BL33。 1.上电到uboot启动之前(bl0) BL0全名1st boot loader,也就是引导装载程序,是直接固化在内部ROM上的一小段程序,在上电的时候会默认去执行 上述中的ROM是IROM,本质其实是NorFlash,也只有只读存储器中的数据掉电之后是不会消失的,如果用RAM肯定是不行的,用普通的ROM也是不行的,因为NorFLASH可以和CPU直接总线式相连接,CPU上电之后可以直接读取,所以一般可以用来做启动介质。(电脑的BIOS其实就是一块NorFLASH)。BL0执行的时候,会进行一系列的操作,之后BL0从系统指定的外部存储器件中加载第二个引导程序BL1到内部的RAM(ISRAM),这个外部存储器可以是NAND、SD/MMC、OneNand与USB,同时BL0也会对BL1进行安全检验。 节选自imx8mp CPU参考手册: The boot ROM affects a number of different hardware blocks which are activated and play a vital role in the boot flow. The ROM configures and uses the following blocks (listed in an alphabetical order) during the boot process. Note that the blocks actually used depend on the boot mode and the boot device selection: • APBH—the DMA engine to drive the GPMI module • BCH—62-bit error correction hardware engine with the AXI bus master and a private connection to the GPMI • CCM—Clock Control Module • ECSPI—Enhanced Configurable Serial Peripheral Inte**ce • FlexSPI—Flexible SPI Inte**ce which supports serial NOR devices • GPMI—NAND controller pin inte**ce • OCOTP_CTRL—On-Chip OTP Controller; the OCOTP contains the eFUSEs • IOMUXC—I/O Multiplexer Control which allows the GPIO use to override the eFUSE boot settings; • IOMUXC GPR—I/O Multiplexer Control General-Purpose Registers • CAAM—Cryptographic Acceleration and Assurance Module • SNVS—Secure Non-Volatile Storage • SRC—System Reset Controller • USB—used for the serial download of a boot device provisioning program • USDHC—Ultra-Secure Digital Host Controller • WDOG-1—Watchdog 2.iROM启动UBOOT第一阶段BL1 3. UBOOT第一阶段启动UBOOT第二阶段BL2 4.UBOOT第二阶段启动内核,至此uboot引导完成。 |
|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )
GMT+8, 2024-12-22 18:26
Powered by Discuz! X3.4
© 2001-2013 Comsenz Inc.