Ktool - это улучшенная версия утилиты Kendryte Kflash.py .
Он совместим с kflash.py , но представляет множество новых функций и улучшения.
Полные источники расширенного 2 -й этапа ISP доступны в каталоге SRC/ISP этого хранилища.
Более подробная информация о 2 -м этапе ISP и инструкции по сборке доступна в каталоге сборки .
IO16 и утверждая штифт сброса .IO16 низкий, K210 выполняет 1 -й этап ISP из ROM .0x805E0000 ) и выполняет его.kflash.py , поддерживаются те же параметры командной строки (но добавлено больше)kflash.py всегда пишет 64K куски, и адрес прошивки должен быть выровнен 64 КБ )kflash.py поддерживает эту функцию, но загрузка в SRAM выполняется в 115200 бод, что делает ее непрактичной для более крупных прошивок ) | Аргумент | Описание |
|---|---|
-h--help | Показать сообщение справки и выход |
-v--version | Печатная версия и выход |
-p PORT--port PORT | Порт связи, используемый для подключения к плате K210 Если не указано, автоматическое обнаружение порта приводится |
-b BAUDRATE--baudrate BAUDRATE | Uart Baudrate используется для общения с ISP 2 -й этап . Связь с ISP 1 -й этап всегда выполняется в 115200 BD.По умолчанию: 115200 |
-l ISP_BIN--bootloader ISP_BIN | 2 -й этап бинарного файла ISP . Внешний двоичный ISP обычно используется только для тестирования. Если не указано, используется внутренний бинар ISP (рекомендуется) |
-k KEY--key KEY | AES Key в HEX, если вам нужно зашифровать прошивку. Нет документации о том, как это работает, это, вероятно, требует некоторого программирования памяти K210 OTP , прошивка, прошитая с этой опцией , не запускается Если не указано, введение AES не используется |
-t--terminal | Открытый эмулятор терминала (по умолчанию: miniterm ) после завершения операциипо умолчанию: False |
-n--noansi | Не используйте цвета ANSI, рекомендуется, когда цвета ANSI не поддерживаются (например, в командной строке Windows) по умолчанию: False |
-B BOARD--Board BOARD | Выберите плату, к которой вы пытаетесь подключиться Разные доски у меня разные требования к загрузке . Если не предоставлено автоматическое обнаружение платы, что обычно работает хорошо Поддерживается: ḋan , bit , trainer , kd233 , goE , goDпо умолчанию: None |
--verbose | Увеличить выходной условности; по умолчанию: False ; не используется |
-S--Slow | Режим медленной загрузки; по умолчанию: False ; не используется |
firmware | Единственный позиционный аргумент , обычно данный после всех других аргументов Имя файла, содержащего прошивку или другие данные, которые должны быть прошивают на Flash K210 SPI Flash Имя файла прошивки, которое будет загружен в K210 SRAM и выполнен Не требуется для работы стирания, необязательно для операции чтения Файл может содержать бинарную прошивку/данные, прошивка эльфийских файлов или пакет KFPKG (см. Ниже) |
| Аргумент | Описание |
|---|---|
-a ADDRESS--address ADDRESS | Флэш -адрес, на котором будет записана прошивка/данные Флэш -адрес, с которого будут прочитать данные для операций с чтением флэш - целое число, может быть дано как десятичное или шестигранное число по умолчанию: 0 |
-E--erase | Стереть весь флэш -чип Будьте осторожны! |
-L--rdlen | Длина данных, которые будут считываться из Flash целое число, может быть дано как десятичное или шестигранное число по умолчанию: 0 |
-R--read | Прочитать данные по адресу Flash, указанный --addressДанные будут сохранены на имя firmware , указанное в командной строкепо умолчанию: "flash_dump.bin" |
--swapendian | Смену Эндианс при написании данных. Это может быть необходимо при написании каких -то данных, например, изображения файловой системы по умолчанию: False |
-s--sram | Загрузите прошивку на K210 SRAM и Boot Загрузка выполняется 2 -й этажей ISP и может быть выполнена на любом Baudrate, поддерживаемом платой по умолчанию: Falsekflash.py поддерживает эту функцию, но загрузка в SRAM выполняется на 115200 бод, что делает ее непрактичным для более крупных прошивок |
--termbdr BAUDRATE | Uart Baudrate, используемый для эмулятора терминала По умолчанию: 115200 |
--nosha | Flash без префикса прошивки и суффикс SHA Используется при мигании данных, которые не являются исполняемой прошивкой по умолчанию: False |
-T--onlyterm | Не выполняйте никаких операций, только запускайте эмулятор терминала по умолчанию: False |
--reset | Сбросить плату перед запуска эмулятора терминала, используемой только с --onlyterm -опцией.по умолчанию: False |
Пакет KFPGK - это архив ZIP, содержащий несколько бинарных файлов прошивки или данных , и файл JSON , описывающий его содержимое.
Это удобно использовать его, когда несколько файлов должны быть прошит по разным адресам флэш -адресов и с разными параметрами.
ktool.py может провести этот файл, распаковать контент и выполнять необходимые операции.
Пакет должен содержать файл JSON с именем flash-list.json , который описывает, какие файлы должны быть прошитыми и как.
Следующие объекты должны присутствовать, чтобы описать каждый файл в разделе files -объект»:
| Ключ | Значение Описание |
|---|---|
address | целое число ; Флэш -адрес, на котором будет записан содержимое файла |
bin | нить ; Имя файла, содержащего прошивку/данные |
sha256Prefix | логический Если true Flash с префиксом прошивки и суффиксом SHA (Flash исполняемая прошивка)Если ḟalse Flash без префикса прошивки и суффикс SHA (данные) |
swap | логический , может быть пропущен , если нет, предназначенные по falseЕсли true , обменивайте эндсианс при написании данных.Это может быть необходимо при написании каких -то данных, например, изображения файловой системы |
flash-list.json {
"version": "0.1.0",
"files": [
{
"address": 0,
"bin": "MicroPython.bin",
"sha256Prefix": true,
"swap": false
},
{
"address": 5242880,
"bin": "MicroPython_lfs.img",
"sha256Prefix": false,
"swap": true
}
]
}
{
"version": "0.1.1",
"files": [
{
"address": 0,
"bin": "bootloader_lo.bin",
"sha256Prefix": true
},
{
"address": 4096,
"bin": "bootloader_hi.bin",
"sha256Prefix": true
},
{
"address": 16384,
"bin": "config.bin",
"sha256Prefix": false
},
{
"address": 20480,
"bin": "config.bin",
"sha256Prefix": false
}
]
}