1104242_zh-CN

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

1104242_zh-CN

1104242_zh-CN

引导过程<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

本节介绍各种非易失性存储器类型或 UART 的 LPC32x0 启动过程。

根据启动设备,启动映像大小可能会受到限制。此限制可能会阻止所需的映像最初加载和执行 - 而是需要先加载较小的引导加载程序,然后使用它来加载和运行功能更强大的引导加载程序或应用程序。

LPC32x0 启动选项

LPC32x0 支持从小块和大块 NAND FLASH、SPI EEPROMS 或 FLASH、NOR FLASH 以及通过 UART 启动。在生产系统中,不使用 UART 启动方法。然而,UART 启动方法在早期电路板调试中非常有用,

LPC32x0 的启动顺序如下:UART、SPI、NOR、NAND。可以禁用 UART 启动以减少启动时间。在尝试下一个启动设备之前,将先尝试每个启动设备。如果启动 ROM 找到将设备标识为可启动的特殊启动模式,则该设备可启动。系统可能有 SPI FLASH、NOR FLASH 和 NAND FLASH,并且尽管首先尝试了 SPI 和 NOR 方法,但只能从 NAND FLASH 启动。(例如,Phytec 3250 板具有所有这 3 个启动设备,但通常从 NAND FLASH 启动)。

当LPC32x0芯片复位时,内部启动ROM被执行。它查询每个设备以寻找用于标识设备是否可启动的特殊启动模式。第一个返回正确模式的设备将被引导 ROM 用作可引导设备。然后,引导 ROM 将从可引导设备(NAND 和 SPI FLASH)复制数据或将控制权转移到可引导设备(NOR FLASH)。

以下章节将解释每种启动方法。有关 LPC32x0 启动过程的更多信息,请参阅 LPC32x0 用户指南。

UART启动

UART 启动选项允许将二进制文件下载到电路板中,然后在 NAND、SPI 或 NOR FLASH 中运行任何代码之前执行。这对于将新图像刻录到 FLASH、测试简单应用程序或从损坏的启动代码中恢复主板很有用。

UART 启动与 CDL 包中的刻录工具一起使用,将引导加载程序编程到启动设备中。UART5 支持 UART 启动选项,因此新设计应该使 UART5 可用于调试。对于完全从 IRAM 运行的系统,这允许系统通过 UART 下载图像,一旦执行该图像,即可提供交互式访问。下载的交互式程序可用于带宽或内存测试、寄存器转储、进一步的图像加载或其他功能。

可以使用此启动方法使用S1L的初始版本来测试不同的 SDRAM 配置(使用附带的 SDRAM 初始化代码)。使用这种方法,可以大大简化 SDRAM 代码的启动和调试(推出新电路板时最棘手的问题之一)。

NOR FLASH启动

在从 NOR FLASH 启动的系统上,ARM 内核直接从地址 0xE0000004 开始执行 NOR FLASH 设备中的代码。地址 0xE0000000 处的前 4 个字节用于引导 ROM 所需的特殊引导模式值,以将设备标识为可引导并提供引导宽度(8、16 或 32 位)。

SPI FLASH/EEPROM启动

在从 SPI 启动的系统上,一个小图像从偏移量为 0x8 的 SPI EEPROM 或 FLASH 设备复制到地址为 0x00000000 的 IRAM 中。前 4 个字节用于引导 ROM 所需的特殊引导模式值。接下来的 4 个字节用于指定在 SPI 设备中偏移量 0x8 处加载的图像的大小。将图像加载到 IRAM 后,控制权转移到地址 0x00000000。

使用此方法可以加载的最大映像启动大小为 54K。

NAND闪存启动

在从 NAND FLASH 启动的系统上,一个小图像从 NAND 设备的块 0 或块 1 复制到地址 0x00000000 的 IRAM 中。NAND FLASH 启动的最大可启动映像大小为 54K,或 1 个块减 1 页,以较小者为准。引导块的第一页用于存储引导信息,例如引导映像大小和引导序列所用的引导 ROM 所需的值。

对于小块 NAND(每块 32 页,每页 512 字节),并且块的第一页专用于启动 ROM 启动信息,则最大启动大小为 31 页,每页 512 字节,即 15.5K。对于大块 NAND(64 页,每页 2K 字节),最大启动大小为 54K 字节。

启动 ROM 始终使用 MLC NAND 控制器进行 NAND 启动。这就需要将由引导 ROM 从 NAND 引导的引导映像通过 MLC NAND 控制器或 MLC NAND 控制器所需的 ECC 算法编程到 NAND 中。

タグ(1)
評価なし
バージョン履歴
最終更新日:
‎11-20-2025 01:23 AM
更新者: