MIK32 Uploader - Скрипт для программирования памяти МК
Назначение
Скрипт предназначен для записи программ в различные типы памяти микроконтроллера MIK32:
-
ОЗУ
-
EEPROM
-
Внешнюю flash-память (через интерфейс SPIFI)
Репозиторий проекта: https://gitflic.ru/project/mikron-mik32/mik32-uploader |
Программа принимает образы программы в формате 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 при запуске скрипта:
python mik32_upload.py firmware_name.hex \
--run-openocd \
--openocd-exec="путь\к\openocd.exe" \
--openocd-scripts="путь\к\папке\scripts" \
--openocd-interface="путь\к\настройкам\отладчика" \
--openocd-target="путь\к\настройкам\МК"
Параметры командной строки
Параметр | Описание |
---|---|
|
Путь к файлу прошивки (обязательный) |
|
Вывод справки |
|
Автозапуск 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) |