上电或复位后,若有引导程序, ECU 首先执行引导程序,ECU执行一些基本的初始化,其中必须完成对CAN的初始化,同时开启延时定时器, 然后检查外部重编程请求标志是否已设置。如果标志已经被设置,那么即使应用程序是有效的,引导也会继续进一步执行。在引导程序设置的延迟时间内判断是否有诊断报文,若有则也进入下载流程。
如果当前没有重编程请求,则检验应用程序的状态。如果应用程序有效,则引导程序启动应用程序,应用程序在默认会话中启动,如果应用程序无效,ECU在默认会话模式等待。
ECU处于应用程序会话时,诊断仪可以通过发送编程会话请求激活重编程进入BootLoader模式,编程模式可以通过ECU复位、默认模式和编程模式超时离开。
boot和App之间的切换如下图所示: