Скрипт программирования памяти MIK32
Репозиторий программы: https://github.com/MikronMIK32/mik32-uploader
Скрипт предназначен для записи программы в ОЗУ, EEPROM и внешнюю flash память, подключенную по интерфейсу SPIFI.
Программа принимает образы программы в формате hex и записывает данные в память МК в зависимости от указанного в hex файле адреса.
Скрипт работает через OpenOCD, подключаясь через tcl сервер к уже запущенному openocd, подключенному к МК. Скрипт может запустить openocd самостоятельно.
Предварительные требования
Поддерживаются ОС Windows 7 и выше.
Требуется Python 3.8 или более новый (https://www.python.org/downloads/)
Требуется OpenOCD 0.11.0, рекомендуется OpenOCD 0.12.0
Установка
Необходимо скачать или клонировать репозиторий программы, а также установить Python 3.8 и OpenOCD 0.12.0.
Скрипт по умолчанию ищет исполняемый файл openocd по пути .openocd\bin\openocd.exe
Запуск программы
Минимальная команда для запуска:
py mik32_upload.py firmware_name.hex
Команда для запуска openocd при запуске скрипта:
py mik32_upload.py firmware_name.hex --run-openocd --openocd-scripts="путь\к\папке\scripts" --openocd-interface="путь\к\настройкам\отладчика" --openocd-target="путь\к\настройкам\МК"
Описание аргументов
--run-openocd - запуск openocd при прошивке МК
--use-quad-spi - использование режима QuadSPI при программировании внешней флеш памяти. Использовать не рекомендуется, не дает значительного ускорения прошивки
--openocd-host="127.0.0.1" - адрес для подключения к openocd
--openocd-port=6666 - порт tcl сервера openocd
--openocd-speed=500 - скорость отладчика в кГц, в текущей реализации не используется.
--keep-halt - не запускать команду resume 0 после прошивки, ядро контроллера после прошивки будет остановлено
--openocd-exec="openocd\bin\openocd.exe" - путь к исполняемому файлу openocd
--openocd-scripts="openocd\share\openocd\scripts" - путь к папке scripts
--openocd-interface="interface\ftdi\m-link.cfg" - путь к файлу конфигурации отладчика относительно папки scripts
--openocd-target="target\mik32.cfg" - путь к файлу конфигурации целевого контроллера относительно папки scripts