Что такое бутлоадер в эбу

Обновлено: 05.07.2024

Микроконтроллеры AVR имеют возможность самопрограммирования, то есть могут самостоятельно изменять содержимое своей flash памяти. В практическом плане это означает, что, написав для микроконтроллера специальную программу-загрузчик (так называемый бутлоадер), мы можем обновлять его прошивку, не используя программатор. Причем интерфейс, по которому в микроконтроллер будет передаваться код программы, может быть совершенно произвольным. Обычно для этих целей используется один из аппаратно поддерживаемых интерфейсов, например, SPI, I2C или RS-232. Однако существуют и загрузчики, основанные на программной реализации таких интерфейсов как USB и 1-Wire.

Для микроконтроллеров AVR существует несметное количество готовых бутлоадеров, и в большинстве случае мы можем спокойно использовать их в своих устройствах, не утруждая себя написанием собственного загрузчика. В этой статье мы рассмотрим один из таких бутлоадеров, который разработан и свободно распространяется фирмой Chip45, и разберемся как его использовать.

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

Для того чтобы мы могли воспользоваться удобствами загрузчика, его нужно с помощью программатора записать в память микроконтроллера. Область памяти, в которую будет записываться загрузчик, указывается в конфигурационном файле линкера перед компиляцией исходного кода загрузчика. Эта тема выходит за рамки данной статьи и здесь мы ее рассматривать не будет. Для нас важно другое, если у нас есть готовый hex файл загрузчика, нам не нужно ни о чем думать, мы просто прошиваем его в микроконтроллер точно так же, как и самую обычную программу!

Размер секции загрузчика и секции прикладной программы задается с помощью конфигурационных битов BOOTSZ1, BOOTSZ0. Для микроконтроллера ATmega16 размеры секций памяти в зависимости от значений конфигурационных битов будут выглядеть так.

Размер загрузочной области mega16

Максимально возможный размер загрузочной секции для ATmega16 составляет 1024 16-ти разрядных слова, что соответствует 2 Кб его flash памяти. Если загрузчик не используется, прикладная программа может занимать весь доступный объем flash памяти микроконтроллера.

Значение конфигурационных битов зависит от требований конкретного загрузчика. Например, для бутлоадера фирмы Chip45 требуется загрузочная секция размером в 1024 слова (2 Кб), но можно написать и более компактный загрузчик. Все зависит от закладываемой в него функциональности и вашего умения кодить.

Допустим, мы записали в микроконтроллер бутлоадер, как им воспользоваться? Чтобы загрузчик заработал, его нужно активировать (запустить). Сделать это можно двумя способами:

Реализация первого способа требует установки конфигурационного бита BOOTRST. Все мы знаем, что после подачи питания или события сброса, микроконтроллер начинает выполнять свою программу с нулевого адреса памяти программ, то есть с вектора сброса. По этому адресу, как правило, размещается ассемблерная команда безусловного перехода на прикладную программу. Установка бита BOOTRST переносит вектор сброса микроконтроллера AVR на начало его загрузочной секции (например, на адрес 0x1C00, если наш микроконтроллер ATmega16 и оба бита BOOTSZ1, BOOTSZ0 равны нулю), соответственно при старте он сразу начинает выполнять код загрузчика.

Расположение вектора сброса в зависимости от fuse бита

Реализация второго способа подразумевает, что микроконтроллер содержит и загрузчик, и пользовательскую программу, которая будет осуществлять переход в загрузочную область при наступлении какого-нибудь события.

Для реализации такого перехода нужно: создать указатель на функцию, присвоить ему адрес начала загрузочной секции и осуществить вызов функции с помощью этого указателя. Например, так:

Когда микроконтроллер переходит в секцию загрузчика, он, если так можно выразиться, “бросает все свои дела”, даже если они не закончены. В некоторых приложениях такое поведение может быть не допустимо (простейший пример – устройство управления нагревательным элементом), поэтому перед запуском загрузчика потребуется привести микроконтроллер или устройство в какое-то нейтральное положение. Помните про это!

Что происходит, когда загрузчик записал в память микроконтроллера прошивку? Он или запускает прикладную программу сам или ожидает какой-то команды от управляющей программы на компьютере. Это уже зависит от реализации конкретного бутлоадера.

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

