1 从 Nor Flash 启动
Nor Flash 具有芯片内执行(XIP,eXecute In Place)的特点,在嵌入式系统中常做为存放启动代码的首选。从 Nor Flash 启动的架构又可细分为只使用 Nor Flash 的启动架构和 Nor Flash 与 Nand Flash 配合使用的启动架构。图 5 给出了这两种启动架构的原理框图。
1.1 单独使用 Nor Flash
在该架构中,引导代码、操作系统和应用代码共存于同一块 Nor Flash 中。系统上电后,引导代码首先在 Nor Flash 中执行,然后把操作系统和应用代码加载到速度更高的 SDRAM 中运行。另一种可行的架构是,在 Nor Flash 中执行引导代码和操作系统,而只将应用代码加载到 SDRAM 中执行。
该架构充分利用了 Nor Flash 芯片内执行的特点,可有效提升系统性能。不足在于随着操作系统和应用代码容量的增加,需要更大容量昂贵的 Nor Flash 来支撑。
1.2 Nor Flash 和 Nand Flash 配合使用
Nor Flash 的单独使用对于代码量较大的应用程序会增加产品的成本投入,一种的改进的方式是采用 Nor Flash 和 Nand Flash 配合使用的架构。在该架构中附加了一块 Nand Flash,Nor Flash(2M 或 4M)中存放启动代码和操作系统(操作系统可以根据代码量的大小选择存放于 Nor Flash 或者 Nand Flash),而 Nand Flash 中存放应用代码,根据存放的应用代码量的大小可以对 Nand Flash 容量做出相应的改变。
系统上电后,引导代码直接在 Nor Flash 中执行,把 Nand Flash 中的操作系统和应用代码加载到速度更高的 SDRAM 中执行。也可以在 Nor Flash 中执行引导代码和操作系统,而只将 Nand Flash 中的应用代码加载到 SDRAM 中执行。该架构是当前嵌入式系统中运用最广泛的启动架构之一。