目前,汽车上的电子电气架构越来越复杂,并伴随着汽车的电动化、智能化、网联化、共享化,软件的研发在汽车上占比越来越大。软件更新的频率越来越高。而且,在汽车的整个生命周期中,包括研发阶段、生产阶段、售后阶段,各个阶段都需要实现软件的更新功能。因此,客户对软件程序更新的需求越来越迫切。
对于整车厂或供应商,BootLoader是控制器开发必备的功能。并且,不同的整车厂有不同的程序更新规范,同时BootLoader驱动又依赖于不同的芯片。因此,为了满足不同的整车厂程序更新规范,又适配不同的芯片,知从科技提供了完整的BootLoader解决方案—知从青龙BootLoader。知从青龙BootLoader既适用于不同的整车厂程序更新规范,又适用于不同芯片厂商的芯片,让客户更专注与自己的控制器产品研发。
GEEA2.0电子电气架构在BootLoader中,通过实现PBL-SBL BootLoader架构、Secure Boot、VBF加密签名验证等功能,降低了在MCU更新过程中的安全风险,大幅提升了BootLoader的安全性以及可靠性。
Ø 适用于GEEA2.0平台规范
Ø 支持PBL-SBL的BootLoader架构
Ø 支持应用程序和数据的更新功能
Ø 支持CAN/UART等通信
Ø 支持主从节点间的UART通信刷写
Ø 适配知从玄武程序更新工具,提供完整的程序更新解决方案
Ø 支持对称加密SHA256和AES128算法
Ø 支持非对称加密ECC和RSA2048算法
Ø 支持VBF文件解析
Ø 支持LZSS压缩算法的压缩和解压
知从玄武—程序更新工具ZC.XuanWu—Program Update Tool
ECU的内存分为PFLASH和RAM,PFLASH区分为Application&Data和BootLoader区,RAM区分为SBL和Data。
知从青龙BootLoader支持GEEA2.0规范的BootLoader状态切换流程,下图为BootLoader在不同状态切换的简化示例图:
当Application执行上电启动或执行复位启动时,PBL应开始执行初始化状态,其中PBL决定是否应启动Application。
如果ECU认为其存在有效Application,PBL将启动Application。
如果Application接收到诊断请求DiagnosticSessionControl,将通过执行Reset跳转PBL。
如果Reset是由应用程序中的诊断请求DiagnosticSessionControl(programmingSession)Warm start启动的,或者如果没有出现有效Application,则进入programmingSession状态。
如果启动类型是Cold start且存在有效Application,则Application启动.
知从青龙BootLoader支持GEEA2.0规范的BootLoader刷写需求,以下为部分已实现的GEEA2.0规范的需求功能:
Ø 安全刷写:
知从青龙BootLoader根据存储在非易失性存储器的Root Public Key,通过非对称加密算法RSA,对数据的真实性校验。若校验成功则通过对称加密算法SHA256和非对称算法RSA2048对数据完整性进行校验,保证安全刷写流程。
Ø 压缩算法:
知从青龙BootLoader 支持解析LZSS压缩算法对数据的压缩及对应数据结构的封装数据,同时支持非压缩数据的刷写。
Ø 主从BootLoader :
知从青龙BootLoader支持主从刷写功能。BootLoader在主节点上通过UART将上位机传输的Application数据转发给从节点上的BootLoader,并通过从BootLoader完成从节点上Application的更新。
Ø 支持VBF文件下载:
通过搭配知从玄武程序更新工具,知从青龙BootLoader可以解析VBF文件数据,将数据下载到ECU中,并按照GEEA2.0规范使用VBF中携带的Verification Block和Signature数据对完整性和可靠性进行校验。
知从青龙BootLoader是由知从科技自主研发的程序刷新软件(BootLoader)。使用知从青龙BootLoader的控制器,可以通过CAN、LIN、SPI、UART等通信方式实现应用程序的更新功能。目前,知从青龙BootLoader已支持NXP、Infineon、Renesas、ST等多家芯片,并且支持多家整车厂程序刷新规范,可提供定制开发服务。
此文档描述了知从青龙BootLoader基于SPC58NN平台,实现对GEEA2.0规范的支持。目前已实现支持VBF文件刷写、主从BootLoader刷写、压缩算法LZSS、数字签名认证等功能需求,满足GEEA2.0规范中大部分的刷写需求。
知从青龙BootLoader可应用于使用SPC58NN系列芯片的控制器程序刷新功能。支持的控制器包括:
Ø 车身控制器
Ø 网关控制器
Ø 车载娱乐系统控制器
Ø 电子驻车制动系统
Ø 胎压监测系统
Ø 电池管理系统
Ø 空调控制系统
Ø 车窗控制系统
Ø 门控系统
知从青龙BootLoader软件实现分层架构,分为硬件驱动层(HwDrv)、ECU抽象层(EcuAbstr)、系统服务层(SysSer)以及Boot管理层(BootManager)。并将整个软件进行模块化,其中:
Ø HwDrv
硬件驱动层实现芯片的硬件模块驱动,依赖于具体的芯片,不同的芯片需要替换此层的驱动。支持Uart驱动实现主从节点通信。
Ø EcuAbstr
ECU抽象层是对ECU的抽象,包含MCU外部的驱动。
Ø SysSer
系统服务层实现通信、诊断、内存管理、看门狗管理、安全管理等功能。支持LZSS压缩算法,SHA256对称加密算法,RSA2048非对称加密算法。
Ø BootManager
Boot管理层实现整个BootLoader软件模块的调度管理,并实现与应用程序的接口管理等。
青龙软件著作权登记证书
青龙软件产品登记证书
点击下载产品手册