Перейдем к рассмотрению загрузчика фирмы Chip45. В чем его особенность?

1. Наличие готовых прошивок загрузчика под большую номенклатуру AVR микроконтроллеров, а также микроконтроллеров XMEGA. Не нужно компилировать прошивку самому!


2. Простая и удобная графическая оболочка для работы с загрузчиком, а также наличие ее портов под несколько операционных систем (Windows, Linux, Mac OS X).

3. Простой командный интерфейс для работы через терминальные программы.

4. Использование для обмена данными UART модуля, что позволяет загружать прошивку в микроконтроллер по RS-232 или USB, в случае использования USB-UART преобразователя.

5. Поддержка интерфейса RS-485.

6. Возможность чтения/записи EEPROM памяти.

7. Автоматическая установка скорости обмена UART`a с хостом независимо от тактовой частоты микроконтроллера.

8. Дополнительные возможности по активации загрузчика, путем отправки произвольной строки.

9. Требуемый размер загрузочной секции – 1024 слова (2 Kб flash памяти)

Запись загрузчика в микроконтроллер состоит из следующих шагов:

- устанавливаем размер загрузочной секции равной 1024-м словам,
- устанавливаем конфигурационный бит BOOTRST,
- запрещаем деление тактовой частоты, если есть бит CLKDIV8,
- запрещаем работу сторожевого таймера, если он включен битом WDTON,
- выбираем подходящую под наш микроконтроллер прошивку,
- записываем ее в микроконтроллер с помощью любого программатора.

Основную сложность у новичков здесь может вызвать правильная установка конфигурационных битов. С ними часто происходит путаница, потому что некоторые программаторы воспринимают 1 в конфигурационном бите, как незапрограммированное состояние, 0 – как запрограммированное, а некоторые наоборот. Первый вариант соответствует datasheet`ам микроконтроллеров AVR (смотрите картинку выше).

Единственно, могу вас успокоить - неправильная установка этих битов не заблокирует возможность программирования микроконтроллера обычным программатором.

Почти все микроконтроллеры серии Mega с памятью от 8КБ могут прошиваться через бутлоадер. Фишка удобная и применяется довольно часто, однако подробного мануала как работать с бутлоадером на AVR я в свое время не нашел и пришлось разбираться самостоятельно. С той поры мало что изменилось. Пора бы дать подробное описание как выбрать, скомпилировать, прошить и в дальнейшем использовать bootloader для AVR.

Ликбез
Что же это такое бут и с чем его едят. BootLoader это всего лишь небольшая программка которая сидит в специальной области памяти микроконтроллера и слушает какой-либо интерфейс. Обычно это UART, но бывает и SPI, USB и даже SoftUSB бутлоадеры.

При загрузке контроллера управление первым делом передается бутлоадеру и он проверяет есть ли условие для запуска. Условие может быть любым, но обычно это либо наличие спец байта по интерфейсу, либо наличие нужного логического уровня на выбранной ножке контроллера, сигнализирующее о том, что мы хотим обратиться к буту прошивку. Если условие есть — то бутлоадер может, например, принять прошивку по UART‘у и сам прошить ее во флеш. Или, наоборот, считать прошивку из флеша и выдать через UART, считать или записать EEPROM, подрыгать ножками. Да что угодно. Но обычно все же с помощью бута осуществляют прошивку микроконтроллера без применения спец программатора.

Если разрешающего условия при старте нет, то бут завершает свою работу и передает управление основной программе.


Зачем он нужен вообще?
В самом деле, зачем эти сложности? Зачем тратить и без того малое количество памяти на какую то вспомогательную утилиту? А порой иначе и нельзя! Вот, представь, стоит у тебя девайс где нибудь под землей на большой глубине. Или на высоченной башне куда лезть и лезть, или девайсов у тебя таких миллион? А связь у тебя с девайсом по UART какому нибудь или радиоканалу. И вот надо прошить девайс свежей версией прошивки. Выкапывать, лезть на башню или тыкать в каждый из девайсов шнур программатора… это же сдохнуть можно! А так дал девайсу общий сброс, приказал удаленно бутлоадеру всосать новую прошивку и вуаля!

