一、背景:
对于要量产的ECU,在工厂刷新程序时有两种方法:一、用一个带有JTAG探针的夹具锁住电路板,然后走JTAG协议用上位机刷入完整程序(包括Boot+App),最后盒盖。JTAG刷新功能被屏蔽了。后面再要更新程序就运行Boot走UDS协议。 二、生产的时候不用考虑CPU里面是空的程序,不需要JTAG夹具刷程序,直接盒盖。上电后,CPU检测出内部无有效程序,则停留在"STATIC"模式,自动运行BAM程序,根据一定的流程从外部CAN/LIN通信刷入程序。
*二、BAM的概念和流程
引导辅助模块(BAM)是一个只读存储器块,其中包含根据设备的引导模式执行的VLE代码。 在以单芯片模式启动时(请参阅第5章,设备启动模式),除非在未找到有效启动扇区的情况下进入“静态模式”,否则不执行BAM中存储的代码。*
三、CAN Boot的特点
根据通常500kbps的要求,外部晶振频率最好是20MHz
四、硬件强制BAM:
FAB需要拉高,因为要增加拉低/拉高的设置,电路复杂,所以通常不用这个方法。