MIK32 Uploader - Скрипт для программирования памяти МК
Репозиторий проекта: https://gitflic.ru/project/mikron-mik32/mik32-uploader
|
В тестовой ветке Mik32ElfSupport появилась возможность работать с .elf файлами |
Назначение
Скрипт предназначен для записи программ в различные типы памяти микроконтроллера MIK32:
-
ОЗУ
-
EEPROM
-
Внешнюю flash-память (через интерфейс SPIFI)
Программа принимает образы программы в формате hex и записывает данные в память МК через контроллер SPIFI, путем записи команд и настроек в регистры блока. Тип памяти и способ записи выбирается по адресу байт в hex файле, поэтому требуется правильное расположение секций, заданное в ld скрипте.
Скрипт работает через OpenOCD, подключаясь через tcl сервер к уже запущенному openocd, подключенному к МК. Скрипт может запустить openocd самостоятельно.
Системные требования
Необходимое ПО
-
Python 3.8+ (https://www.python.org/downloads/)
-
OpenOCD 0.11.0+ (рекомендуется 0.12.0) https://github.com/xpack-dev-tools/openocd-xpack/releases
Использование
Для работы утилиты требуется подключение к OpenOCD.
Если OpenOCD уже запущен и подключен к МК, а порт интерфейса Tcl оставлен по умолчанию (6666), достаточно запустить утилиту с минимальным набором аргументов:
python mik32_upload.py firmware_name.hex
Если OpenOCD не был запущен пользователем, утилита может запустить OpenOCD
(аргумент --run-openocd) и подключиться к МК самостоятельно,
если дополнить аргументы:
python mik32_upload.py firmware_name.hex --run-openocd --openocd-exec="path/bin/openocd.exe" --openocd-interface="path/adapter.cfg" --openocd-target="path/mik32.cfg"
Параметры командной строки
| Параметр | Описание |
|---|---|
|
Путь к файлу прошивки (обязательный) |
|
Вывод справки |
|
Автозапуск OpenOCD |
|
Использование QuadSPI для flash |
|
Адрес OpenOCD (по умолчанию: 127.0.0.1) |
|
Порт TCL сервера (по умолчанию: 6666) |
|
Скорость отладчика в кГц (по умолчанию: 500) |
|
Путь к openocd.exe |
|
Путь к папке scripts |
|
Конфиг интерфейса (по умолчанию: interface/ftdi/m-link.cfg) |
|
Конфиг МК (по умолчанию: target/mik32.cfg) |
|
Открыть консоль OpenOCD |
|
Тип загрузочной памяти (undefined,eeprom,ram,spifi) |
|
Путь к лог-файлу (по умолчанию: nul) |
|
Команды после прошивки (по умолчанию: "reset run") |
|
Отключить цветной вывод (временно не работает) |
|
Тип МК (MIK32V0,MIK32V2) (по умолчанию: MIK32V2) |