ZHCUAO3 February 2023 MSPM0L1227 , MSPM0L1227-Q1 , MSPM0L1228 , MSPM0L1228-Q1 , MSPM0L2227 , MSPM0L2227-Q1 , MSPM0L2228 , MSPM0L2228-Q1
当检测到有效的引导加载程序调用条件时,引导代码将调用引导加载程序。仅当在 BCR 配置的 BSL 模式字段中启用了引导加载程序时,才会调用它。
引导加载程序启动后,它首先执行“Init”阶段,在该阶段完成 BSL 配置的初始检查,并将器件配置为运行引导加载程序。
接下来,引导加载程序进入“接口自动检测”阶段。在此阶段,BSL 会配置所有可用的 BSL ROM 接口和闪存插件接口(如果已注册)。然后,BSL 逐个轮询所有接口的数据。当在其中一个接口中接收到有效的连接数据包时,该接口将被视为用于进一步通信的有源接口,所有其他接口都将被禁用。接口搜索将持续 10 秒,如果未检测到接口,则器件将进入待机模式。
接下来,BSL 进入“命令接收”阶段。在此阶段,BSL 将无限循环等待来自主机的命令。接收到有效命令后,将处理该命令,并将来自 BSL 内核的响应发送回主机。然后,它返回到循环并等待下一条命令,依此类推。如果接收到“Start Application”命令,引导加载程序将触发系统复位,然后执行引导代码并调用应用程序。该阶段的超时也为 10 秒。如果未接收到有效命令,引导加载程序将被锁定并进入睡眠模式。
图 3-1 BSL 架构