• ECU Bootloader自学笔记


    Bootloader概念

    顾名思义,就是驻留在ECU非易失性存储器中的一段程序加载代码,每次ECU复位后,都会运行bootloader。它会检查是否有来自通信总线的远程程序加载请求,如果有,则进入bootloader模式,建立与程序下载端(通常为PC上位机)的总线通信并接收通信总线下载的应用程序、解析其地址和数据代码,运行NVM(None Valitale Momory–非易失性存储器)驱动程序,将其编程到NVM中,并校验其完整性,从而完成应用程序更新。如果没有来自通信总线的远程程序加载请求,则直接跳转到应用程序复位入口函数。
    在这里插入图片描述

    Bootloader刷新过程

    预刷新步骤:刷新前的CAN网络准备

    10 03 在扩展会话下通过功能寻址来发给所有ECU
    31 01 xx xx ,重编程条件检查,比如车速、电压、挡位是否在p档
    85 02 禁DTC
    28 03 03 禁止非诊断报文的发送和接收(85和28服务顺序不能反,不然报DTC丢失了)
    22读数据 ECU相关信息 软硬件版本号,bootloader版本号

    主刷新步骤:下载应用软件或应用数据

    10 02 外部请求刷新标志位
    27 安全访问
    34 36 37服务 请求下载,传输数据,请求传输退出
    31 01 +FF01 检查刷新完整性 CRC32
    全部通过物理寻址操作

    后刷新步骤:重同步CAN网络

    28 80 03 恢复ECU NM报文和APP报文收发
    11 01 硬复位
    10 03 扩展会话
    14 FF FF FF清故障码
    85 服务使能DTC

    Boot相关的知识点提纲

    Boot自刷新:https://blog.csdn.net/weixin_40137252/article/details/111054011
    CB Customer boot
    SB start boot
    P-flash:
    program flash 主flash 存放代码
    D-flash EEPROM备份以及Dataflash
    刷写时外置EEP(按字节)不会被擦除,flash需要擦除(按sector)才能写入。
    Flash驱动(flash内存擦除和写入)
    Flash数据下载:寻址、擦除、编程条件检查
    memlay 分配flash的空间
    Bootctrl
    EcuSecu 安全启动
    Secureboot:通过逐级验证启动镜像,实现固件可信加载的技术
    https://zhuanlan.zhihu.com/p/536007837
    IFX&JDP 芯片对安全启动Secureboot的支持方式
    uboot:启动操作系统内核

    CB 架构
    在这里插入图片描述

  • 相关阅读:
    分布式、集群、微服务
    WMI Provider Host可以关闭吗?
    阿里云服务器安装tomcat
    C++11主要新增使用语法介绍
    Jenkins Pipeline详细教程
    BIRCH算法全解析:从原理到实战
    Java开发工具&安装MySql
    leetcode top100(11)滑动窗口最大值
    IMU预积分的过程详解
    卷积核的形象化解释
  • 原文地址:https://blog.csdn.net/weixin_44182878/article/details/126441636