ECU 固件升级,类似于手机固件升级,大概流程是实现 Bootloader,完成 EEPROM/Flash 的读写,当然需要了解 ECU 所使用的 MCU,MCU 内部EEPROM/Flash 和外部 EEPROM/Flash 的读写,学习门槛很高,别的不说,光是 ECU 固件逆向就不容易,因为需要了解 10 多种 MCU 汇编语言,还需要编写各种 IDA 插件,难度很大。本文对 ECU 固件升级进行基本的阐述,如果有错误的地方,恳请斧正。
一、UDS
UDS,UNIFIED DIAGNOSTIC SERVICES,它是汽车诊断的核心,常用的 UDS 服务 SID 如下:
OBD2_MODE_SHOW_CURRENT_DATA:0x01
OBD2_MODE_SHOW_FREEZE_FRAME:0x02
OBD2_MODE_READ_DTC:0x03
OBD2_MODE_CLEAR_DTC:0x04
OBD2_MODE_TEST_RESULTS_NON_CAN:0x05
OBD2_MODE_TEST_RESULTS_CAN:0x06
OBD2_MODE_READ_PENDING_DTC:0x07
OBD2_MODE_CONTROL_OPERATIONS:0x08
OBD2_MODE_VEHICLE_INFORMATION:0x09
OBD2_MODE_READ_PERM_DTC:0x0A
OBD2_MODE_ENHANCED_DIAGNOSTIC_REQUEST :0x22
UDS_SID_START_DIAGNOSTIC_SESSION:0x10