ktool
1.0.0
Ktool เป็นรุ่น ปรับปรุง ของ Kendryte Kflash.py Utility
มันเข้ากันได้กับ kflash.py แต่แนะนำคุณสมบัติใหม่ ๆ มากมายและการปรับปรุง
แหล่งที่มาเต็มของ ISP ขั้นตอนที่ 2 ที่ปรับปรุงแล้วมีอยู่ในไดเรกทอรี SRC/ISP ของที่เก็บนี้
ข้อมูลเพิ่มเติมเกี่ยวกับ ISP ขั้นตอนที่ 2 และคำแนะนำในการสร้างมีอยู่ในไดเรกทอรี Build
IO16 ต่ำและยืนยัน การรีเซ็ต พินIO16 ต่ำ K210 จะดำเนินการ ISP ขั้นตอนที่ 1 จาก ROM0x805E0000 ) และดำเนินการkflash.py มาตรฐานตัวเลือกบรรทัดคำสั่งเดียวกันได้รับการสนับสนุน (แต่เพิ่มมากกว่า)kflash.py เขียนชิ้น 64k เสมอและที่อยู่เฟิร์มแวร์จะต้องจัดตำแหน่ง 64KB )kflash.py รองรับฟังก์ชั่นนี้ แต่การโหลดไปยัง SRAM ทำได้ที่ 115200 Baud ทำให้ไม่สามารถใช้งานได้สำหรับ Firmwares ที่มีขนาดใหญ่ขึ้น ) | การโต้แย้ง | คำอธิบาย |
|---|---|
-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 | ชื่อไฟล์ไบนารี ISP ขั้นตอนที่ 2 ไบนารี ISP ภายนอกมักใช้สำหรับการทดสอบเท่านั้น หากไม่ได้รับการใช้ไบนารี ISP ภายใน (แนะนำ) |
-k KEY--key KEY | คีย์ AES ใน Hex หากคุณต้องการเข้ารหัสเฟิร์มแวร์ ไม่มีเอกสารเกี่ยวกับวิธีการทำงานอาจต้องใช้การเขียนโปรแกรมบางส่วนของหน่วยความจำ K210 OTP เฟิร์มแวร์ที่ฉายด้วยตัวเลือกนี้ จะไม่เริ่ม หากไม่ได้รับจะไม่มีการใช้การกำหนด AES |
-t--terminal | Open Terminal Emulator (ค่าเริ่มต้น: miniterm ) หลังจากการดำเนินการเสร็จสิ้นค่าเริ่มต้น: False |
-n--noansi | อย่าใช้สี ANSI แนะนำเมื่อไม่รองรับสี ANSI (ตัวอย่างเช่นใน พรอมต์คำสั่ง Windows) ค่าเริ่มต้น: False |
-B BOARD--Board BOARD | เลือกบอร์ดที่คุณพยายามเชื่อมต่อ บอร์ดที่แตกต่างกันของฉันมี การรีเซ็ตที่แตกต่างกันเป็นข้อกำหนดของ bootloader หากไม่ได้รับการตรวจจับบอร์ดอัตโนมัติซึ่งมักจะใช้งานได้ดี สนับสนุน: ḋan , bit , trainer , kd233 , goE , goDค่าเริ่มต้น: None |
--verbose | เพิ่มความฟุ้งซ่าน ค่าเริ่มต้น: False ; ไม่ได้ใช้ |
-S--Slow | โหมดดาวน์โหลดช้า; ค่าเริ่มต้น: False ; ไม่ได้ใช้ |
firmware | อาร์กิวเมนต์ตำแหน่ง เดียวมักจะได้รับหลังจากอาร์กิวเมนต์อื่น ๆ ทั้งหมด ชื่อไฟล์ที่มีเฟิร์มแวร์หรือข้อมูลอื่น ๆ ที่จะส่งไปที่ K210 SPI Flash ชื่อไฟล์เฟิร์มแวร์ที่จะโหลดไปยัง K210 SRAM และดำเนินการ ไม่จำเป็น สำหรับการลบการดำเนินการ เป็นทางเลือก สำหรับการดำเนินการอ่าน ไฟล์อาจมีเฟิร์มแวร์/ข้อมูล ไบนารี ไฟล์ เอล ฟ์เฟิร์มแวร์หรือแพ็คเกจ KFPKG (ดูด้านล่าง) |
| การโต้แย้ง | คำอธิบาย |
|---|---|
-a ADDRESS--address ADDRESS | ที่อยู่แฟลชที่เฟิร์มแวร์/ข้อมูลจะถูกเขียนขึ้นสำหรับการดำเนินการ เขียน แฟลช ที่อยู่แฟลชซึ่งข้อมูลจะถูกอ่านสำหรับการดำเนินการ อ่าน แฟลช จำนวนเต็มสามารถได้รับเป็นทศนิยมหรือเลขฐานสิบหก ค่าเริ่มต้น: 0 |
-E--erase | ลบชิปแฟลชทั้งหมด ระวัง! |
-L--rdlen | ความยาวของข้อมูลที่จะ อ่าน จาก Flash จำนวนเต็มสามารถได้รับเป็นทศนิยมหรือเลขฐานสิบหก ค่าเริ่มต้น: 0 |
-R--read | อ่าน ข้อมูลจากที่อยู่แฟลชที่ระบุโดย --addressข้อมูลจะถูกบันทึกลงในชื่อ firmware ที่ระบุในบรรทัดคำสั่งค่าเริ่มต้น: "flash_dump.bin" |
--swapendian | แลกเปลี่ยน Endianess เมื่อเขียนข้อมูล อาจจำเป็นเมื่อเขียนข้อมูลบางประเภทเช่นรูปภาพระบบไฟล์ ค่าเริ่มต้น: False |
-s--sram | ดาวน์โหลดเฟิร์มแวร์ไปยัง K210 SRAM และ BOOT การโหลดทำได้โดย ISP ขั้นที่ 2 และสามารถดำเนินการได้ ที่คณะกรรมการ ที่ได้รับการสนับสนุน ค่าเริ่มต้น: Falsekflash.py รองรับฟังก์ชั่นนี้ แต่การโหลดไปยัง SRAM นั้นทำที่ 115200 Baud ทำให้ไม่สามารถใช้งานได้สำหรับ Firmwares ที่มีขนาดใหญ่ขึ้น |
--termbdr BAUDRATE | uart baudrate ที่ใช้สำหรับ emulator เทอร์มินัล ค่าเริ่มต้น: 115200 |
--nosha | แฟลชโดยไม่มีคำนำหน้าเฟิร์มแวร์และ SHA ต่อท้าย ใช้เมื่อกระพริบข้อมูลซึ่งไม่สามารถใช้งานได้เฟิร์มแวร์ ค่าเริ่มต้น: False |
-T--onlyterm | อย่าดำเนินการใด ๆ เริ่มต้นเทอร์มินัลอีมูเลเตอร์เท่านั้น ค่าเริ่มต้น: False |
--reset | รีเซ็ตบอร์ดก่อนที่จะใช้เครื่องจำลองเทอร์มินัลใช้กับตัวเลือก --onlyterm เฉพาะระยะเวลาเท่านั้นค่าเริ่มต้น: False |
แพ็คเกจ KFPGK เป็น ไฟล์เก็บถาวร ZIP ที่มีไฟล์ เฟิร์มแวร์ หรือ ข้อมูล ไบนารีข้อมูลหลายไฟล์และไฟล์ JSON ที่อธิบายเนื้อหา
สะดวกในการใช้งานเมื่อต้องมีไฟล์หลายไฟล์ที่อยู่ที่ที่อยู่แฟลชที่แตกต่างกันและมีตัวเลือกที่แตกต่างกัน
ktool.py สามารถผลิตไฟล์นี้แกะเนื้อหาและดำเนินการที่จำเป็น
แพ็คเกจจะต้องมีไฟล์ JSON ชื่อ flash-list.json ซึ่งอธิบายว่าไฟล์ใดที่จะถูกกะพริบและวิธีการ
วัตถุต่อไปนี้จะต้องมีอยู่เพื่ออธิบายแต่ละไฟล์ภายใต้วัตถุ files :
| สำคัญ | คำอธิบายค่า |
|---|---|
address | จำนวนเต็ม ; ที่อยู่แฟลชที่จะเขียนเนื้อหาไฟล์ |
bin | สตริง ; ชื่อของไฟล์ที่มีเฟิร์มแวร์/ข้อมูลที่จะกะพริบ |
sha256Prefix | บูลีน หาก Flash true พร้อมคำนำหน้าเฟิร์มแวร์และ SHA Suffix (แฟลชเฟิร์มแวร์ที่ใช้งานได้)ถ้า ḟalse Flash โดยไม่มีคำนำหน้าเฟิร์มแวร์และ SHA ต่อท้าย (ข้อมูล) |
swap | บูลีน อาจถูกละเว้น หากไม่มีค่าเริ่มต้นเป็น falseถ้า true ให้สลับ Endianess เมื่อเขียนข้อมูลอาจจำเป็นเมื่อเขียนข้อมูลบางประเภทเช่นรูปภาพระบบไฟล์ |
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
}
]
}