第2节 启动选项
与配置模式选项配合, MCF5445x 器件提供了两种启动方法:从FlexBus接口上的一个并行的存储器启动,或者使用串行启动功能通过串行存储器器件启动。当处于串行配置模式时,启动模式是通过BOOTMOD[1:0]引脚和BLL字段选择的。
2.1 从FlexBus启动
当BOOTMOD[1:0]信号在复位时为 00 或 10,这个启动模式被选。这是 ColdFire的经典启动方法。在这种模式下,连接到FB_CS0的器件为启动器件,从该器件上装载栈指针和程序计数器。最少的初始化代码(足够初始化另外的外设接口得到指令码)必须在启动器件上。参考MCF54455参考手册的ColdFire内核章节的“复位异常”和Flexbus的“全局片选操作”章节。
2.2 从SPI存储器启动
使用串行配置模式需要一个在复位前装载了数据的外部SPI存储器,如表8所示。SPI存储器中的第2和第3个字节定义了启动代码的长度(启动装载长度,BLL)。如果这个值为0,MCF5445x默认使用FlexBus启动。然而,如果BLL不为零,串行启动将从SPI存储器件中读取启动代码到MCF5445x的片上SRAM中。
数据装载后,处理器的复位异常允许执行。这和另一种启动方法相同,但是在这种情况下,初始的程序计数器,栈指针和初始代码从片上 SRAM 中读取而不是从外部FlexBus器件中读取。参考MCF54455参考手册的“串行启动功能”章节。
使用串行启动模式可以通过减少或移除外部的非易失并行存储器件来减小整个系统的开销。例如,一个系统在ATA接口上带有外部HDD 或者外部PCI接口中包含系统启动镜像。在这种情况下,启动代码只需要初始化适当的接口并装载启动镜像到器件中。
表7 配置和启动模式


2.1 从FlexBus启动
当BOOTMOD[1:0]信号在复位时为 00 或 10,这个启动模式被选。这是 ColdFire的经典启动方法。在这种模式下,连接到FB_CS0的器件为启动器件,从该器件上装载栈指针和程序计数器。最少的初始化代码(足够初始化另外的外设接口得到指令码)必须在启动器件上。参考MCF54455参考手册的ColdFire内核章节的“复位异常”和Flexbus的“全局片选操作”章节。
2.2 从SPI存储器启动
使用串行配置模式需要一个在复位前装载了数据的外部SPI存储器,如表8所示。SPI存储器中的第2和第3个字节定义了启动代码的长度(启动装载长度,BLL)。如果这个值为0,MCF5445x默认使用FlexBus启动。然而,如果BLL不为零,串行启动将从SPI存储器件中读取启动代码到MCF5445x的片上SRAM中。
数据装载后,处理器的复位异常允许执行。这和另一种启动方法相同,但是在这种情况下,初始的程序计数器,栈指针和初始代码从片上 SRAM 中读取而不是从外部FlexBus器件中读取。参考MCF54455参考手册的“串行启动功能”章节。
表8 SPI存储器组织


使用串行启动模式可以通过减少或移除外部的非易失并行存储器件来减小整个系统的开销。例如,一个系统在ATA接口上带有外部HDD 或者外部PCI接口中包含系统启动镜像。在这种情况下,启动代码只需要初始化适当的接口并装载启动镜像到器件中。


