Ktool هي النسخة المحسنة من الأداة المساعدة Kendryte Kflash.py .
إنه متوافق مع kflash.py ولكنه يقدم العديد من الميزات الجديدة والتعزيز.
تتوفر المصادر الكاملة ل ISP المرحلة الثانية المحسنة في دليل SRC/ISP لهذا المستودع.
مزيد من المعلومات حول ISP المرحلة الثانية وتتوفر تعليمات الإنشاء في دليل الإنشاء .
IO16 منخفض وتأكيد دبوس إعادة التعيين .IO16 منخفضًا ، فإن K210 ينفذ ISP المرحلة الأولى من ROM .0x805E0000 ) ويقوم بتنفيذه.kflash.py القياسية ، يتم دعم خيارات سطر الأوامر نفسه (ولكن يتم إضافة المزيد)kflash.py يكتب دائمًا 64 ألف قطعة ويجب أن يكون عنوان البرنامج الثابت 64 كيلو بايت )kflash.py يدعم هذه الوظيفة ، ولكن يتم التحميل إلى SRAM في 115200 Baud ، مما يجعل من غير العملي بالنسبة لخطوطات الشركات الأكبر ) أكبر) | دعوى | وصف |
|---|---|
-h--help | عرض رسالة المساعدة والخروج |
-v--version | النسخة المطبوعة والخروج |
-p PORT--port PORT | منفذ الاتصالات المستخدم للاتصال بلوحة K210 إذا لم يتم تقديم |
-b BAUDRATE--baudrate BAUDRATE | UART BAUDRATE المستخدم للتواصل مع ISP المرحلة الثانية . يتم تنفيذ التواصل مع ISP المرحلة الأولى في 115200 BD.الافتراضي: 115200 |
-l ISP_BIN--bootloader ISP_BIN | 2nd المرحلة ISP اسم الملف الثنائي. عادة ما يتم استخدام ثنائي ISP الخارجي فقط للاختبار. إذا لم يتم تقديمه ، يتم استخدام ثنائي ISP الداخلي (موصى به) |
-k KEY--key KEY | مفتاح AES في Hex ، إذا كنت بحاجة إلى تشفير البرامج الثابتة. لا توجد وثائق حول كيفية عملها ، وربما تتطلب بعض البرمجة لذاكرة K210 OTP ، ولن تبدأ البرامج الثابتة بهذا الخيار إذا لم يتم تقديمه ، فلا يتم استخدام Encription AES |
-t--terminal | Open Terminal Emulator (افتراضي: 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 | الحجة الموضعية الوحيدة ، التي يتم تقديمها عادة بعد جميع الحجج الأخرى اسم الملف الذي يحتوي اسم ملف البرنامج الثابت ليتم تحميله إلى K210 SRAM وتنفيذه غير ضروري لمحو التشغيل ، اختياري لعملية القراءة قد يحتوي الملف على البرامج الثابتة/البيانات الثابتة أو ملف ELF للبرامج الثابتة أو حزمة KFPKG (انظر أدناه) |
| دعوى | وصف |
|---|---|
-a ADDRESS--address ADDRESS | عنوان الفلاش الذي سيتم فيه كتابة البرامج الثابتة/البيانات لعمليات كتابة الفلاش عنوان الفلاش الذي سيتم قراءة البيانات منه لعمليات قراءة الفلاش عدد صحيح ، يمكن إعطاء رقم عشري أو سداسي عشري الافتراضي: 0 |
-E--erase | محو شريحة الفلاش بأكملها كن حذرا! |
-L--rdlen | طول البيانات المراد قراءتها من الفلاش عدد صحيح ، يمكن إعطاء رقم عشري أو سداسي عشري الافتراضي: 0 |
-R--read | اقرأ البيانات من عنوان الفلاش المحدد بواسطة --addressسيتم حفظ البيانات إلى اسم firmware المحددة في سطر الأوامرالافتراضي: "flash_dump.bin" |
--swapendian | مبادلة endianess عند كتابة البيانات. قد يكون من الضروري عند كتابة نوع من البيانات ، على سبيل المثال صورة نظام الملفات الافتراضي: False |
-s--sram | قم بتنزيل البرامج الثابتة إلى K210 SRAM و Boot يتم التحميل بواسطة ISP المرحلة الثانية ويمكن القيام به في أي بادرات مدعومة من قبل المجلس الافتراضي: Falsekflash.py يدعم هذه الوظيفة ، ولكن يتم التحميل إلى SRAM في 115200 Baud ، مما يجعل من غير العملي بالنسبة لثباتات الشركات الأكبر حجمًا أكبر |
--termbdr BAUDRATE | UART BAUDRATE المستخدمة لمحاكي الطرفية الافتراضي: 115200 |
--nosha | فلاش بدون بادئة البرامج الثابتة و SHA لاحقة تستخدم عند وميض البيانات التي لا تكون قابلة للتنفيذ البرامج الثابتة الافتراضي: False |
-T--onlyterm | لا تنفذ أي عملية ، فقط ابدأ المحاكي الطرفي الافتراضي: False |
--reset | أعد ضبط اللوحة قبل تشغيل المحاكي الطرفي ، وتستخدم فقط مع --onlyterm المصطلحالافتراضي: False |
حزمة KFPGK عبارة عن أرشيف مضغوط يحتوي على العديد من البرامج الثابتة أو البيانات الثنائية وملف JSON يصف محتوىه.
من المريح استخدامه عندما يجب وميض ملفات متعددة على عناوين فلاش مختلفة ومع خيارات مختلفة.
يمكن لـ ktool.py أن يقوم بتوفير هذا الملف ، وتفريغ المحتوى وأداء العمليات اللازمة.
يجب أن تحتوي الحزمة على ملف JSON المسمى flash-list.json الذي يصف الملفات التي سيتم وميضها وكيف.
يجب أن تكون الكائنات التالية موجودة لوصف كل ملف ضمن كائن files :
| مفتاح | وصف القيمة |
|---|---|
address | عدد صحيح عنوان الفلاش الذي سيتم فيه كتابة محتوى الملف |
bin | خيط ؛ اسم الملف الذي يحتوي على البرامج الثابتة/البيانات المراد تمييزها |
sha256Prefix | منطقية إذا فلاش true مع بادئة البرامج الثابتة و SHA لاحقة (فلاش البرامج الثابتة القابلة للتنفيذ)إذا كان ḟalse فلاش بدون بادئة البرامج الثابتة و SHA لاحقة (بيانات) |
swap | قد يتم حذف Boolean ، إن لم يكن موجودًا على التخلف عن السداد إلى 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
}
]
}