Миландр
https://forum.milandr.ru/

Milandr firmware updater via UART bootloader
https://forum.milandr.ru/viewtopic.php?f=22&t=3729
Страница 1 из 1

Автор:  prostoRoman [ 2017-июл-26 13:44 ]
Заголовок сообщения:  Milandr firmware updater via UART bootloader

Программа для считывания, стирания, программирования и верификации flash-памяти микроконтроллеров Миландр через UART загрузчик.
Поддреживаются микроконтроллеры:
  • 1986ВЕ9х;
  • 1901ВЦ1Т (тестировался wosk);
  • 1986ВЕ1Т;
  • 1986ВЕ3Т (не тестировался);
  • 1986ВЕ4У (не тестировался);
Поддерживаемые типы последовательных портов:
  • адаптеры c168h-pci и Uport 1250, 1100 фирмы MOXA (под Windows 7)
  • silabs CP2102 на плате LDM-SYSTEMS
  • Prolific (site prolific), спасибо, ЧумА
В целом же поддерживаются все виды последовательных портов, присутствующих в системе.
Программа написана под фреймворк Qt 5 без дополнительных зависимостей -- таким образом должна быть кросплатформенна.
Программа использует прошивальщики, написанные уважаемым vasili и фактически совмещает в себе все три программы, выложенные viewtopic.php?f=17&t=1739.

В ближайших планах научить программу:
  • быть консольной (тут есть вариант либо один исполняемый файл будет и консольной и GUI, либо это два разных файла);
  • работать с инфо-флеш;
Буду благодарен за тестирование программы на различных аппаратных платформах и микроконтроллерах -- прошу сообщать не только о неудачах, но и о успехах (работа с не протестированными типами МК и/или адаптерами последовательного порта/нативным COM портом).
Отдельная благодарность за компиляцию и публикацию исполняемых файлов под ОС, отличные от Windows.

UPDATES:
  • Добавлена сборка под linux (Ubuntu 16.04, x64). Благодарим Lexius
    Вложение:
    Комментарий к файлу: Сборка v.0.1.3 под Linux (Ubuntu 16.04, x64)
    При использовании необходимо подпихнуть библиотеки libqt5, в частности libqt5serialport.
    updater71_linux_x64.tar.gz [66.6 КБ]
    714 скачиваний
  • Исправлена проблема с загрузкой 128 кБ файлов. Спасибо Olrad.


Вложения:
Комментарий к файлу: версия 0.1.4.
Исполняемый файл отдельно (если у Вас уже есть библиотеки Qt5).
updater71-0.1.4.rar [63.3 КБ]
232 скачивания
Комментарий к файлу: Самораспаковывающийся и самозапускающийся архив с программой v.0.1.4 и DLL Qt 5.10.1 (смените расширение на *.exe)
mdrFwUart-0.1.4.exe.rar [7.76 МБ]
664 скачивания
Комментарий к файлу: Проект Qt (версия 0.1.4)
updater71_src_20181112.rar [23.76 КБ]
203 скачивания

Автор:  ЧумА [ 2017-июл-26 17:48 ]
Заголовок сообщения:  Re: Milandr firmware updater via UART bootloader

Цитата:
Задайте имя файла для сохранения дампа прошивки или снЕмите флажок Load.
:)))
Если по делу, то чего-то не работает, варианты:
Цитата:
Нет ответа от МК.
Проверка связи на стандартной скорости не прошла
Демо-плата 1986ВЕ91 первой версии (MODE3 задана проводком) от Миландра, адаптер USB-RS232 на Prolific. Строка нулей отправленная через терминал дает ответ 0D,0A,3E.

Автор:  ЧумА [ 2017-июл-27 09:32 ]
Заголовок сообщения:  Re: Milandr firmware updater via UART bootloader

После замены exe-шника гораздо гораздее, в режиме (только) Load:
Цитата:
Есть синхронизация.
Проверка связи на новой скорости прошла успешно.
Не прошла команда верификации флешера (размер)!
Последняя строка вызывает недоумение. В итоге прошивка не считана.
UPD:
Есть еще вариант, но проявился один раз из десятка:
Цитата:
Есть синхронизация.
Проверка связи на новой скорости НЕ прошла!
Не прошла команда загрузки флешера!

Автор:  ЧумА [ 2017-июл-27 15:58 ]
Заголовок сообщения:  Re: Milandr firmware updater via UART bootloader

С exe-шником полученным в ЛС работает:
Цитата:
Есть синхронизация.
Проверка связи на новой скорости прошла успешно.
Флешер работает.
Считывание прошивки прошло успешно.
Пожелания:
1 Галку Load переименовать в Read
2 Ввести выбор типа файла hex|bin (пустяк, а приятно)
3 Возможность работать с Info-областью
4 Если закрыть программу с установленной галкой Load, то при последующем запуске для ввода имени файла галку надо сначала снять, а затем снова установить
5 Шикарно было бы иметь возможность работы с отдельными секторами - стирать, писать, читать.
6 Спасибо за утилиту, т.к. 1986BE1UARTWSD у меня не работает

Другие подробности отправил в ЛС

Автор:  prostoRoman [ 2017-июл-27 17:33 ]
Заголовок сообщения:  Re: Milandr firmware updater via UART bootloader

