基于UDS的BootLoader下载,可以支持ECU生命周期的无限次刷写,通过CAN网络进行无需拆壳和DEBUG口的应用程序刷写,本文介绍了刷写服务和是三个阶段的刷写流程。也可通过无线模块实现空中升级,即OTA技术。
通过下面两张图了解一下bootloader的软件堆栈架构及刷写的流程。
下图为bootloader程序架构图:
下图为基于UDS服务刷写的Bootload的刷写流程图:
1 为什么要搞Bootloader?为什么要基于UDS搞Bootloader
假如你的控制器有外壳,却没有设计bootloader的话,每次更新ECU的程序,你都需要把外壳拆开,用烧写器来更新程序。有了bootloader,你就可以通过CAN线来更新程序了。更方便些的话,甚至可以通过OTA进行远程升级。
那为什么使用UDS呢?主要是为了规范bootloader的全过程。比如烧写小明牌ECU时,我们肯定希望其他牌子的ECU处于一个静默的状态,都歇一歇,这就需要一个大家共同执行的标准来进行规范,什么时候停发数据,什么时候不能再储存DTC了等等。
又比如