на главную
Карта сайта
English version
Вы читаете:

Универсальный BDM программатор

Р/л технология
6 лет назад

Как собрать универсальный BDM программатор своими руками


Многие владельцы сложной техники по различным причинам задаются вопросом перепрошивки процессоров, которые отвечают за логику работы этих приборов. Это могут быть микроконтроллеры автомобилей (в обиходе называемые "мозгами"), стиральных машин и другой бытовой техники.

Чтобы скопировать имеющуюся или "залить" (закачать, установить) новую прошивку в такой процессор необходимо:

1.Аппаратное подключение к процессору через специальный интерфейс;

2.Специальный контроллер, который сможет обеспечить правильный обмен данными с процессором на понятном ему "языке".

3.Программное обеспечение, предназначенное для обработки кода прошивки и обмена данными с контроллером.

 

Немного терминологии

BDM – это аббревиатура от слов "Background Debug Mode" (русск. "Фоновый режим отладки"). Фактически это специальный интерфейс, применяемый в отдельных моделях процессоров. Разработан он и применяется в микропроцессорах производителя Motorola (в отдельных линейках продуктов. Наиболее часто используются для контроля работы двигателей автомобилей в составе блоков управления ДВС, изображение ниже), а также в решениях производителя Freescale Semiconductor. Основное назначение интерфейса BDM – отладка, запись, чтение данных.

Блок управления ДВС

Рис. 1. Блок управления ДВС

 

Использование BDM предполагает обмен данными с согласованием уровней напряжения, что требует особого подхода к проектированию контроллеров BDM.

 

Почему собрать универсальный BDM-программатор своими руками не получится

Дело в том, что производитель не открывает спецификаций для своих микроконтроллеров и не описывает формат обмена данными для протокола BDM.

Это значит, что все потенциальные технические решения – это своеобразный реверс-инжиниринг (анализ входов/выходов с последующей попыткой воспроизведения логики их работы).

Несмотря на то, что на рынке присутствуют готовые BDM-программаторы, они очень часто не справляются со своими функциями, так как производители автомобилей и бытовой техники предпринимают ряд мер по борьбе с потенциальными попытками взлома и модификации заводских прошивок. Ведь такие изменения могут нанести вред не только самому устройству, но и окружающим (как, например, в случае с автомобилями, которые сами по себе являются потенциальными источниками опасности).

В любом случае, даже в теории, разработка такого программатора очень сложна:

1.требуются знания не просто в области радиоэлектроники, но и в микропроцессорах (коды и формат обмена данными может изменяться в различных моделях микроконтроллеров);

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

3.как и было сказано выше, следует учесть множество нюансов, свойственных различным моделям процессоров, работающих с протоколом BDM, методы защиты производителей и способы их обхода;

4.и т.д.

Исходя из вышесказанного, следует, что на такое способны только конструкторские бюро или профессиональные проектные организации.

И даже после создания такого программатора и софта к нему (или покупки и использования готового прибора – смотри фото ниже), вы получаете следующие проблемы:

1.вмешательство в заводскую прошивку лишает вас гарантий производителя;

2.ошибка в логике работы микроконтроллера может повлечь за собой непредвиденные проблемы и последствия.

BDM100

Рис. 2. BDM100

 

Автор: RadioRadar