Мало того, с помощью бута можно сильно облегчить обслуживание коммерческих устройств. Например, такая простая вещь как обновление прошивки, которую поддерживает масса девайсов вроде плееров или сотовых телефонов и которую делает обычный юзер. Выходит прошивка доступна и конкурентам? А вот фигу! Она шифрованая, а бутлоадер содержит ключ для ее дешифровки, дешифрует на лету и заливает во флеш. Красота, правда?

Недостатков у любого бутлоадера два — самый главный в том, что он отжирает часть флеша. Это неизбежное зло. Второй, не менее весомый, то что он стартует первый и если не позаботиться о грамотном алгоритме входа в бут, то девайс может сделать это самопроизвольно, записав в себя черт знает что. Такая беда была, ЕМНИП, со старыми GSM модулями SIM300DZ у которых часто ВНЕЗАПНО при неправильном выключении питания слетала прошивка. А просто модуль входил в бут режим и наведенные помехи на входах устраивали ему армагедец.

Откуда Bootloader берется в контроллере?
Многие современные МК уже изначально, с завода, идут с прошитым bootloader’ом. В AVR же ничего подобного нет, поэтому его надо прошить самостоятельно. Да, программатор потребуется. Обычный ISP, любой — Громова, STK200, Пять проводков, USBAsp да тысячи их. Им зашиваешь в память обычную прошивку, но содержащую бут. После чего программатор тебе уже не потребуется — дальше с контроллером можно общаться через загрузчик.

Bootloader в AVR
Что происходит при старте контроллера? В нормальном состоянии процессор начинает по одной выполнять инструкции из памяти программ, начиная с нулевого адреса. Вот так это примерно выглядит в ATmega16, в других все аналогично, только адреса другие.

Но если активировать Fuse бит BOOTRST то процессор будет стартовать не с нулевого адреса, а с адреса начала Boot сектора. Этот сектор расположен в самом конце памяти программ и его размер задается FUSE битами BOOTSZх.

Вот как, например, выглядит таблица соответствия битов BOOTSZх и размера загрузочной области для ATMega16:

Обрати внимание на то, что адрес задается в словах. Учитывая то, что одна команда в AVR занимает одно слово, то в самом скромном варианте бутлоадера нам надо уложиться в жалкие 128 команд, а в самом жирном в нашем распоряжении аж 1024 команды. Кроме всего прочего, у бутлоадера есть еще куча разных битов конфигурации разрешающие запись или чтение из памяти программ, организующие защиту от копирования и прочие фишечки. Я их описывать не буду — тут нужна отделная статья, да и они нужны в основном только если ты захочешь написать свой бутлоадер. Про них все написано в даташите, а если не шаришь в аглицком, то книга Евстифеева тебе будет хорошим подспорьем. Плюс есть куча примеров на этот счет.

Выбор bootloader’a
Мы же пока будем юзать готовый, благо их понаписано вагон и маленькая тележка. Но какой из них выбрать?
Для себя я обозначил ряд критериев исходя из которых выбирал подходящий бут. Итак, вот они:

И сейчас я покажу тебе как юзать эту замечательную программулину.

Итак, тебе нужна AVR Studio и WinAVR (она же AVR GCC). Если ничего этого ты еще не ставил, то сначала поставь студию, а потом сверху накати на нее WinAVR тогда они сцепятся друг с другом и будут работать в единой связке. WinAVR можно скачать с официального сайта . Ставить лучше по дефолтному пути C:\WinAVR\ — меньше потом будет косяков с путями в либах.

Потом тебе нужны сорцы загрузчика. Можешь взять у у автора , но я рекомендую сдернуть все же у меня. У меня сразу же готовый проект для AVRStudio:

Следующим шагом выбирается микроконтроллер и отладочная платформа. В качетсве платформы выбери AVR Simulator и свою модель контроллера. Хотя, в принципе, это не так важно — всю работу сделает makefile. Но пусть будет.

Жмешь финиш и имеешь пустой проект. Сохраняешь его и закрываешь.

Теперь находишь папку этого проекта и перекидываешь туда все исходники и хидеры из архива бутлоадера, в том числе и папочку, что там тусуется, перезаписывая свой пустой файл main.c

