萝卜小姐的整车第一弹—MCU 软件烧录及升级说明

MCU 软件烧录及升级说明

  • 术语
  • 概述
    • 软件烧录
    • 软件升级
  • 软件烧录描述
    • 系统描述
    • 系统框图
    • 实际应用
  • 软件升级描述(Bootloader)
    • 车载OBD升级
    • 系统框图
    • 软件设计
      • 架构框图
      • 上电流程
      • 升级流程
      • VBF格式
      • 升级上位机

术语

ROM
Read Only Memory

RAM
Random Access Memory

ECU
Electronic Control Unit

OBD
On Board Diagnostics

OTA
Over The Air Technology

IDE
Integrated Development Environment

概述

MCU也称为单片微控器,属于一种集成式电路芯片,主要包含CPU、只读存储器ROM和随机存储器RAM等。程序存储在ROM中,当系统上电时,CPU从ROM的起始地址读取到指令开始执行。ROM可以使其存储的数据固定不变,即使断电也能够保留数据,根据功能类型主要分为PROM、EPROM、EEROM、Flash ROM等几类。

软件烧录

MCU中Flash ROM在出厂时是空白的,需先将程序烧录到芯片中才可以正常运行。软件开发过程中通常使用MCU配套的IDE及调试器进行烧录,使用协议有SWD、JTAG等。完成程序开发后,可以直接使用数据文件(S19、HEX等)进行批量烧录,如下图:

实际应用

以NXP芯片MPC5748为例,可以使用S32DS IDE结合调试器PE 进行软件烧录及调试。
1.完成代码编译

软件升级描述(Bootloader)

车载OBD升级

OBD接口为国际标准汽车通讯接口,是汽车电脑与外部通讯的标准接口,一般接口在汽车方向盘的下方,在容易接线的位置。同型 车型OBD接口位置不同,下图是OBD接口可能在的位置:
A区域:通用、大众、宝马、福持、丰田、现代、雪铁龙等品牌的绝大部分车型 ;
B区域:大众途安、进口笛克萨斯等少数车型;
C区域:东风雪铁龙少数车型等;
D区域:东风雪铁龙少数车型等。

系统框图

如上图所示,应用程序和引导程序占据了 Flash 的一个指定存储区域。当 ECU 执行引导程序或应用程序时,两个软件包都可以完整使用系统的 RAM 存储区。
引导程序使用了 UDS 的诊断服务,将其作为下载通信的协议。因此,引导程序须具有一个由 CAN 驱动、传输层和 UDS 协议层子集构成的通信协议。
将Bootloader再划分分为PBL(Primary Bootloader)跟SBL(Secondary Bootloader),PBL负责正常启动引导,而SBL负责擦除及写入flash数据,为了防止意外擦除考虑SBL通过外部升级文件加载,划分图如下:

  1. 上电之后在Boot层中判断是否存在升级请求,若存在升级请求,进入诊断的编程会话并准备开始升级流程,若不存在升级请求则继续往下执行。
  2. Boot判断APP标志是否存在并有效,若应用层标志存在并有效,软件跳转到APP开始执行应用程序,若应用层标志不存在或者无效,程序继续保留在Boot中继续执行。

升级流程

基于ISO14229规范执行

升级上位机

PC端上位机通过CAN与ECU进行通信,根据固定的升级流程执行,下图只供参考:

萝卜小姐的整车第一弹—MCU 软件烧录及升级说明

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年5月6日
下一篇 2020年5月6日

相关推荐