JTAG (مجموعة إجراء الاختبار المشترك) هو بروتوكول يستخدم على نطاق واسع لتصحيح الأخطاء والبرمجة واختبار الدوائر المتكاملة (ICS). يتيح الاتصال المباشر مع رقاقة لقراءة ذاكرتها أو إجراء عمليات مسح الحدود أو تحميل البرامج الثابتة. سوف يرشدك هذا البرنامج التعليمي من خلال أساسيات استخدام JTAG لقراءة الرقائق ، بما في ذلك الإعداد والأدوات وأفضل الممارسات.
ما هو JTAG؟
JTAG هي واجهة موحدة (IEEE 1149.1) توفر وسيلة لاختبار وتصحيح الأجهزة على مستوى الرقاقة. يستخدم عادة في:
- تطوير البرامج الثابتة وتصحيح الأخطاء
- اختبار اتصالات ثنائي الفينيل متعدد الكلور
- وميض البرامج الثابتة على الأجهزة
- استخراج الذاكرة من ICS
يستخدم JTAG واجهة 4 أو 5 أسنان:
دبوس | وصف |
---|---|
TDI | اختبار البيانات في |
tdo | اختبار البيانات خارج |
TCK | اختبار الساعة |
TMS | وضع الاختبار حدد |
trst | إعادة تعيين اختبار (اختياري) |
ماذا ستحتاج
- محول JTAG: جهاز الأجهزة للتفاعل مع الشريحة (على سبيل المثال ، Segger J-Link ، محولات OpenOCD المدعومة).
- الجهاز المستهدف: IC أو النظام الذي تريد قراءته.
- أدوات البرمجيات: تطبيقات تصحيح أخطاء JTAG ، مثل OpenOCD أو urjtag أو أدوات الملكية.
- JTAG Pinout Documentation: مخطط pinout للجهاز المستهدف.
- ملحقات الاتصال: الأسلاك والرؤوس ولوحة الخبز (إذا لزم الأمر).
الخطوة 1: إعداد أجهزة JTAG
1. تحديد واجهة JTAG على الجهاز الهدف
- ارجع إلى ورقة البيانات أو مخططات ثنائي الفينيل متعدد الكلور من رقاقة لتحديد موقع دبابيس JTAG.
- وتشمل الملصقات الشائعة لدبابيس JTAG
TDI
,TDO
,TCK
، وTMS
. - وصفت بعض اللوحات رؤوس JTAG (على سبيل المثال ، موصلات 10 دبوس أو 20 دبوس).
2. قم بتوصيل محول JTAG
- قم بتوصيل المحول إلى الجهاز المستهدف ، ومطابقة jtag pinout:
-
TDI
على المحول يتصلTDI
على الجهاز ، وهلم جرا. - تأكد من توصيل GND بين المحول والهدف.
- توفير الطاقة للجهاز المستهدف إذا لزم الأمر.
-
3. تحقق من مستويات الجهد
- تأكد من أن محول JTAG يدعم مستويات الجهد للجهاز المستهدف (على سبيل المثال ، 3.3V أو 1.8V).
- تحتوي بعض المحولات على إعدادات الجهد القابلة للتكوين.
الخطوة 2: تثبيت أدوات برنامج JTAG
1.
OpenOCD هي أداة مفتوحة المصدر تستخدم على نطاق واسع لتصحيح تصحيح JTAG.
- تثبيته باستخدام مدير الحزمة الخاص بك (على سبيل المثال ،
apt install openocd
على Linux). - تأكد من دعم محول JTAG الخاص بك بواسطة OpenOCD.
2. urjtag
أداة خفيفة الوزن لفحص الحدود وعمليات JTAG الأساسية.
- تثبيت عبر موقع urjtag.
3. أدوات خاصة للبائع
بالنسبة للمحولات الملكية مثل Segger J-Link أو Xilinx ، استخدم برنامجها الرسمي:
- Segger J-Link: قم بتنزيل أدوات J-Link من موقع Segger.
- أدوات Xilinx: استخدم Vivado أو تأثير تصحيح الأخطاء FPGA.
الخطوة 3: قراءة البيانات من رقاقة
1. تكوين برنامج JTAG
- قم بإنشاء أو تحميل ملف تكوين يحدد محول JTAG وجهاز الهدف.
- مثال على OpenOCD:
source [find interface/jlink.cfg] transport select jtag source [find target/stm32f4x.cfg] init halt
- مثال على OpenOCD:
2. اكتشف الجهاز المستهدف
قم بتشغيل أمر لمسح سلسلة JTAG وتحديد الأجهزة المتصلة.
- لـ OpenOCD:
ابحث عن الأجهزة المكتشفة في سجل الإخراج.openocd -f interface/jlink.cfg -f target/stm32f4x.cfg
3. تفريغ محتويات الذاكرة
استخدم أوامر JTAG لقراءة مناطق الذاكرة:
- لـ OpenOCD:
dump_image memory.bin 0x08000000 0x10000
-
memory.bin
: ملف لحفظ تفريغ الذاكرة. -
0x08000000
: عنوان البدء. -
0x10000
: عدد البايتات للقراءة.
-
4. إجراء عمليات مسح الحدود
فحص الحدود تحقق من الاتصال ووظائف دبابيس IC.
- استخدم urjtag أو OpenOCD لإجراء عمليات مسح الحدود.
- مثال في urjtag:
cable jtagkey detect bsdl path/to/bsdl/file.bsd svf boundary_scan.svf
الخطوة 4: أفضل الممارسات لتصحيح أخطاء JTAG
- تأمين الاتصال: استخدم أسلاك قصيرة وموثوقة لتقليل الضوضاء.
- تحقق من pinout: تحقق مزدوج اتصالات دبوس JTAG لتجنب إتلاف الجهاز.
- البرامج الثابتة النسخ الاحتياطي: قم دائمًا بنسخ البرامج الثابتة الأصلية قبل إجراء تغييرات.
- استخدم البرنامج الصحيح: تأكد من أن الأداة التي تستخدمها تدعم الجهاز المستهدف.
- مراقبة الجهد: تأكد من أن الجهاز المستهدف يعمل على مستوى الجهد الصحيح.
تطبيقات JTAG
- تصحيح البرامج الثابتة والبرامج
- وميض البرامج الثابتة الجديدة أو محولات التشغيل
- استخراج البيانات من الذاكرة للتحليل
- تشخيص عيوب تصنيع ثنائي الفينيل متعدد الكلور
- عكس الأجهزة الهندسية
استكشاف الأخطاء وإصلاحها
-
لم يتم اكتشاف الجهاز:
- تحقق من الأسلاك و pinout.
- تأكد من تشغيل الجهاز المستهدف.
- تحقق من مستويات الجهد للتوافق.
-
أخطاء JTAG:
- تأكد من استخدام ملف التكوين الصحيح.
- حاول خفض سرعة ساعة JTAG إذا فشل الاتصال.
-
قضايا الإذن:
- على Linux ، تأكد من أن لديك أذونات مناسبة للوصول إلى أجهزة USB (استخدم
sudo
أو تكوينudev
قواعد).
- على Linux ، تأكد من أن لديك أذونات مناسبة للوصول إلى أجهزة USB (استخدم
خاتمة
JTAG هي أداة لا تقدر بثمن لتصحيح الأخطاء والبرمجة على مستوى منخفض. من خلال فهم أساسيات الأجهزة والبرامج JTAG ، يمكنك قراءة ذاكرة الرقائق ، وتصحيح البرامج الثابتة ، وإجراء عمليات مسح الحدود. قم بتجربة أدوات وتكوينات مختلفة للاستفادة الكاملة من JTAG في مشاريعك!