ZHCUC57E August 2016 – July 2024
启动时,一旦在“短状态”中设置了系统已初始化 标志,主机便可以开始发送命令来控制器件。这可由引导应用程序或主应用程序设置。有关短状态的更多详情,可以在节 8.2.87(主应用程序)和节 7.2.6(引导应用程序)中找到。在设置系统已初始化 标志之前,主机应该期望接收 NAK (I2C) 或无效数据 (SPI)。图 4-2 演示了主机在启动时应执行的操作。节 2.1.4.1 描述了一个可用于调试启动时序和进度的硬件信号。
引导应用程序驻留在 DLPC230-Q1 的引导 ROM 中。在 DLPC230-Q1 硬件在启动时完成初始化后,执行引导应用程序。引导应用程序的目的是从闪存加载主应用程序,并在启动期间验证其内容。引导应用程序的执行流程如图 4-3 所示。它会读取节 2.1 中所述的硬件引脚信号以配置主机通信接口,然后确定是否已设置 STAY-IN-BOOT。如果设置了 STAY-IN-BOOT,引导应用程序将进入一个循环,等待主机命令的指令。如果未设置 STAY-IN-BOOT 信号,引导应用程序将从闪存加载主应用程序并对其进行验证。如果验证失败,错误将记录在“错误历史”中,引导应用程序将进入 wait-for-command 循环。如果验证成功,将执行主应用程序。
主应用程序执行流程如图 4-4 所示。主应用程序首先初始化时钟,然后从硬件检索上次复位的原因。然后,它执行通过闪存选项选择的任何非周期性 BIST。主应用程序将检查闪存选项以确定它是应保持在待机模式还是自动切换到显示模式。进入所需模式后,自动初始化批处理命令集将从闪存存储器运行。有关批处理命令集的更多信息,请参阅节 5.2。如果在启动期间没有要执行的命令,则自动初始化批处理命令集可以为空。自动初始化批处理命令集也可以更改工作模式。完成自动初始化批处理命令集后,主应用程序将设置系统已初始化 短状态标志,以指示可以从主机发送命令事务。