S5PV210 三星官方推荐的启动过程

1. 常见的启动方式

在单片机的设计中,通常有一块nor flash,其采用IO统一编址的方式,使用地址总线便能访问其中内容。因此代码烧录其中,当单片机上电时便能在该nor flash中执行。

使用nor flash的优点是性能稳定,总线式访问,无需初始化
其缺点是占用地址空间,造价昂贵,容量小,需要使用专用烧写器。

2. S5PV210的启动方式

三星设计的SoC S5PV210没有采用nor flash作为芯片的运行介质,其实现了从MoviNand/iNand/MMC/eMMC Card/eSSD等非总线式访问介质中启动。
这种方式的优点:

  1. 降低了BOM成本
  2. 省去了专用烧写器
  3. 提供了多种启动介质

2.1 启动介质的选择

S5PV210 三星官方推荐的启动过程
S5PV210的特殊引脚OM Pin用来选择具体的启动方式。

2.2 具体启动过程

S5PV210中有64KB的内部ROM iROM和96KB的内部SRAM iRAM。其中iROM的特性类似于nor flash,三星官方在其中固化了一段代码(称为BL0),类似于Windows中的BIOS。这段代码实现固定的功能,其主要功能在于根据OM Pin识别启动介质,初始化该介质的控制器,拷贝其开头的16KB代码(称为BL1)至iRAM中,并跳转至iRAM运行。
BL0的具体步骤如下图所示:
S5PV210 三星官方推荐的启动过程
BL1是我们自己写的代码,其功能在于完全初始化存储设备(如Nand),将BL2读取至iRAM中,并运行BL2。
BL2的功能是完全初始化SDRAM,并将剩余的代码加载至SDRAM中,并跳转运行。
完整的流程如下图所示:
S5PV210 三星官方推荐的启动过程
具体步骤如下图所示:
S5PV210 三星官方推荐的启动过程

3. 多通道启动

S5PV210具有多通道启动功能,当其在OM Pin选择的启动介质中未找到合法的BL1时,其会选择SD/MMC 通道2再次尝试读取BL1。如下图所示:
S5PV210 三星官方推荐的启动过程