新闻详情

基于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:一键升级

  升级开始,实时显示发送和接收到的数据,如果出错会终止,并报错。