Обновление процессоров в БКУ-01¶
1. Запрос информации о прошивке
*Запрашивать при перепрошивке и переходе на экран «Обновление ПО»
PGN |
65328 (0xFF30) |
Длина сообщения |
8 |
Частота передачи, мс |
Разово |
Тип взаимодействия |
запрос (дисплей) — ответ (БКУ) |
Номера активных процессоров |
1, 2, 3 |
D1 |
D2 |
D3 |
D4, D5, D6 |
D7 |
D8 |
Примечание |
0xFF |
0xFF |
0xFF |
0xFF, 0xFF, 0xFF |
0xFF |
0xFF |
запрос |
день |
месяц |
год |
версия прошивки(big endian) |
статус прошивки |
0xFF |
ответ |
День: от 1 до 31
Месяц: от 1 до 12
Год: текущий год — 2000 (2024 — 2000 = 24)
Статус прошивки: 0 — ok , иначе — ошибка
2. Переход в загрузчик
PGN |
65329,65330,65331 (0xFF3i), где i – номер активного процессора |
Длина сообщения |
8 |
Частота передачи, мс |
Разово |
Тип взаимодействия |
запрос (дисплей) — ответ (БКУ) |
Номера активных процессоров |
1, 2, 3 |
D1 |
D2 |
D3 |
D4 |
D5 |
D6 |
D7 |
D8 |
Примечание |
0xEF |
0xFF |
0xFF |
0xFF |
0xFF |
0xFF |
0xFF |
0xFF |
запрос |
0xF0 |
0xFF |
0xFF |
0xFF |
0xFF |
0xFF |
0xFF |
0xFF |
ответ |
3. Обновление (передача информации о прошивке PACK 1)
PGN |
65329,65330,65331 (0xFF3i), где i – номер активного процессора |
Длина сообщения |
8 |
Частота передачи, мс |
Разово |
Тип взаимодействия |
запрос (дисплей) — ответ (БКУ) |
Номера активных процессоров |
1, 2, 3 |
D1 |
D2, D3, D4 |
D5 |
D6 |
D7 |
D8 |
Примечание |
0xF1 |
версия прошивки (big endian) |
год |
месяц |
день |
0xFF |
запрос |
0xF1 |
0xFF, 0xFF, 0xFF |
0xFF |
0xFF |
0xFF |
0xFF |
ответ |
День: от 1 до 31
Месяц: от 1 до 12
Год: текущий год — 2000 (2024 — 2000 = 24)
4. Обновление (передача информации о прошивке PACK 2)
PGN |
65329,65330,65331 (0xFF3i), где i – номер активного процессора |
Длина сообщения |
8 |
Частота передачи, мс |
Разово |
Тип взаимодействия |
запрос (дисплей) — ответ (БКУ) |
Номера активных процессоров |
1, 2, 3 |
D1 |
D2, D3, D4 |
D5, D6, D7, D8 |
Примечание |
0xF2 |
размер прошивки в байтах (big endian) |
CRC32 (big endian) |
запрос |
0xF2 |
0xFF, 0xFF, 0xFF |
0xFF, 0xFF, 0xFF, 0xFF |
ответ |
5. Обновление (передача прошивки)
PGN |
65329,65330,65331 (0xFF3i), где i – номер активного процессора |
Длина сообщения |
8 |
Частота передачи, мс |
Разово |
Тип взаимодействия |
запрос (дисплей) — ответ (БКУ) |
Номера активных процессоров |
1, 2, 3 |
D1 |
D2 |
D3 |
D4 |
D5 |
D6 |
D7 |
D8 |
Примечание |
байты прошивки D1-D8 |
|
|
|
|
|
|
|
запрос |
0xF3 |
0xFF |
0xFF |
0xFF |
0xFF |
0xFF |
0xFF |
0xFF |
ответ |
0xF4 |
0xFF |
0xFF |
0xFF |
0xFF |
0xFF |
0xFF |
0xFF |
ответ (после записи прошивки по FLASH) |
Передача продолжается, пока все байты прошивки не будут переданы.
В случае, если остаются лишние байты в последнем сообщении, то они заполняются значениями 0xFF.
После подсчёта контрольной суммы БКУ высылает информацию о состоянии новой прошивки (см.п1 «Запрос информации о прошивке»):
Если не сошлась контрольная сумма, то данные старой прошивки сохраняются и БКУ возвращается к ней (если она была, если прошивались первый раз – то остаемся в загрузчике), при этом:
- байт статуса прошивки – 0х01;
Если произошла проблема при копировании прошивки из буферной области, то старая прошивка считается недействительной, при этом:
- байт статуса прошивки – 0х02
- версия прошивки = 0xFFFFFF
- день = 0xFF
- месяц = 0xFF
- год = 0xFF, и БКУ перейдёт в загрузчик.