14.2.1  引导装载器函数的运行

14.2.1 引导装载器函数的运行

引导装载器(Bootloader)使用978-7-111-57271-8-Chapter14-6.jpg和GPIO信号确定使用哪种引导模式。图14-3给出了基本引导装载流程图。

978-7-111-57271-8-Chapter14-7.jpg

图14-3 引导装载流程图

引导ROM的复位向量将程序执行指向InitBoot函数。完成器件初始化后,引导装载器将检测978-7-111-57271-8-Chapter14-8.jpg引脚的状态确定是否连接仿真器。

(1)仿真引导(连接仿真器且978-7-111-57271-8-Chapter14-9.jpg

在仿真引导模式下,引导ROM检查两个被称为EMU_KEY和EMU_BMODE的SARAM单元以决定引导方式。如果任何一个单元内容无效,那么使用“等待”引导方式。进行仿真引导时,通过调试器(Debugger)修改EMU_BMODE值,可以选择各种引导方式。

(2)单机引导978-7-111-57271-8-Chapter14-10.jpg

若器件为单机引导模式,那么两个GPIO引脚的状态确定执行哪一种引导方式。引导方式的选项包括:GetMode、等待、SCI和并行I/O。默认的GetMode选项引导到Flash,但是可以烧写OTP中的两个数值以选择另外的引导装载器。

在选择过程之后,如果所需的引导装载已完成,处理器将会在所选引导模式决定的入口处继续执行。如果调用引导装载器,那么由外设装载的输人流决定这一入口地址。否则,就是用户选择了直接引导到Flash、OTP或者SARAM,这些存储器块的入口地址是预先定义好的。