基于UDS标准的Flash Boot Loader 设计浅析基于UDS标准的Flash Boot Loader 设计 文:富玉隆科技 汪胜凯 序言:最近一周连续接到不下于10个客户的来电,咨询有关ECU的升级工具,普遍对升级流程和设计以及测试不清楚。 在汽车智能化、电动化越来越普及的新时代,汽车电子电器发生了巨大变化,整车网络也有原来的硬线连接,采用总线架构,CAN、LIN、Most、以太网等越来越普及使用。而电控单元在出厂后的维修和升级也面临挑战。越来越多的主机厂要求零部件供应商,必须满足UDS标准,并开发诊断和升级功能,避免车辆后期的维修花费大量人力进行故障排查和拆ECU进行升级。跟各位同行分享下富玉隆科技对FBL的设计和测试。 章节1:FBL设计需要哪些储备 首先我们要对平台使用的MCU了解,设计的部分如下, 1.MCU的FLASH 读写、擦除功能 2.MCU的启动跳转,好的升级功能的设计需要把FLASH划分为两个区域,一个BOOT区和一个APP区,见下图, 这样做的好处是一旦升级过程中被终止了或者出现了错误, APP被擦除了,但boot还是保留的,还可以进行二次升级。 大大降低了升级可能带来的风险。
3.需要针对主机厂或者自定义的升级文档解析方式了解。 不同的主机厂要求提供的升级文件格式一般如下, Hex、S19、bin ,不但要了解这个需求还要了解上位机 发送这些格式的做法,透传还是针对这些文件解析后发给下位机,这样明确后下位机设计才符合要求。 4.要对UDS标准熟悉,这部分目前大多数ECU开发商有一定的难度,可根据项目情况选择外包或者自主开发,如果要求不是那么高,自主开发也是可以完成功能的,具体是否可以满足UDS的测试案例和标准就看自己的经验和储备了。 5.熟悉FBL的升级流程,按照流程设计下位机Boot和上位机软件。 一般FBL的升级大致流程如下, 章节2:FBL升级测试 Step1:配置升级ECU的参数 ---CAN 升级ID: 物理寻址、功能寻址、ECU回复 ---TP层参数:As、Ar、BS、STmin等 Step2:配置升级流程 ---Switchto Extended Session ---RequestSeed:Application ---RequestKey:Application …… Step3:导出升级流程,并在Programming界面加载 Step4:加载其它文件 ---App Security DLL ---Boot Security DLL ---Flash Driver File ---Application File ---Parameter File
Step5:一键升级 升级开始,实时显示发送和接收到的数据,如果出错会终止,并报错。 |