Осталось вновь открыть этот проект, но поскольку мы переписали main.c то он уже не будет пуст. Там будет дофига кода.

Во вкладке Build AVR Studio должно проскочить что то вроде:

Конфигурация Bootloader’a
Но это так, тестовый прогон. Он тебе возможно нафиг не подойдет. Надо настроить лоадер под свой проц, свою частоту, свой размер.

Итак, вначале правим main.c
Первым делом твой взор должен воткнуться в строку с определнием F_CPU:

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

Это настройка скорости передачи порта по которому наш бут будет общаться с внешним миром. По дефолту идет 115200, но у меня на 115200 так и не заработало, поэтому я понизил до 19200. Работает стабильней некуда. Режим удвоения скорости я никогда не юзаю. Он пригождается лишь когда работаешь на медленных кварцах, вроде часового. А так — лишняя сущность. Поэтому закомменчено.

Это выбор порта инициализации и порта индикации. Оба этих пина совершенно опциональные.

Следующая важная опция — способ входа в бут

Выбираешь нужную, а остальное комментируешь. В принципе, рулят START_SIMPLE — вход по наличию низкого уровня на заданом выводе и START_WAIT — вход в бутлоадер по спец символу из UART в течении времени которое определено в переменной WAIT_VALUE. У меня комп немного подтормаживает (старичок, ага) поэтому ставлю 4 секунды. Иначе AVRProg не успевает пнуть в порт символ и запустить бут. После 4х секунд начинается выполнение основной программы.

Вначале выбираем свой проц:

Затем размер бутсектора

Первые две опции не катят, ибо бут в них не влезет. А вот 512 и 1024 вполне пригодны. Для начала поставь 512, если не влезет, то изменишь на 1024. Размер бутлоадера зависит от количества включеных фишек и опции запуска. Для Wait и Simple хватает и 512 слов.

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

Если поковырять makefile еще ниже, то можно найти где прописываются пути к WinAVR

Это на случай если будут ошибки при компиляции.

Теперь сохраняй изменения в makefile и залезь в папку проекта, и грохни там все *.hex *.o *.map *.lss.
Я не знаю почему, но видимо в одном из этих файлов Студия при предыдущей компиляции сохраняет параметры из make и дальнейшие правки makefile не приносят результата. Я минут 20 пытался понять какого черта у меня бутлоадер не хочет влезать в память, пока не заглянул в hex файл и не увидел, что адрес бутсектора начинается далеко за пределами памяти Меги16 — т.к. первый раз, для пробы, я скомпилировал под Мегу32 и не смотря на то, что в makefile я все поправил на Mega16 и сохранил, но при компиляции Студия настойчиво совала бут черти куда. Пока не удалил эти файлы и не скомпилил заново (они появляются при компиляции) ничего не заработало.

Теперь компилируй загрузчик и получай на выходе main.hex файл — обычную прошивку. Для проверки открой его блокнотом и позырь на начало и конец, предварительно рекомендую покурить формат Intel HEX :

:103C000011241FBECFE5D4E0DEBFCDBF10E0A0E69B
……
тут куча барахла — это код нашего загрузчика
……
:0E3FA0;00B1CE5D9BFECF2CB8ADCEF894FFCF16
:0400000300003C00BD
:00000001FF

Жирным я выделил адреса которые тебя интересуют. 3C00 — адрес начала сектора (в байтах! В даташите он приведен в словах, так что умножай на два 1E00*2=3C00) размером в 512 слов. 3FA0 адрес начала последней строки кода загрузчика, а число перед адресом (0E) — длинна этой строки.
3FA0+0E = 3FAE адрес самого последнего байта загрузчика. Последний адрес флеш памяти для ATmega16 это 3FFF так что у нас еще 81 байт в запасе остался ;)))))

Ок, загрузчик с включенными фичами входит в память. Так что все в порядке. Если у тебя с твоим набором функций не влезет в память, то придется выбирать бутсектор на 1024 слова и перекомпилировать все заново.

