NOR是强制性的,因为它允许随机访问,NAND不允许

注:这种方案已不常用,因为需要NOR FLASH

Case2:CPU内具有引导代码

CPU在ROM中具有集成的引导代码。如:AT91 CPU上的BootROM,OMAP上的“ ROM代码”,等等。具体细节取决于CPU体系结构

此引导代码能够将第一级引导加载程序从存储设备加载到内部SRAM(因为DRAM尚未初始化)。 存储设备通常可以是:MMC,NAND,SPI闪存,UART(通过串行线传输数据)等等。

第一阶段的引导程序: 由于硬件限制,尺寸有限(SRAM比较贵), 由CPU供应商或社区项目提供

此第一阶段引导程序必须初始化DRAM和其他硬件设备,并将第二阶段的引导程序加载到RAM

因为本文专注嵌入式领域,故接下来将描述几种常见的嵌入式处理器的引导过程。

1.2.1 ARM Microchip AT91的引导

RomBoot:尝试从各种设备中找到有效的引导映像存储源,然后将其加载到SRAM中(DRAM还未初始化)。大小限制为4 KB,无法进行用户互动标准启动模式。

AT91Bootstrap:从SRAM运行。初始化DRAM,NAND或SPI控制器,并将辅助引导程序加载到RAM并启动它,此阶段没有用户互动的可能。

U-Boot:从RAM运行。初始化其他一些硬件设备(网络,USB等)。从存储或加载内核映像网络到RAM并启动它。此阶段Shell命令可以使用。

Linux内核:从RAM运行。完全接管系统(引导加载程序bootloader不再存在)。

1.2.2 ARM TI OMAP2+/AM33xx的引导

ROM代码:尝试从各种方法中找到有效的引导映像存储源,并将其加载到SRAM或RAM中(RAM可以是由ROM代码通过配置标头初始化)。尺寸限制为《64 KB。没有用户互动的可能。

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查