В этой небольшой статье я кратко опишу основные принципы и работу системы обновления программного обеспечения бортовых компьютеров Омега.
Используемые сокращения:
- ПО — Программное Обеспечение, программа.
- БК — Бортовой Компьютер. Устройство, устанавливаемое в автомобиль.
- ПК — Персональный Компьютер под управлением операционной системы Windows.
Терминология:
- Основное ПО — программа управляющего микроконтроллера БК. Именно ею определяется поведение и функциональность этого устройства.
- Загрузчик — узкоспециализированная программа, располагающаяся в памяти микроконтроллера БК. Единственная ее задача — принять файл основного ПО и записать его в память микроконтроллера БК.
- Файл образа основного ПО (прошивка)— шифрованный образ основного ПО. В нашем случае, этот образ "вшит" в программатор.
- Программатор — программа для ПК, устанавливающая связь с загрузчиком и передающая ему файл образа основного ПО.
Принцип работы понятен из приведенного рисунка: программатор устанавливает связь с загрузчиком и передает ему файл образа ПО. Загрузчик записывает этот образ в память БК.
Значок ключика означает операции шифровки и дешифровки — файл образа шифрован, загрузчик перед записью расшифровывает его.
Не очевиден следующий момент, и он вызывает трудности у пользователей: установка связи между программатором и загрузчиком.
Надо сказать, что Загрузчик и Основное ПО занимают различные области памяти микроконтроллера БК и не могут выполняться одновременно. Поэтому существую два режима работы БК — режим обновления ПО и обычный режим работы в автомобиле.
Для активации Загрузчика я использовал два разных приема:
- Режим «Бутлоадер Коннект» - активация происходит при получении специального сигнала от программатора при подаче питания на БК.
После подачи питания запускается Загрузчик и ждет поступления через канал связи специального сигнала. Если сигнал не поступил в течении определенного времени ( пока «бежит» прогресс-индикатор «Проверка ПО») — управление передается Основному ПО, то есть БК начинает работать в обычном режиме. Для использования этого режима необходимо сначала запустить Программатор и нажать в нем кнопку «Установить связь». Программатор начнет посылать в канал связи спецсигнал раз в 0,1 секунды. И только после этого необходимо подать питание на БК. - Режим «Бутлоадер Кнопка» - активация происходит при подаче питания на БК и нажатой кнопке «MENU». Для его использования необходимо зажать эту кнопку и подать питание на БК.