Готово, у нас есть hex файл, можно прошивать. Подключаем программатор (да, он тут потребуется, а ты думал в сказку попал? Нифига, программатор штука такая без которой никуда) и заливаешь ее в МК. Сразу предупреждаю шиться будет долго. Т.к. будет заливаться полная прошивка на 16кБ (для мега16). Причем что avrdude@usbasp, что AVRProg@JtagICE — все ругаются на какую то ошибку, дудка порой виснет на чтении, однако если прочитать потом кристалл и сравнить два хекса, то будет видно, что лоадер четко встал в ввереные ему адреса.

Осталось сделать страшное :) Выставить Fuse биты.

Во-первых надо активировать бит BOOTRST
Во-вторых выставить размер бут сектора в битах BOOTSZ1..0, для 512 на Mega16 это 01

Как проверить работу Bootloader’a
Теперь нам надо соединить микроконтроллер с компом через RS232 или его USB эмуляцию. У меня USB, главное чтобы виртуальный USB был в числе первых четырех COM портов. У меня он зарегился в системе как COM4

Как прошивать через Bootloader
Закрываем терминалку, чтобы освободить порт.
Подключаем контроллер, подаем питание. Запускаю студию, жму RESET на плате микроконтроллера и в меню студии быстро выбираю Tool — AVR Prog… Помним, что у нас в запасе 4 секунды.


Ну, а дальше тривиально. Выбираем кекс для флеша, если надо и для епрома и шьем. Шьется просто реактивно! Закрываем AVR Prog, делаем RESET, ждем 4ре секунды — прога пошла!

З.Ы.
Народ, кто юзает/пишет загрузчики накидайте мне в комменты линков на то чем пользуетесь вы. А то я особо тему не рыл, нашел что удовлетворяло моим условиям и успокоился. Хотелось бы в статью еще добавить подборку линков на разные бутлоадеры под разные языки и компиляторы.

З.З.Ы
Подумалось тут…
Бутлоадер настроен на определенную частоту. Но для отладочной платы это не очень удобно, там порой может потребоваться смена частоты. Частоту можно изменить переткнув кварц, но тогда бутлоадер работать перестанет — собьется частота UART и потребуется опять программатор (которого может и не быть под рукой), чтобы перешить бутлоадер под новую частоту. Единственно что можно менять кварцы с частотами степени 2, тогда просто у USART будет скакать скорость, скажем, кварц на 8мгц — скорость 9600 бод, поставили кварц на 16мгц — скорость на том же буте стала уже 19200.

Проблема может решаться таким образом — числа определяющие скорость уарта мы кладем в последниие адреса EEPROM (если там 0, то можно задать какой нибудь дефолт, например 9600 для частоты 8Мгц, чтобы можно было хоть как то оживить МК), а затем, если мы хотим поменять кварц и перешить прогу на новую частоту, то сначала, на прежнем буте не перезагружаясь, пока он еще доступен, зашиваем вначале новую прошивку, потом новый Епром с числами под новый кварц, перезагружаемся — меняем кварц и опа — у нас опять МК онлайн. Надо добавить в этот лоадер такую фичу. =)

З.З.З.Ы.
Бутлоадером изначально прошиты все контроллеры AVR в моих демоплатах Pinboard

Спасибо. Вы потрясающие! Всего за месяц мы собрали нужную сумму в 500000 на хоккейную коробку для детского дома Аистенок. Из которых 125000+ было от вас, читателей EasyElectronics. Были даже переводы на 25000+ и просто поток платежей на 251 рубль. Это невероятно круто. Сейчас идет заключение договора и подготовка к строительству!

А я встрял на три года, как минимум, ежемесячной пахоты над статьями :)))))))))))) Спасибо вам за такой мощный пинок.

283 thoughts on “AVR. Учебный Курс. Использование Bootloader’а”

тут имеется ввиду немного другой принцип, то что вы описали называется старт-ап

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

1 Что представляет собой ПАК Загрузчик v3?

За счет высокой функциональности, надежности и постоянных обновлений базового программного обеспечения, ПАК загрузчик позволяет проводить грамотный чип-тюнинг для самых разных моделей автомобилей иностранного и отечественного производства. С помощью данного загрузчика можно проводить изменения в контроллере и без снятия блока управления. В данном случае загрузчик применяет диагностический метод записи данных и калибровок, однако это возможно только на определенных моделях электронного блока управления, в основном иностранного производства.

