UART загрузчик для микроконтроллеров К1921ВКх
Репозиторий содержит Python утилиту UART загручика и прошивки для микроконтроллеров:
- К1921ВК01Т -
README_01T.md
- К1921ВК035 -
README_035.md
- К1921ВК028 -
README_028.md
Описание протокола загрузчика находится в NOTES.md
.
Требования и сборка
Скрипт app/k1921vkx_flasher.py
требует для запуска:
- Python 3.4+
- pySerial 3.x+
- PyQt5
В Downloads репозитория расположена последняя версия утилиты, собранная в статичный .exe
и не требующая наличия Python на ПК.
Собрать самостоятельно такой .exe
можно с помощью скрипта app/misc/make_exe.bat
, если хостовая система Windows. Если используется Linux и Wine с помощью app/misc/make_exe.sh
. Вне зависимости от хостовой системы необходимо наличие библиотеки pyinstaller.
Запуск
Запуск:
python3 k1921vkx_flasher.py
или
k1921vkx_flasher.exe
Утилита также может работать в командном режиме без графического интерфейса.
Доступные ключи:
[-hDсeEwvr] [-f flash] [-n region] [-j addr] [-F first] [-L last] [-a addr] [-s size] [-p port] [-b baud] [file.bin]
-h Вывод справки
-D Включить вывод отладочной информации
-с Командный режим (без графического интерфейса). Наличие ключа необходимо для выполнения любой команды.
-f flash Выбор флеш-памяти. Допустимые значения 'flash' для разных микроконтроллеров:
bootflash, userflash, mflash, bflash
-n region Выбор области флеш-памяти. Допустимые значения 'region' для разных микроконтроллеров:
main, nvr, info
-e Стереть 'pages' страниц, начиная от 'first'
-E Полное стирание
-w Записать 'file.bin' начиная со страницы 'first'. Если добавлены ключи -e или -E - перед записью будет проведено стирание.
-v Верифицировать записанный 'file.bin' (может быть использовано только в паре с -w)
-r Прочитать в файл 'file.bin' страницы от 'first' по 'last' включительно
-j addr Переход на исполнение по глобальному адресу (по этому адресу расположена таблица векторов прерываний)
-F first Номер первой страницы для выполнения команд
-L pages Количество страниц для выполнения команд
-a addr Выбор адреса для выполнения команд
-s size Выбор размера области для выполнения команд
-p port COM-порт
-b baud Баудрейт
Примеры
Запись файла led.bin в основную область MFLASH К1921ВК035 с 0 страницы с полным стиранием, верификацией записанного:
python3 k1921vkx_flasher.py -cwEv -f mflash -n main -F 0 -p /dev/ttyUSB0 -b 115200 led.bin
Чтение 4096 байт данных с 0 адреса в файл dump.bin
python3 k1921vkx_flasher.py -cr -p /dev/ttyUSB0 -b 115200 -f mflash -n main -a 0 -s 0x1000 dump.bin
Чтение первых 8 страниц в файл dump.bin
python3 k1921vkx_flasher.py -cr -p /dev/ttyUSB0 -b 115200 -f mflash -n main -F 0 -L 8 dump.bin
Стирание первых 8 страниц
python3 k1921vkx_flasher.py -ce -p /dev/ttyUSB0 -b 115200 -f mflash -n main -F 0 -L 8
Полное стирание
python3 k1921vkx_flasher.py -cE -p /dev/ttyUSB0 -b 115200 -f mflash -n main