Go to file
2024-08-21 14:56:22 +03:00
mik32_debug_hal Перенос драйверов и регистров в модуль 2024-08-21 14:56:22 +03:00
openocd-scripts Update mikron-link.cfg 2024-07-19 03:31:15 +03:00
.gitignore Update .gitignore 2023-06-26 15:42:46 +03:00
.piopm Исправление файла пакетного менеджера 2024-08-14 18:04:05 +03:00
CHANGELOG.md Перенос драйверов и регистров в модуль 2024-08-21 14:56:22 +03:00
connectopenocd-m-link.bat refactor using f-strings 2023-05-31 11:37:27 +03:00
hex_parser.py check firmware feature in mik32_check 2023-12-20 15:14:22 +03:00
mik32_check.py Перенос драйверов и регистров в модуль 2024-08-21 14:56:22 +03:00
mik32_upload_build.bat Файлы для сборки mik32_upload.exe 2024-07-18 22:42:02 +03:00
mik32_upload.py Перенос драйверов и регистров в модуль 2024-08-21 14:56:22 +03:00
mik32_upload.spec Файлы для сборки mik32_upload.exe 2024-07-18 22:42:02 +03:00
package.json update version 2024-08-13 18:00:45 +03:00
parsers.py check firmware feature in mik32_check 2023-12-20 15:14:22 +03:00
README.md Добавлен README.md 2024-08-19 14:24:50 +03:00
tclrpc.py cleanup 2024-04-18 18:30:35 +03:00
utils.py fix circular dependency, add ram upload 2023-05-24 15:38:10 +03:00

Скрипт программирования памяти MIK32

Скрипт предназначен для записи программы в ОЗУ, EEPROM и внешнюю flash память, подключенную по интерфейсу SPIFI.

Предварительные требования

Требуется операционная система Windows версии >= 7 или macOS версии >= 10.9 или Linux.

Требуется версия Python >= 3.8 (https://www.python.org/downloads/).

Требуется версия OpenOCD >= 0.11.0 (https://github.com/xpack-dev-tools/openocd-xpack/releases).

Установка

Необходимо скачать или клонировать репозиторий программы, а также установить Python 3.8 и OpenOCD 0.12.0.

Скрипт по умолчанию ищет исполняемый файл openocd по пути openocd\bin\openocd.exe относительно папки со скриптом.

Запуск программы

Минимальная команда для запуска:

python mik32_upload.py firmware_name.hex

Команда для запуска OpenOCD при запуске скрипта:

python mik32_upload.py firmware_name.hex --run-openocd --openocd-exec="путь\к\openocd.exe"  --openocd-scripts="путь\к\папке\scripts" --openocd-interface="путь\к\настройкам\отладчика" --openocd-target="путь\к\настройкам\МК"

Описание аргументов

positional arguments:
  filepath              Путь к файлу прошивки

optional arguments:
  -h, --help            show this help message and exit
  --run-openocd         Запуск openocd при прошивке МК
  --use-quad-spi        Использование режима QuadSPI при программировании внешней флеш памяти
  --openocd-host OPENOCD_HOST
                        Адрес для подключения к openocd. По умолчанию: 127.0.0.1
  --openocd-port OPENOCD_PORT
                        Порт tcl сервера openocd. По умолчанию: 6666
  --adapter-speed ADAPTER_SPEED
                        Скорость отладчика в кГц. По умолчанию: 500
  --openocd-exec OPENOCD_EXEC
                        Путь к исполняемому файлу openocd. По умолчанию: openocd\bin\openocd.exe
  --openocd-scripts OPENOCD_SCRIPTS
                        Путь к папке scripts. По умолчанию: openocd\share\openocd\scripts
  --openocd-interface OPENOCD_INTERFACE
                        Путь к файлу конфигурации отладчика относительно папки scripts или абсолютный путь. По
                        умолчанию: interface\ftdi\m-link.cfg
  --openocd-target OPENOCD_TARGET
                        Путь к файлу конфигурации целевого контроллера относительно папки scripts. По умолчанию:
                        target\mik32.cfg
  --open-console        Открывать OpenOCD в отдельной консоли
  -b {undefined,eeprom,ram,spifi}, --boot-mode {undefined,eeprom,ram,spifi}
                        Выбор типа памяти, который отображается на загрузочную область. Если тип не выбран, данные,
                        находящиеся в загрузочной области в hex файле отбрасываются. По умолчанию: undefined
  --log-path LOG_PATH   Путь к файлу журнала. По умолчанию: nul
  --post-action POST_ACTION
                        Команды OpenOCD, запускаемые после прошивки. По умолчанию: reset run
  --no-color            Вывод без последовательностей управления терминалом. Временно не используется
  -t {MIK32V0,MIK32V2}, --mcu-type {MIK32V0,MIK32V2}
                        Выбор микроконтроллера. По умолчанию: MIK32V2

Принцип работы

Для работы скрипта требуется подключение по JTAG и отладчик, поддерживающийся OpenOCD.

Программа принимает образы программы в формате hex и записывает данные в память МК через контроллер SPIFI, путем записи команд и настроек в регистры блока. Тип памяти и способ записи выбирается по адресу байт в hex файле, поэтому требуется правильное расположение секций, заданное в ld скрипте.

Скрипт работает через OpenOCD, подключаясь через tcl сервер к уже запущенному openocd, подключенному к МК. Скрипт может запустить openocd самостоятельно.