На фото - чип-тюнинг автомобиля, garage1.ru

Похожие статьи

Как правило, базовая комплектация включает в себя специальный адаптер, несколько кабелей с различными по контактным возможностям разъемами и непосредственно USB host. При этом стоит помнить о том, что работа программатора возможна только в случае использования специализированного адаптера, так как программа обладает защитой от копирования данных. Существуют также дополнительные модули и специальные плагины, за которые, как правило, берется отдельная плата.

Фото ПАК Загрузчика v3 Combiloader, test-engine.ru

USB Host представляет собой достаточно сложный по своему устройству механизм, который изменяет внутреннюю программу процессора. USB Host также является электронным ключом для программ SMS-Softarе. Адаптер совместно с хостом позволяет создавать сигналы управления, а также считывать и устанавливать новые прошивки блока управления через специальный интерфейс K-Line.

2 Возможности программатора Сombiloader ПАК 3

Данный загрузчик обладает огромным функциональным потенциалом, именно поэтому он считается лучшим в своем роде. С помощью программатора Сombiloader можно сканировать и выводить данные контроллера и системы, считывать ошибки контроллера, идентифицировать тип используемой прошивки в двухрежимном варианте, а также сканировать и удалять коды неисправностей контроллера и осуществлять сканирование прошивки в сторону внутреннего буфера.

Для работы программы Сombiloader ПАК 3 требуется современный компьютер и операционная система не ниже Windows 2000, через специализированный адаптер он подключается к usb-порту на основном компьютере. Программатор постоянно обновляется, выходят новые модули и плагины, с помощью которых можно изменять прошивки на самых современных типах электронных блоков управления. Среди преимуществ данной программы можно выделить целый ряд дополнительных функциональных возможностей, которые предлагает только этот загрузчик.

На фото - программа Combiloader, autoelectric.ru

Таким образом, программа может работать одновременно как с Flash, так и с EEPROM. Кроме того, программа может считывать данные с иммобилайзера и полностью отключать его в случае необходимости. Combiloader также позволяет встраиваться в программу блокировки стартера и маршрутного компьютера, тем самым защищая данные от возможности копирования. Стоит отметить, что с каждым годом число дополнительных модулей, которые используются для самых разных моделей современных иномарок и автомобилей отечественного производства растет в геометрической прогрессии. Далее мы рассмотрим некоторые популярные модули, доступные за дополнительную плату.

Все без исключения современные модули для программатора требуют единый электронный ключ, стоимость которого в различных сервисах и магазинах составляет от 1000 до 1500 рублей.

Фото электронного ключа для программатора Сombiloader, osbez-cctv.ru

В базовой комплектации универсальный загрузчик доступен с модулями Январь-5.1 и Январь-7.2, которые используются для калибровки параметров блоков управления различных моделей автомобилей ВАЗ до 2005 года выпуска. Также в обычной комплектации доступен модуль Микас-7.1, используемый для автомобилей ГАЗ и УАЗ и модуль Микас-7.6, который используется для некоторых моделей Daewoo и ЗАЗ. Также в базовой версии можно встретить модули Bosch M7.9.7/ Bosch M7.9.7+, а также Boch 7.0, которые предназначены для более "свежих" моделей семейства ВАЗ. Кроме того, в "базу" входит и высокоточный модуль BSL режим C16x, с помощью которых можно осуществлять запись флэш блоков управления на некоторых автомобилей иностранного производства, например, Volkswagen, Audi или Skoda. Они, как правило, оснащаются высокоточными контроллерами с большим объемом памяти и единой системой подачи команд. При этом модуль BSL режим C16x может работать только при наличии специального защищенного ключа.

3 Обзор некоторых дополнительных модулей

Рассмотрим наиболее популярные модули для загрузчика. Например, модуль типа DAEWOO KLINE. Данный модуль позволяет осуществлять диагностику и перепрошивку современных блоков управления, устанавливаемых на новые модели марки Daewoo. Перепрошивка в этом случае происходит без снятия ЭБУ, посредством диагностического метода. Как правило, цена данного модуля колеблется в около 7000 рублей. Еще один популярный модуль – Sirius 3x, который используется для новых моделей Renault, включая Clio и Logan нового поколения.

