Обновить

Основы Universal Measurement and Calibration Protocol (XCP)

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели9.8K
Всего голосов 4: ↑4 и ↓0+8
Комментарии4

Комментарии 4

Впервые узнал про XCP вовсе не от автомобилей, а от открытого проекта загрузчика OpenBLT. Там как раз прошивка обновлялась через XCP (ASAM MCD-1).

https://www.feaser.com/openblt/doku.php

https://github.com/feaser/openblt

https://github.com/feaser/openblt/blob/master/Target/Source/xcp.c

 изменять калибровочные таблицы (топливные карты, углы опережения зажигания) на лету.

CAN пакет может передавать по 8 байт.
Как же XCP может передавать огромные калибровочные таблицы?
Они же не поместятся в CAN пакет.
Неужели между XCP и канальным CAN пакетом есть еще какой-то отдельный транспортный протокол (как в UDS и J1939)?

Соответствие между адресами и именами переменных находятся в текстовом A2L‑файле, который стандартизован ASAM MCD-2 MC.

Может ли GCC компилятор (или какая другая утилита) сгенерировать .a2l файл на основе elf файла (или .map файла)?

Разумеется, gcc не знает про формат a2l. А утилиты, которые работают с XCP, обычно всеядны: им подойдёт и .a2l, и .dbg, и .elf (если, конечно, в нём есть отладочная информация в формате DWARF).

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации