最近着手搭建UDS bootloader,把过程记录备忘。
---------------------------------------------------------------------------------------------------------------------------------
一、UDS协议栈架构
要实现UDS bootloader,首先要有一个UDS的协议栈,我根据过往经验,大概规划了这样子的架构:
由于是bootloader,CAN UDS部分中的DTC可以暂时不去实现。
我打算把整个协议栈分层处理,底层的CAN Driver为驱动层,CAN Interface作为驱动层与上层的接口层,起到桥接作用;Transport Protocol作为传输协议层,专门针对UDS的网络层;Diagnostic就是诊断层了,对应UDS的诊断应用。
然后打算把bootloader划分到Diagnostic App中去,使用诊断应用来实现。
二、Bootloader流程
bootloader部分需要做一个流程规划,如下:
三、准备工作
1、上位机
涉及到bootloader,咱们不仅需要开发MCU代码(