На фото - модуль DAEWOO KLINE, auto-diag.com.ua

Модуль Delphi используется для записи блоков управления автомобилей китайского производства, его стоимость, как правило, не превышает 5000 рублей. Siemens MS3 позволяет производить программные изменения на ЭБУ всех моделей BMW и поставляется только для USB-версий программатора, его стоимость варьируется в пределах 5000 рублей. В случае с современными моделями Kia, выключая такие модели как Kia Sportage, Ceed, Magentis и Sorento используется комплект модулей типа SIM2K-140 или Delphi MT. Данный комплект модулей также используется для обновления электронного блока управления модели Hyundai Sonata с двигателями объемом, превышающим 2,0 литра, а также модели Chevrolet Epica. При приобретении этого комплекта модулей необходимо также иметь в наличии специализированный адаптер под названием Open Port2, при этом калибровка осуществляется без снятия блока управления, через диагностический разъем.

Фото модуля Delphi, equipment.autodealer.ru

4 Рекомендации по использованию универсального ПАК загрузчика

Если вы решили произвести определенные изменения в прошивке блока управления и хотите использовать для этого загрузчик Сombiloader, лучше всего обратиться к специалистам, у которых есть все необходимое оборудование и опыт проведения подобных работ. Они грамотно помогут вам подобрать наиболее подходящий модуль. Если же вы рассчитываете на свои силы и хотите самостоятельно произвести перепрошивку ЭБУ на своем автомобиле, рекомендуем вам воспользоваться специальной инструкцией по применению данного программатора, а также скачать все доступные драйверы и микропрограммы в случае необходимости дополнительных USB ключей.

На фото - перепрошивка ЭБУ с помощью ПАК Загрузчика v3 Combiloader, automaster18.ru

В любом случае приступать к процедуре перепрошивки штатного блока управления стоит только после обретения необходимых знаний и теоретических навыков. Программный комплекс Combiloader удобен для универсального использования и в специализированных технических сервисах. В настоящее время практически на любой современной модели автомобиля можно произвести калибровку различных параметров ЭБУ, используя огромный выбор возможностей, которые предоставляет этот современный аппаратно-программный комплекс.

Всем доброго времени суток. Возникли вопросы по блокам Микас 11ЕТ. Прошу поделиться информацией специалистов. Принесли блок, в идентификаторах 0800-72 (везде пишут, что это закрытое ПО, т.е bootloader 2.06). Считал Flash, открыл в Нех-редакторе, а там bootloader 2.04. Получается в прошивке исправили bootloader. Возникло несколько вопросов:
Если в этом блоке bootloader 2.04, он открытый? Можно-ли использовать BSL-режим?
Можно-ли записывать в данный блок прошивку 0799-52 (bootloader 2.04)?
Как поступать в ситуациях, когда в прошивках изменен bootloader, чтобы не завалить блок?

если поищите темы по данному блоку везде писал что перед записью надо считывать прошивку и смотреть бутлоадер ! его подменить нет проблем или в редакторе изменить софт ! иногда делают спецом . честь вам и хвала !! в вашей ситуации если бутлоадер действительно 2.04.16 вроде так полностью выглядит то писать 52-ой софт можно без опасений только перед этим так же откройте и посмотрите так как и 52-е софты бывают с закрытым бутлоадером 2.06 .

Огромное спасибо за развернутые ответы.
Если можно еще пару вопросов: каким образом изменяют версию bootloader? При помощи программы типа CTPro 7? или есть еще способ? И самое главное с какой целью?

Версию bootloader могут менять на заводе (разработчики). Для нас практического смысла менять нет. Софты открытых и закрытых блоков работают одинаково. Причина появления закрытых блоков - чтобы посторонние не могли менять софты произвольно, а только производитель. Т.е. защищенные блоки это защита производителя от нас. Хотя реально и мы можем менять bootloader, например, сняв защиту. Или напротив, обычный блок делаем защищенным, но это уже другая история, с другим оборудованием. Что же касается СТР7.0, то не умеет менять версия bootloader, работает с тем, что есть.

Читайте также: