Сделано на основе LoseHu Multiboot и K5TOOLS от hank9999 и BD8DFN
Мультизагрузчик состоит из двух загрузчиков:
-
Основной загрузчик (4КБ) зашивается через SWD интерфейс при помощи STLINK и замещает оригинальный кваншенговский бутлоадер внутри flash памяти микроконтроллера радиостанции. При включении с зажатой кнопкой "Menu" - загружает вспомогательный загрузчик из EEPROM в ОЗУ и выполняет его там.
-
Вспомогательный загрузчик (около 12КБ) хранится в EEPROM памяти. Содержит в себе графический интерфейс для выбора прошивки. Может стирать из flash памяти микроконтроллера предыдущую прошивку, считывать из EEPROM следующую выбранную прошивку и записывать вместо предыдущей. Также содержит в себе функцию обмена данными через последовательный порт, пока находится в режиме выбора прошивки (Menu+ВКЛ). И функцию принудительной прошивки (PTT+ВКЛ) (диалог с ПК работает некорректно нужно дебажить позже)
- 256 KiB - 3 прошивки с независимыми настройками, каналами и калибровками (также может быть установлен REBORN с разметкой для BL24C256 32 KiB памяти)
- 512 KiB - 4 прошивки с независимыми настройками, каналами и калибровками\n(также одновременно может быть установлены REBORN с разметкой для BL24C1024 128KiB и IJV версия S)
- 512 KiB - 6 прошивок с независимыми настройками, каналами и калибровками (также может быть установлен REBORN с разметкой для BL24C512 64 KiB памяти)
- 512 KiB - Стандартный LoseHu Multiboot на 4 прошивки. Для всех прошивок будет использоваться одни и теже настройки!
ВНИМАНИЕ! Не пытайтесь установить прошивки с разметкой EEPROM более чем 32 KiB на вариант 1 (3 прошивки) и более 64 KiB на 3 вариант (6 прошивок). Полный сброс в таких прошивках приведет к перезаписи вспомогательного загрузчика, который также находится в EEPROM. Но всегда можно откатиться на заводской загрузчик.
Доработка заключается в замене стандартного чипа памяти 64 Кило бита (8KiB) на чип увеличенного объёма или связку из двух чипов. Перед началом железных работ, нужно определиться, какими прошивками вы собираетесь пользоваться, так как существуют некоторые тонкости, например прошивке IJV(N) требуется быстрая память (5мс). Но в общем случае все остальные прошивки не требовательны к скорости памяти и поддерживают все возможные варианты. Замена заводского чипа памяти EEPROM (AT24CS64-SSHM) возможна на следующие модели в корпусах sop8:
- BL24CM1A parc (128 KiB) скорость 5мс
- M24M01-RP / M24M01-RMN6TP (128 KiB) скорость 5мс
- BL24CM2A parc (256 KiB) скорость 8мс
- M24M02-RD / M24M02-DRMN6TP (256KiB) скорость 10мс
- M24M02-WT / M24M02-DWMN3TP/K (256KiB) скорость 5мс - лучший вариант
Чипы имеют ножки A1, A2 / E1, E2 для адресации. Таким образом к шине i2c возможно подключить до 4ёх чипов объёмом 1M (128 KiB) или до двух чипов объёмом 2M (256 KiB).
В заголовке расположена кнопка FAQ и блок основных операций с EEPROM, они были заимствованы из программы hank9999 и BG4IST.
В основном теле программы есть 4 независимые вкладки для разных мультизагрузчиков. В этих вкладках разное количество ячеек, в первой 3, во второй 4, в третьей 6 и в четвертой 4. В каждую ячейку можно загрузить 3 файла: прошивку, конфигурацию и калибровки. Это сделано лишь для удобства, чтобы можно было изначально быстро скомпоновать сборку так как вам нужно. Но это совсем не значит, что каждый раз вам придется менять конфигурации или калибровки через эту программу. Файлы, выбранные в ячейки сохраняются во временные папки, для последующей сборки.
В правой части есть блок вывода, там можно сохранить сборку в файл или загрузить её в рацию. Либо предзагрузить заранее сохраненный файл для замены в нём прошивок или конфигураций.
Конфигурации и калибровки можно редактировать как обычно, для этого не нужно каждый раз конфигурировать EEPROM этой программой
В самом низу расположен блок прошивки основного загрузчика, там всего лишь две кнопки, прошить и откатить на заводской загрузчик.
Первоначальная установка:
- Произвести аппаратную модификацию - замену EEPROM памяти на 256 или 512 KiB.
- Любым привычным способом (к примеру кабелем для программирования Baofeng и программой K5prog) прошить специальную прошивку от LoseHu для конфигурации EEPROM всех объёмов. Найти можно в релизном архиве
LoseHu firmware for first EEPROM load.bin
(её особое отличие - это чёрные прямоугольники вместо чисел, из-за отсутствия шрифтов). ссылка - В программе R9OOT-BOOT произвести конфигурацию вспомогательного загрузчика (тем же кабелем) и записать в EEPROM выбранный вариант с нужными прошивками и настройками. Нажать красную кнопку “записать в EEPROM”.
- Разобрать станцию, подключить STLINK к интерфейсу SWD и прошить основной загрузчик из той-же вкладки программы, где вы конфигурировали вспомогательный загрузчик, нажатием красной кнопки “Зашить BASE_BOOTLOADER_..bin”.
Вам не нужно делать всё перечисленное. Можете сразу приступать к третьему пункту, конфигурировать EEPROM можно подключив рацию в режиме меню выбора прошивок (Menu+ВКЛ). 4 пункт также не нужен, так как у вас уже прошит нужный основной загрузчик.
Если что-то пошло не так, не паникуйте, в 99,9% случаев вы сможете откатить обратно основной загрузчик на заводской.
- Разберите станцию, подключите STLINK к интерфейсу SWD (с нажатой PTT или Menu)
- Прошейте заводской загрузчик (желтая кнопка внизу) из любой вкладки программы.
- Можете либо начать установку мультизагрузчика сначала, либо прошить любую прошивку.
Функция загрузки и редактирования. Будет полезной, если вы всего-лишь хотите поменять одну прошивку в своей сборке (например вышла новая версия), вам будет необходимо:
- Сохранить EEPROM, выбрав свой объём чипа.
- В окне конфигуратора нажать кнопку предзагрузить EEPROM, ячейки обновятся и покажут где занято, а где свободно.
- В нужную ячейку загрузить прошивку.
- Сохранить или записать EEPROM в рацию как обычно (красная или зелёная кнопка).
- Я не несу ответственность
- Рация может выйти из строя в процессе прошивки, я не ответственен за это.
- Я не несу никакой юридической ответственности. Это проэкт открытый проэкт; Вы можете использовать его, но за свои действия будете нести ответственность Вы.
Вот его QR код для пожертвований: