KTool adalah versi yang disempurnakan dari utilitas Kendryte KfLash.py .
Ini kompatibel dengan kflash.py tetapi memperkenalkan banyak fitur dan peningkatan baru.
Sumber penuh dari ISP tahap ke -2 yang disempurnakan tersedia di direktori SRC/ISP repositori ini.
Informasi lebih lanjut tentang ISP tahap ke -2 dan instruksi build tersedia di direktori build .
IO16 rendah dan menegaskan pin reset .IO16 rendah, K210 mengeksekusi ISP tahap pertama dari ROM .0x805E0000 ) dan menjalankannya.kflash.py , opsi baris perintah yang sama didukung (tetapi lebih banyak ditambahkan)kflash.py selalu menulis potongan 64k dan alamat firmware harus 64kb disejajarkan )kflash.py mendukung fungsi ini, tetapi memuat ke SRAM dilakukan di 115200 baud, membuatnya tidak praktis untuk firmware yang lebih besar ) | Argumen | Keterangan |
|---|---|
-h--help | Tampilkan pesan bantuan dan keluar |
-v--version | Cetak versi dan keluar |
-p PORT--port PORT | Port komunikasi digunakan untuk terhubung ke papan K210 Jika tidak diberikan, deteksi port otomatis dihentikan |
-b BAUDRATE--baudrate BAUDRATE | UART BAUDRATE Digunakan untuk untuk komunikasi dengan ISP tahap ke -2 . Komunikasi dengan ISP tahap pertama selalu dilakukan pada 115200 BD.Default: 115200 |
-l ISP_BIN--bootloader ISP_BIN | Nama File Biner ISP Tahap 2 . Biner ISP eksternal biasanya hanya digunakan untuk pengujian. Jika tidak diberikan, biner ISP internal digunakan (disarankan) |
-k KEY--key KEY | Kunci AES di Hex, jika Anda perlu mengenkripsi firmware. Tidak ada dokumentasi tentang cara kerjanya, mungkin memerlukan beberapa pemrograman memori K210 OTP , firmware flash dengan opsi ini tidak akan dimulai Jika tidak diberikan, tidak ada enkripsi AES yang digunakan |
-t--terminal | Open Terminal Emulator (Default: miniterm ) Setelah operasi selesaiDefault: False |
-n--noansi | Jangan gunakan warna ANSI, direkomendasikan saat warna ANSI tidak didukung (misalnya di prompt perintah windows) Default: False |
-B BOARD--Board BOARD | Pilih papan tempat Anda mencoba untuk terhubung Papan yang berbeda saya memiliki reset yang berbeda dengan persyaratan bootloader . Jika tidak diberi deteksi papan otomatis dihiamkan, yang biasanya berfungsi dengan baik Didukung: ḋan , bit , trainer , kd233 , goE , goDDefault: None |
--verbose | Meningkatkan output verbosity; default: False ; tidak digunakan |
-S--Slow | Mode unduhan lambat; default: False ; tidak digunakan |
firmware | Satu -satunya argumen posisi , biasanya diberikan setelah semua argumen lainnya Nama file yang berisi firmware atau data lain yang akan disinari ke K210 SPI Flash Nama file firmware yang akan dimuat ke K210 SRAM dan dieksekusi Tidak diperlukan untuk operasi penghapusan, opsional untuk operasi baca File ini dapat berisi firmware/data biner , file ELF Firmware atau paket KFPKG (lihat di bawah) |
| Argumen | Keterangan |
|---|---|
-a ADDRESS--address ADDRESS | Alamat flash di mana firmware/data akan ditulis untuk operasi penulisan flash Alamat flash dari mana data akan dibaca untuk operasi flash baca bilangan bulat, dapat diberikan sebagai nomor desimal atau hex Default: 0 |
-E--erase | Hapus seluruh chip flash Bersikaplah warefull! |
-L--rdlen | Panjang data yang harus dibaca dari flash bilangan bulat, dapat diberikan sebagai nomor desimal atau hex Default: 0 |
-R--read | Baca data dari alamat flash yang ditentukan oleh --addressData akan disimpan ke nama firmware yang ditentukan dalam baris perintahDefault: "flash_dump.bin" |
--swapendian | Tukar Endianess Saat menulis data. Mungkin perlu saat menulis beberapa jenis data, misalnya gambar sistem file Default: False |
-s--sram | Unduh firmware ke K210 SRAM dan boot Pemuatan dilakukan oleh ISP tahap ke -2 dan dapat dilakukan di setiap baudrate yang didukung oleh dewan Default: Falsekflash.py mendukung fungsi ini, tetapi memuat ke SRAM dilakukan di 115200 baud, membuatnya tidak praktis untuk perusahaan yang lebih besar |
--termbdr BAUDRATE | UART Baudrate Digunakan untuk untuk Emulator Terminal Default: 115200 |
--nosha | Flash tanpa awalan firmware dan sufiks SHA Digunakan saat mem -flash data yang bukan firmware yang dapat dieksekusi Default: False |
-T--onlyterm | Jangan melakukan operasi apa pun, hanya mulai emulator terminal Default: False |
--reset | Setel ulang papan sebelum menjalankan emulator terminal, hanya digunakan dengan -opsi --onlytermDefault: False |
Paket KFPGK adalah arsip ZIP yang berisi beberapa file firmware atau data biner dan file JSON yang menggambarkan kontennya.
Lebih mudah menggunakannya ketika beberapa file harus disinari pada alamat flash yang berbeda dan dengan opsi yang berbeda.
ktool.py dapat mengolah file ini, membongkar konten dan melakukan operasi yang diperlukan.
Paket harus berisi file JSON bernama flash-list.json yang menjelaskan file mana yang akan disinari dan bagaimana.
Objek berikut harus ada untuk menggambarkan setiap file di bawah Objek files :
| Kunci | Deskripsi nilai |
|---|---|
address | bilangan bulat ; Alamat flash di mana konten file akan ditulis |
bin | rangkaian ; Nama file yang berisi firmware/data yang akan disinari |
sha256Prefix | Boolean Jika true Flash dengan Firmware Prefix dan SHA Suffix (flash firmware yang dapat dieksekusi)Jika ḟalse flash tanpa awalan firmware dan sufiks SHA (data) |
swap | boolean , dapat dihilangkan , jika tidak ada default ke falseJika true , bertukar endianess saat menulis data.Mungkin perlu saat menulis beberapa jenis data, misalnya gambar sistem file |
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
}
]
}