在系统重启之后,引导装载程序必须立即执行基本硬件初始化。这可能包括对RAM的访问使能,设置时钟和PLL(译者注:Phase Lock Loop锁相环,用于控制时钟的相位和频率),并配置其它关键的外围设备。你可以让引导装载程序只执行最重要的初始化工作、其它初始化交给可以升级的应用程序来完成——这是一个好主意。
完成硬件初始化之后,你就可以运行应用程序代码了。但是在启动过程之中,闪存中的部分数据可能由于被破坏而发生错误。因此引导装载程序还应该计算应用程序代码的校验和(CRC,循环冗余校验码)并把它与保存在应用程序代码中的校验字对比。为此,你需要使用(或者自己编写)一个程序来计算并保存闪存映像文件的校验和。请确保你把校验和保存到偏移应用程序代码一个固定量的地址上,这样引导装载程序可以找到它。