目前,汽车上的电子电气架构越来越复杂,并伴随着汽车的电动化、智能化、网联化、共享化,软件的研发在汽车上占比越来越大。软件更新的频率越来越高。而且,在汽车的整个生命周期中,包括研发阶段、生产阶段、售后阶段,各个阶段都需要实现软件的更新功能。因此,客户对软件程序更新的需求越来越迫切。
对于整车厂或供应商,BootLoader是控制器开发必备的功能。并且,不同的整车厂有不同的程序更新规范,同时BootLoader驱动又依赖于不同的芯片。因此,为了满足不同的整车厂程序更新规范,又适配不同的芯片,知从科技提供了完整的BootLoader解决方案—知从青龙BootLoader。知从青龙BootLoader既适用于不同的整车厂程序更新规范,又适用于不同芯片厂商的芯片,让客户更专注与自己的控制器产品研发。
SMTC平台架构在BootLoader中,通过实现Secure Boot、签名旁路验证、安全刷写等功能,降低了在MCU更新过程中的安全风险,大幅提升了BootLoader的安全性以及可靠性。
Ø 适用于SMTC平台规范
Ø 支持应用程序和数据的更新功能
Ø 支持CAN等通信
Ø 适配知从玄武程序更新工具,提供完整的程序更新解决方案
Ø 支持对称加密SHA256算法
Ø 支持非对称加密ECC算法
Ø 支持签名旁路认证功能
Ø 支持安全启动功能
Ø 支持安全刷写功能
知从玄武—程序更新工具
ECU的内存分为PFLASH和RAM,PFLASH区分为Application&Data和BootLoader区,RAM区分为FlashDriver和Data。
5.4支持SMTC规范
Ø 安全刷写功能:
知从青龙BootLoader支持SMTC规范的SecureBoot流程中的安全刷写功能,下图为简化示例图:
当Bootloader执行刷写流程时,Bootloader会通过非对称加密ECC算法和根公钥,校验签名头文件内容。若校验通过,则获取签名头文件文件摘要并存储在非易失性存储器中。Bootloader获取Ecu中整个App数据,并通过对称加密SHA256算法,计算得出Hash Value。
对比Hash Value和存储在非易失性存储器中的文件摘要,实现知从青龙Bootloader安全刷写功能。
Ø 安全启动功能:
知从青龙BootLoader支持SMTC规范的SecureBoot流程中的安全启动功能,下图为简化示例图:
当Bootloader执行上电启动或执行复位启动时,Bootloader获取存储在Ecu Memory中的数据,通过非对称加密ECC算法和公钥对数据进行解密验签。当验签成功则获取Verification Data,并与存储在非易失性存储器中的文件摘要进行对比。若对比成功则可以实现安全启动功能。
Ø 签名旁路功能:
知从青龙BootLoader支持SMTC规范的SecureBoot流程中的签名旁路验证功能,下图为简化示例图:
当Bootloader执行上电启动或执行复位启动时,Bootloader会检测SBI旁路签名标志位是否置起,当SBI置起时将会开始检测签名旁路许可证SBA是否写入。
如果签名旁路许可证SBA已写入,则Bootloader将会检测SBA中的签名与Application的签名是否一致。
当SBA验证成功后,将会保存SBA有效标志位,在后续的安全启动流程中,若SBA有效位被置起,安全启动以及安全刷写流程中的签名刷新文件授权性和完整性校验将不需要执行。
知从青龙BootLoader是由知从科技自主研发的程序刷新软件(BootLoader)。使用知从青龙BootLoader的控制器,可以通过CAN、LIN、SPI、UART等通信方式实现应用程序的更新功能。目前,知从青龙BootLoader已支持NXP、Infineon、Renesas、ST等多家芯片,并且支持多家整车厂程序刷新规范,可提供定制开发服务。
此文档描述了知从青龙BootLoader基于TC213平台,实现对SMTC 2 800 004、SMTC 2 800 007、SMTC 3 800 008规范的支持。目前已实现支持等功能需求,满足SMTC规范中大部分的刷写需求。
知从青龙BootLoader可应用于使用TC213系列芯片的控制器程序刷新功能。支持的控制器包括:
Ø 车身控制器
Ø 网关控制器
Ø 车载娱乐系统控制器
Ø 电子驻车制动系统
Ø 胎压监测系统
Ø 电池管理系统
Ø 空调控制系统
Ø 车窗控制系统
Ø 门控系统
知从青龙BootLoader软件实现分层架构,分为微控制底层控制(MCAL)、基础软件层(BSW)以及Boot管理层(BootManager),其中BSW分为系统服务(SYS),存储服务,诊断服务(DIAG),ECU抽象层等功能部分,并将整个软件各功能进行模块化,其中:
Ø 微控制底层控制(MCAL)
实现芯片的硬件模块驱动,依赖于具体的芯片,不同的芯片需要替换此层的驱动。
Ø ECU抽象层
主要包括ECU的抽象层功能代码,例如IO驱动的抽象层功能。
Ø 系统服务(SYS)
实现通信、诊断、内存管理、看门狗管理、安全管理等功能。SHA256对称加密算法,ECC非对称加密算法。
Ø 诊断服务(SYS)
实现基于UDS以及SMTC规范的DCM诊断功能。
Ø 存储服务
实现内存管理,存储控制功能,支持NVM存储管理。
Ø BootManager
Boot管理层实现整个BootLoader软件模块的调度管理,并实现与应用程序的接口管理等。
青龙软件著作权登记证书
青龙软件产品登记证书
点击下载产品手册