ЧумА писал(а):
С exe-шником полученным в ЛС работает:
Цитата:
Есть синхронизация.
Проверка связи на новой скорости прошла успешно.
Флешер работает.
Считывание прошивки прошло успешно.
Пожелания:
1 Галку Load переименовать в Read
2 Ввести выбор типа файла hex|bin (пустяк, а приятно)
3 Возможность работать с Info-областью
4 Если закрыть программу с установленной галкой Load, то при последующем запуске для ввода имени файла галку надо сначала снять, а затем снова установить
5 Шикарно было бы иметь возможность работы с отдельными секторами - стирать, писать, читать.
6 Спасибо за утилиту, т.к. 1986BE1UARTWSD у меня не работает
1. Переименовал в Dump (оно так по коду везде, для однообразия)
2. hex|bin для сохранения дампа? если так, то есть такие планы - дел то на час. А если для прошивки - то не ясно откуда этот бин грузить (логично с начала флеш, конечно)
3. Инфо есть в планах (есть и вопрос по интерфейсу - сделать аналогично выбору файла прошивки, ещё как...)
4. Исправил.
5. Есть в планах. Но тут важно определить цель - зачем это делается. Пока цель - перетирать только те сектора, в которые будет писаться прошивка. (это функционал галки Full в 1986BE1UARTWSD)
6. Так с каким процессором Вы работали? Плата, я так понимаю, "своя"? Если можно поточнее модель конвертера USB-UART.
7. Файл программы (updater71_20170727_3.zip) обновлён в первом сообщении темы.

Спасибо за тестирование!

Автор:  wosk [ 2017-авг-02 12:20 ]
Заголовок сообщения:  Re: Milandr firmware updater via UART bootloader

Делал Dump для 1901ВЦ1Т, выдало "ошибка идентификации загрузчика!".

Автор:  prostoRoman [ 2017-авг-02 13:49 ]
Заголовок сообщения:  Re: Milandr firmware updater via UART bootloader

wosk писал(а):
Делал Dump для 1901ВЦ1Т, выдало "ошибка идентификации загрузчика!".
Ответил в личку. UPD: проблема устранена.

Для остальных: просьба сразу указывать с каким оборудованием работаете, использовать последнюю версию программы, готовить и выкладывать лог по следующему рецепту
Цитата:
Запустите консоль ( Win+R -> cmd -> Enter ), перейдите в папку с файлом updater71.exe ( d: Enter cd path\to\file Enter ), запустите ниже прилагаемый файл командой updater71.exe 2>log.txt Enter
Выполните нужные действия, вышлите мне (или прикрепите к сообщению на форуме) файл log.txt

Автор:  prostoRoman [ 2017-дек-08 13:40 ]
Заголовок сообщения:  Re: Milandr firmware updater via UART bootloader

В первое сообщение темы добавлена версия программы, собранная статически с библиотеками Qt -- это значит что исполняемый файл не требует файлов библиотек *.dll

Кроме того, всегда есть возможность создать самораспаковывающийся архив со всеми необходимыми файлами (не только библиотеки), который будет в режиме "без лишних вопросов" распаковываться во временную папку и запускать на исполнение указанную вами программу с указанными вами параметрами.
Пример для WinRAR
;Расположенный ниже комментарий содержит команды SFX-сценария
Setup=updater71.exe
TempMode
Silent=1
Overwrite=1
Update=U

Автор:  actclekcz [ 2018-янв-16 23:17 ]
Заголовок сообщения:  Re: Milandr firmware updater via UART bootloader

Отлично работает! Плата у меня самодельная и сразу не пошло - режим mode был не тот, rx и tx перепутал и питание не подал))) Может у кого-нибудь тоже возникнут трудности поэтому предлагаю добавить небольшую инструкцию.

Автор:  prostoRoman [ 2018-янв-17 09:45 ]
Заголовок сообщения:  Re: Milandr firmware updater via UART bootloader

actclekcz писал(а):
Отлично работает! Плата у меня самодельная и сразу не пошло - режим mode был не тот, rx и tx перепутал и питание не подал))) Может у кого-нибудь тоже возникнут трудности поэтому предлагаю добавить небольшую инструкцию.
actclekcz, спасибо за отзыв! На каком МК пробовали? Какой тип компорта?

Небольшая инструкция (draft)
1. Правильно выставить режим MODE.
2. Не путать rx/tx.
3. Подать питание на все системы.

Автор:  actclekcz [ 2018-янв-21 11:02 ]
Заголовок сообщения:  Re: Milandr firmware updater via UART bootloader

prostoRoman писал(а):
На каком МК пробовали? Какой тип компорта?
контроллер 1986BE1QI, маркировка MDR32F1QI 1530, преобразователь USB-UART на CP102, Windows 7 x64

Автор:  Lexius [ 2018-фев-16 19:08 ]
Заголовок сообщения:  Re: Milandr firmware updater via UART bootloader

Спасибо автору за программулину.
Скомпилировал ее под linux (Ubuntu 16.04).
Все работает. Тестировал на платке LDM-uROB-K1986ВЕ1QI со встроенным USB-UART (CP2102).

Прикрепляю бинарник под linux(x64). При использовании необходимо подпихнуть библиотеки libqt5, в частности libqt5serialport.

Вложения:
updater71_linux_x64.tar.gz [66.6 КБ]
738 скачиваний

Автор:  prostoRoman [ 2018-ноя-12 12:17 ]
Заголовок сообщения:  Re: Milandr firmware updater via UART bootloader

Обновил программу до версии 0.1.4: исправлена ошибка - не загружались образы fw максимального размера.

Страница 1 из 1 Часовой пояс: UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/