برنامه نویسان ICE Debugger
راهنمای کاربر برنامه نویسان و دیباگرها
Atmel-ICE
راهنمای کاربر
Atmel-ICE Debugger
Atmel-ICE یک ابزار توسعه قدرتمند برای اشکال زدایی و برنامه نویسی میکروکنترلرهای Atmel®SAM و Atmel AVR مبتنی بر ARM® Cortex®-M با قابلیت ® On-Chip Debug است.
پشتیبانی می کند:
- برنامه نویسی و اشکال زدایی روی تراشه همه میکروکنترلرهای Atmel AVR 32 بیتی در هر دو JTAG و رابط های aWire
- برنامه نویسی و اشکال زدایی روی تراشه تمام دستگاه های خانواده Atmel AVR XMEGA® در هر دو JTAG و رابط های 2 سیم PDI
- برنامه نویسی (JTAG, SPI, UPDI) و اشکال زدایی همه میکروکنترلرهای 8 بیتی Atmel AVR با پشتیبانی OCD در JTAG، رابط های debugWIRE یا UPDI
- برنامه نویسی و اشکال زدایی همه میکروکنترلرهای مبتنی بر Atmel SAM ARM Cortex-M در SWD و JTAG رابط ها
- برنامه نویسی (TPI) همه میکروکنترلرهای 8 بیتی Atmel tinyAVR® با پشتیبانی از این رابط
برای لیست کامل دستگاه ها و رابط های پشتیبانی شده توسط این نسخه سیستم عامل، به لیست دستگاه های پشتیبانی شده در راهنمای کاربر Atmel Studio مراجعه کنید.
مقدمه
1.1. مقدمه ای بر Atmel-ICE
Atmel-ICE یک ابزار توسعه قدرتمند برای اشکال زدایی و برنامه نویسی میکروکنترلرهای Atmel SAM و Atmel AVR مبتنی بر ARM Cortex-M با قابلیت On-Chip Debug است.
پشتیبانی می کند:
- برنامه نویسی و اشکال زدایی روی تراشه همه میکروکنترلرهای Atmel AVR UC3 در هر دو JTAG و رابط های aWire
- برنامه نویسی و اشکال زدایی روی تراشه تمام دستگاه های خانواده AVR XMEGA در هر دو JTAG و رابط های PDI 2wire
- برنامه نویسی (JTAG و SPI) و اشکال زدایی همه میکروکنترلرهای 8 بیتی AVR با پشتیبانی OCD در هر دو JTAG یا رابط های debugWIRE
- برنامه نویسی و اشکال زدایی همه میکروکنترلرهای مبتنی بر Atmel SAM ARM Cortex-M در SWD و JTAG رابط ها
- برنامه نویسی (TPI) همه میکروکنترلرهای Atmel tinyAVR 8 بیتی با پشتیبانی از این رابط
1.2. ویژگی های Atmel-ICE
- کاملاً با Atmel Studio سازگار است
- پشتیبانی از برنامه نویسی و دیباگ تمامی میکروکنترلرهای 3 بیتی Atmel AVR UC32
- از برنامه نویسی و اشکال زدایی تمام دستگاه های AVR XMEGA 8 بیتی پشتیبانی می کند
- پشتیبانی از برنامه نویسی و اشکال زدایی تمام دستگاه های 8 بیتی Atmel megaAVR® و tinyAVR با OCD
- از برنامه نویسی و اشکال زدایی همه میکروکنترلرهای مبتنی بر SAM ARM Cortex-M پشتیبانی می کند
- جلد عملیاتی هدفtagمحدوده e 1.62V تا 5.5V
- کمتر از 3 میلی آمپر از VTref هدف در هنگام استفاده از رابط debugWIRE و کمتر از 1 میلی آمپر برای تمام رابط های دیگر می گیرد.
- پشتیبانی از JTAG فرکانس ساعت از 32 کیلوهرتز تا 7.5 مگاهرتز
- از فرکانس های کلاک PDI از 32 کیلوهرتز تا 7.5 مگاهرتز پشتیبانی می کند
- پشتیبانی از نرخ باود debugWIRE از 4 کیلوبیت بر ثانیه تا 0.5 مگابیت بر ثانیه
- از نرخ باود aWire از 7.5 کیلوبیت بر ثانیه تا 7 مگابیت بر ثانیه پشتیبانی می کند
- از فرکانس های ساعت SPI از 8 کیلوهرتز تا 5 مگاهرتز پشتیبانی می کند
- از نرخ باود UPDI تا 750 کیلوبیت بر ثانیه پشتیبانی می کند
- از فرکانس های ساعت SWD از 32 کیلوهرتز تا 10 مگاهرتز پشتیبانی می کند
- رابط میزبان پرسرعت USB 2.0
- ضبط سریال ITM تا 3 مگابایت بر ثانیه
- پشتیبانی از رابط های DGI SPI و USART در صورت عدم اشکال زدایی یا برنامه نویسی
- پشتیبانی از 10 پین 50 میلی JTAG کانکتور با هر دو پین اوت AVR و Cortex. کابل پروب استاندارد AVR 6 پین ISP/PDI/TPI هدر 100 میلی و همچنین 10 پین 50 میلی را پشتیبانی می کند. یک آداپتور برای پشتیبانی از هدرهای 6 پین 50 میل، 10 پین 100 میل و 20 پین 100 میل در دسترس است. چندین گزینه کیت با کابل کشی و آداپتورهای مختلف موجود است.
1.3. سیستم مورد نیاز
واحد Atmel-ICE نیاز دارد که یک محیط اشکال زدایی جلویی Atmel Studio نسخه 6.2 یا بالاتر روی رایانه شما نصب شده باشد.
Atmel-ICE باید با استفاده از کابل USB ارائه شده یا یک کابل Micro-USB تایید شده به رایانه میزبان متصل شود.
شروع کار با Atmel-ICE
2.1. محتویات کامل کیت
کیت کامل Atmel-ICE شامل موارد زیر است:
- واحد Atmel-ICE
- کابل USB (1.8 متر، پرسرعت، Micro-B)
- برد آداپتور حاوی آداپتورهای SAM 50 میل AVR، 100 میل AVR/SAM و 100 میل 20 پین SAM
- کابل فلت IDC با کانکتور 10 پین 50 میل و کانکتور 6 پین 100 میل
- کابل مینی ماهی مرکب 50 پین 10 میل با سوکت های 10 در 100 میل
شکل 2-1. محتوای کیت کامل Atmel-ICE2.2. محتویات کیت اولیه
کیت اصلی Atmel-ICE شامل موارد زیر است:
- واحد Atmel-ICE
- کابل USB (1.8 متر، پرسرعت، Micro-B)
- کابل فلت IDC با کانکتور 10 پین 50 میل و کانکتور 6 پین 100 میل
شکل 2-2. محتویات کیت پایه Atmel-ICE2.3. محتویات کیت PCBA
کیت PCBA Atmel-ICE شامل موارد زیر است:
- واحد Atmel-ICE بدون کپسوله پلاستیکی
شکل 2-3. محتویات کیت PCBA Atmel-ICE2.4. کیت قطعات یدکی
کیت های قطعات یدکی زیر موجود است:
- کیت آداپتور
- کیت کابل
شکل 2-4. محتویات کیت آداپتور Atmel-ICE2.5. کیت به پایان رسیدview
گزینه های کیت Atmel-ICE به صورت نموداری در اینجا نشان داده شده است:
شکل 2-6. Atmel-ICE Kit Overview2.6. مونتاژ Atmel-ICE
واحد Atmel-ICE بدون کابل متصل ارسال می شود. دو گزینه کابل در کیت کامل ارائه شده است:
- کابل فلت IDC 50 پین 10 میل با ISP 6 پین و کانکتورهای 10 پین
- کابل مینی ماهی مرکب 50 پین 10 میل با سوکت های 10 در 100 میل
شکل 2-7. کابل های Atmel-ICEبرای بیشتر مقاصد، می توان از کابل تخت IDC 50 پین 10 میل استفاده کرد که به صورت بومی به کانکتورهای 10 پین یا 6 پین آن وصل می شود یا از طریق برد آداپتور متصل می شود. سه آداپتور روی یک PCBA کوچک ارائه شده است. آداپتورهای زیر شامل می شوند:
- 100 میل 10 پین JTAG/ آداپتور SWD
- 100 میل 20 پین SAM JTAG/ آداپتور SWD
- آداپتور 50 میلی 6 پین SPI/debugWIRE/PDI/aWire
شکل 2-8. آداپتورهای Atmel-ICEتوجه:
جی 50 میلTAG آداپتور ارائه نشده است - این به این دلیل است که کابل IDC 50 پین 10 میل را می توان برای اتصال مستقیم به J 50 میل استفاده کرد.TAG سرتیتر. برای شماره قطعه مورد استفاده برای کانکتور 50 پین 10 میل، به شماره قطعات اتصالات هدف Atmel-ICE مراجعه کنید.
هدر ISP/PDI 6 پین به عنوان بخشی از کابل IDC 10 پین گنجانده شده است. در صورت عدم نیاز می توان این خاتمه را قطع کرد.
برای مونتاژ Atmel-ICE خود در پیکربندی پیش فرض، کابل IDC 10 پین 50 میلی را مطابق شکل زیر به دستگاه متصل کنید. مطمئن شوید که کابل را طوری جهت دهید که سیم قرمز (پایه 1) روی کابل با نشانگر مثلثی روی کمربند آبی محفظه همسو شود. کابل باید از دستگاه به سمت بالا وصل شود. حتماً به پورت مربوط به پین اوت هدف خود - AVR یا SAM وصل شوید.
شکل 2-9. اتصال کابل Atmel-ICEشکل 2-10. اتصال پروب Atmel-ICE AVR
شکل 2-11. اتصال پروب Atmel-ICE SAM
2.7. باز کردن Atmel-ICE
توجه:
برای عملکرد عادی، واحد Atmel-ICE نباید باز شود. باز کردن واحد با مسئولیت خود شما انجام می شود.
اقدامات احتیاطی ضد الکتریسیته ساکن باید انجام شود.
محفظه Atmel-ICE از سه جزء پلاستیکی مجزا تشکیل شده است – روکش بالایی، پوشش پایینی و کمربند آبی – که در هنگام مونتاژ به هم متصل می شوند. برای باز کردن دستگاه، به سادگی یک پیچ گوشتی تخت بزرگ را در دهانه های کمربند آبی قرار دهید، کمی به داخل فشار دهید و به آرامی بچرخانید. این کار را روی سایر سوراخهای قیچی تکرار کنید تا پوشش بالایی باز شود.
شکل 2-12. باز کردن Atmel-ICE (1)
شکل 2-13. باز کردن Atmel-ICE (2)
شکل 2-14. باز کردن Atmel-ICE (3)
برای بستن مجدد دستگاه، کافی است درپوش های بالا و پایین را به درستی تراز کنید و محکم روی هم فشار دهید.
2.8. تامین انرژی Atmel-ICE
Atmel-ICE توسط گذرگاه USB voltagه. کمتر از 100 میلی آمپر برای کار کردن نیاز دارد و بنابراین می تواند از طریق هاب USB تغذیه شود. هنگامی که دستگاه به برق وصل شود، چراغ LED روشن می شود. هنگامی که در یک جلسه برنامه نویسی یا اشکال زدایی فعال متصل نیست، دستگاه وارد حالت مصرف کم مصرف می شود تا باتری رایانه شما حفظ شود. Atmel-ICE را نمی توان خاموش کرد - در صورت عدم استفاده باید آن را از برق جدا کرد.
2.9. اتصال به کامپیوتر میزبان
Atmel-ICE اساساً با استفاده از یک رابط استاندارد HID ارتباط برقرار می کند و به درایور خاصی در رایانه میزبان نیاز ندارد. برای استفاده از قابلیت پیشرفته Data Gateway Atmel-ICE، حتماً درایور USB را روی رایانه میزبان نصب کنید. این به طور خودکار هنگام نصب نرم افزار فرانت اند ارائه شده توسط Atmel به صورت خودکار انجام می شود. دیدن www.atmel.com برای اطلاعات بیشتر یا دانلود آخرین نرم افزار فرانت اند.
Atmel-ICE باید با استفاده از کابل USB ارائه شده یا کابل میکرو دارای گواهی USB مناسب به درگاه USB موجود در رایانه میزبان متصل شود. Atmel-ICE دارای یک کنترلر سازگار با USB 2.0 است و می تواند در هر دو حالت پرسرعت و پرسرعت کار کند. برای بهترین نتایج، Atmel-ICE را مستقیماً با استفاده از کابل ارائه شده به هاب پرسرعت سازگار با USB 2.0 در رایانه میزبان متصل کنید.
2.10. نصب درایور USB
2.10.1. ویندوز
هنگام نصب Atmel-ICE بر روی رایانه ای که دارای Microsoft® Windows® است، درایور USB زمانی که برای اولین بار Atmel-ICE به برق وصل می شود، بارگیری می شود.
توجه:
قبل از اینکه دستگاه را برای اولین بار به برق وصل کنید، حتما بستههای نرمافزار جلویی را نصب کنید.
پس از نصب موفقیت آمیز، Atmel-ICE در مدیر دستگاه به عنوان "دستگاه رابط انسانی" ظاهر می شود.
اتصال Atmel-ICE
3.1. اتصال به AVR و SAM Target Devices
Atmel-ICE به دو J 50 پین 10 میل مجهز شده استTAG اتصال دهنده ها هر دو کانکتور مستقیماً به صورت الکتریکی متصل هستند، اما مطابق با دو پایه مختلف هستند. AVR JTAG هدر و هدر ARM Cortex Debug. کانکتور باید بر اساس پین اوت برد هدف انتخاب شود و نه بر اساس نوع MCU هدف - برای مثالampیک دستگاه SAM که در پشته AVR STK® 600 نصب شده است باید از هدر AVR استفاده کند.
کابلها و آداپتورهای مختلف در کیتهای مختلف Atmel-ICE موجود هستند. یک پایانview گزینه های اتصال نشان داده شده است.
شکل 3-1. گزینه های اتصال Atmel-ICEسیم قرمز پین 1 کانکتور 10 پین 50 میلی را نشان می دهد. پایه 1 کانکتور 6 پین 100 میلی در سمت راست کلید قرار می گیرد وقتی کانکتور از روی کابل دیده می شود. پایه 1 هر کانکتور روی آداپتور با یک نقطه سفید مشخص شده است. شکل زیر پین اوت کابل دیباگ را نشان می دهد. کانکتور علامت گذاری شده است.
شکل 3-2. اشکال زدایی کابل پینوت
3.2. اتصال به JTAG هدف
Atmel-ICE به دو J 50 پین 10 میل مجهز شده استTAG اتصال دهنده ها هر دو کانکتور مستقیماً به صورت الکتریکی متصل هستند، اما مطابق با دو پایه مختلف هستند. AVR JTAG هدر و هدر ARM Cortex Debug. کانکتور باید بر اساس پین اوت برد هدف انتخاب شود و نه بر اساس نوع MCU هدف - برای مثالampیک دستگاه SAM که در پشته AVR STK600 نصب شده است باید از هدر AVR استفاده کند.
پین اوت توصیه شده برای AVR J 10 پینTAG اتصال دهنده در شکل 4-6 نشان داده شده است. پین اوت توصیه شده برای کانکتور 10 پین ARM Cortex Debug در شکل 4-2 نشان داده شده است.
اتصال مستقیم به یک هدر استاندارد 10 پین 50 میل
برای اتصال مستقیم به بردی که از این نوع هدر پشتیبانی می کند، از کابل تخت 50 پین 10 میل (که در برخی کیت ها موجود است) استفاده کنید. از پورت رابط AVR در Atmel-ICE برای هدرهایی با پین اوت AVR و درگاه اتصال SAM برای هدرهایی که با پین اوت هدر ARM Cortex Debug مطابقت دارند، استفاده کنید.
پینآوتهای هر دو پورت کانکتور 10 پین در زیر نشان داده شدهاند.
اتصال به هدر 10 پین استاندارد 100 میل
از یک آداپتور استاندارد 50 تا 100 میل برای اتصال به هدرهای 100 میل استفاده کنید. برای این منظور میتوان از یک برد آداپتور (که در برخی کیتها موجود است) یا بهطور جایگزین JTAGآداپتور ICE3 را می توان برای اهداف AVR استفاده کرد.
مهم:
جیTAGآداپتور 3 میلی ICE100 را نمی توان با درگاه اتصال SAM استفاده کرد، زیرا پایه های 2 و 10 (AVR GND) روی آداپتور متصل هستند.
اتصال به یک هدر 100 میل سفارشی
اگر برد هدف شما دارای J 10 پین سازگار نیستTAG هدر 50 یا 100 میل، میتوانید با استفاده از کابل 10 پین "mini-squid" (که در برخی کیتها موجود است)، که به ده سوکت 100 میلیمتری منفرد دسترسی پیدا میکند، به یک پینآوت سفارشی نگاشت کنید.
اتصال به هد 20 پین 100 میلr
از برد آداپتور (که در برخی کیت ها موجود است) برای اتصال به اهداف با هدر 20 میل 100 پین استفاده کنید.
جدول 3-1. Atmel-ICE JTAG پین توضیحات
نام | AVR پین پورت | سام پین پورت | توضیحات |
TCK | 1 | 4 | ساعت تست (سیگنال ساعت از Atmel-ICE به دستگاه مورد نظر). |
TMS | 5 | 2 | حالت تست را انتخاب کنید (سیگنال کنترل از Atmel-ICE به دستگاه مورد نظر). |
TDI | 9 | 8 | دادههای تست در (دادههایی که از Atmel-ICE به دستگاه هدف منتقل میشوند). |
TDO | 3 | 6 | خروجی دادهها (دادههایی که از دستگاه هدف به Atmel-ICE منتقل میشوند). |
nTRST | 8 | – | بازنشانی آزمایشی (اختیاری، فقط در برخی از دستگاههای AVR). برای تنظیم مجدد J استفاده می شودTAG کنترلر TAP |
nSRST | 6 | 10 | تنظیم مجدد (اختیاری). برای تنظیم مجدد دستگاه مورد نظر استفاده می شود. اتصال این پین توصیه می شود زیرا به Atmel-ICE اجازه می دهد تا دستگاه مورد نظر را در حالت تنظیم مجدد نگه دارد، که می تواند برای اشکال زدایی در سناریوهای خاص ضروری باشد. |
VTG | 4 | 1 | جلد هدفtage مرجع. Atmel-ICE samples the target voltage روی این پین به منظور تغذیه صحیح مبدل های سطح. Atmel-ICE در حالت debugWIRE کمتر از 3 میلی آمپر و در حالت های دیگر کمتر از 1 میلی آمپر از این پین می گیرد. |
GND | 2، 10 | 3، 5، 9 | زمین. همه باید متصل شوند تا اطمینان حاصل شود که Atmel-ICE و دستگاه هدف از یک مرجع زمین مشترک استفاده می کنند. |
3.3. اتصال به aWire Target
رابط aWire علاوه بر VCC و GND تنها به یک خط داده نیاز دارد. در هدف، این خط خط nRESET است، اگرچه دیباگر از J استفاده می کندTAG خط TDO به عنوان خط داده.
پین اوت توصیه شده برای کانکتور 6 پین aWire در شکل 4-8 نشان داده شده است.
اتصال به هدر 6 میلی aWire 100 پین
از شیر 6 پین 100 میلی روی کابل تخت (که در برخی کیت ها موجود است) برای اتصال به هدر استاندارد aWire 100 میلی استفاده کنید.
اتصال به هدر 6 میلی aWire 50 پین
از برد آداپتور (که در برخی کیت ها موجود است) برای اتصال به هدر استاندارد aWire 50 میلی استفاده کنید.
اتصال به یک هدر 100 میل سفارشی
کابل mini-squid 10 پین باید برای اتصال بین پورت اتصال Atmel-ICE AVR و برد هدف استفاده شود. سه اتصال مورد نیاز است که در جدول زیر توضیح داده شده است.
جدول 3-2. Atmel-ICE aWire Pin Mapping
پین های پورت Atmel-ICE AVR |
پین های هدف | سنجاق ماهی مرکب کوچک |
پین اوت سیم |
پین 1 (TCK) | 1 | ||
پین 2 (GND) | GND | 2 | 6 |
پین 3 (TDO) | داده ها | 3 | 1 |
پین 4 (VTG) | VTG | 4 | 2 |
پین 5 (TMS) | 5 | ||
پین 6 (nSRST) | 6 | ||
پین 7 (وصل نیست) | 7 | ||
پین 8 (nTRST) | 8 | ||
پین 9 (TDI) | 9 | ||
پین 10 (GND) | 0 |
3.4. اتصال به یک هدف PDI
پین اوت توصیه شده برای کانکتور 6 پین PDI در شکل 4-11 نشان داده شده است.
اتصال به هدر 6 پین 100 میلی PDI
از شیر 6 پین 100 میلی روی کابل تخت (که در برخی کیت ها موجود است) برای اتصال به یک هدر PDI استاندارد 100 میلی استفاده کنید.
اتصال به هدر 6 پین 50 میلی PDI
از برد آداپتور (که در برخی کیت ها موجود است) برای اتصال به هدر PDI استاندارد 50 میلی استفاده کنید.
اتصال به یک هدر 100 میل سفارشی
کابل mini-squid 10 پین باید برای اتصال بین پورت اتصال Atmel-ICE AVR و برد هدف استفاده شود. چهار اتصال مورد نیاز است که در جدول زیر توضیح داده شده است.
مهم:
پین اوت مورد نیاز با J متفاوت استTAGICE mkII JTAG کاوشگر، جایی که PDI_DATA به پین 9 متصل است. Atmel-ICE با پین اوت استفاده شده توسط Atmel-ICE، J سازگار است.TAGمحصولات ICE3، AVR ONE!، و AVR Dragon™.
جدول 3-3. نقشه برداری پین Atmel-ICE PDI
پین های پورت Atmel-ICE AVR | پین های هدف | سنجاق ماهی مرکب کوچک |
پین اوت سیم |
پین 1 (TCK) | 1 | ||
پین 2 (GND) | GND | 2 | 6 |
پین 3 (TDO) | داده ها | 3 | 1 |
پین 4 (VTG) | VTG | 4 | 2 |
پین 5 (TMS) | 5 | ||
پین 6 (nSRST) | 6 | ||
پین 7 (وصل نیست) | 7 | ||
پین 8 (nTRST) | 8 | ||
پین 9 (TDI) | 9 | ||
پین 10 (GND) | 0 |
3.4 اتصال به یک هدف PDI
پین اوت توصیه شده برای کانکتور 6 پین PDI در شکل 4-11 نشان داده شده است.
اتصال به هدر 6 پین 100 میلی PDI
از شیر 6 پین 100 میلی روی کابل تخت (که در برخی کیت ها موجود است) برای اتصال به یک هدر PDI استاندارد 100 میلی استفاده کنید.
اتصال به هدر 6 پین 50 میلی PDI
از برد آداپتور (که در برخی کیت ها موجود است) برای اتصال به هدر PDI استاندارد 50 میلی استفاده کنید.
اتصال به یک هدر 100 میل سفارشی
کابل mini-squid 10 پین باید برای اتصال بین پورت اتصال Atmel-ICE AVR و برد هدف استفاده شود. چهار اتصال مورد نیاز است که در جدول زیر توضیح داده شده است.
مهم:
پین اوت مورد نیاز با J متفاوت استTAGICE mkII JTAG کاوشگر، جایی که PDI_DATA به پین 9 متصل است. Atmel-ICE با پین اوت استفاده شده توسط Atmel-ICE، J سازگار است.TAGICE3، AVR ONE!، و AVR Dragon™ محصولات
جدول 3-3. نقشه برداری پین Atmel-ICE PDI
پین پورت Atmel-ICE AVR | پین های هدف | سنجاق ماهی مرکب کوچک | پین اوت Atmel STK600 PDI |
پین 1 (TCK) | 1 | ||
پین 2 (GND) | GND | 2 | 6 |
پین 3 (TDO) | PDI_DATA | 3 | 1 |
پین 4 (VTG) | VTG | 4 | 2 |
پین 5 (TMS) | 5 | ||
پین 6 (nSRST) | PDI_CLK | 6 | 5 |
پین 7 (وصل نیست) | 7 | ||
پین 8 (nTRST) | 8 | ||
پین 9 (TDI) | 9 | ||
پین 10 (GND) | 0 |
3.5 اتصال به یک هدف UPDI
پین اوت توصیه شده برای اتصال 6 پین UPDI در شکل 4-12 نشان داده شده است.
اتصال به هدر UPDI 6 میلی 100 پین
برای اتصال به هدر استاندارد UPDI 6 میل، از شیر 100 پین 100 میلی روی کابل تخت (که در برخی کیت ها موجود است) استفاده کنید.
اتصال به هدر UPDI 6 میلی 50 پین
از برد آداپتور (که در برخی کیت ها موجود است) برای اتصال به یک هدر استاندارد UPDI 50 میلی استفاده کنید.
اتصال به یک هدر 100 میل سفارشی
کابل mini-squid 10 پین باید برای اتصال بین پورت اتصال Atmel-ICE AVR و برد هدف استفاده شود. سه اتصال مورد نیاز است که در جدول زیر توضیح داده شده است.
جدول 3-4. نقشه برداری پین Atmel-ICE UPDI
پین پورت Atmel-ICE AVR | پین های هدف | سنجاق ماهی مرکب کوچک |
پین اوت Atmel STK600 UPDI |
پین 1 (TCK) | 1 | ||
پین 2 (GND) | GND | 2 | 6 |
پین 3 (TDO) | UPDI_DATA | 3 | 1 |
پین 4 (VTG) | VTG | 4 | 2 |
پین 5 (TMS) | 5 | ||
پین 6 (nSRST) | [/تنظیم مجدد حس] | 6 | 5 |
پین 7 (وصل نیست) | 7 | ||
پین 8 (nTRST) | 8 | ||
پین 9 (TDI) | 9 | ||
پین 10 (GND) | 0 |
3.6 اتصال به DebugWIRE Target
پین اوت توصیه شده برای اتصال 6 پین debugWIRE (SPI) در جدول 3-6 نشان داده شده است.
اتصال به هدر SPI 6 میلی 100 پین
برای اتصال به هدر SPI استاندارد 6 میل از شیر 100 پین 100 میلی روی کابل تخت (که در برخی کیت ها موجود است) استفاده کنید.
اتصال به هدر SPI 6 میلی 50 پین
از برد آداپتور (که در برخی کیت ها موجود است) برای اتصال به هدر SPI استاندارد 50 میلی استفاده کنید.
اتصال به یک هدر 100 میل سفارشی
کابل mini-squid 10 پین باید برای اتصال بین پورت اتصال Atmel-ICE AVR و برد هدف استفاده شود. سه اتصال مورد نیاز است، همانطور که در جدول 3-5 توضیح داده شده است.
اگرچه رابط debugWIRE فقط به یک خط سیگنال (RESET) نیاز دارد، VCC و GND برای عملکرد صحیح، توصیه می شود به کانکتور کامل SPI دسترسی داشته باشید تا بتوان رابط debugWIRE را با استفاده از برنامه نویسی SPI فعال و غیرفعال کرد.
هنگامی که فیوز DWEN فعال است، رابط SPI به صورت داخلی نادیده گرفته می شود تا ماژول OCD بتواند روی پین RESET کنترل داشته باشد. DebugWIRE OCD قادر است به طور موقت خود را غیرفعال کند (با استفاده از دکمه روی برگه اشکال زدایی در گفتگوی خصوصیات در Atmel Studio)، بنابراین کنترل خط RESET را آزاد می کند. سپس رابط SPI دوباره در دسترس است (فقط اگر فیوز SPIEN برنامه ریزی شده باشد)، به فیوز DWEN اجازه می دهد تا با استفاده از رابط SPI برنامه ریزی نشود. اگر قبل از برنامهریزی نشدن فیوز DWEN، برق قطع شود، ماژول debugWIRE دوباره کنترل پین RESET را در دست میگیرد.
توجه:
بسیار توصیه می شود که به سادگی اجازه دهید Atmel Studio تنظیمات و پاکسازی فیوز DWEN را انجام دهد.
اگر lockbit های دستگاه AVR مورد نظر برنامه ریزی شده باشند، امکان استفاده از رابط debugWIRE وجود ندارد. همیشه مطمئن شوید که قفل بیت ها قبل از برنامه ریزی فیوز DWEN پاک شده اند و هرگز در زمانی که فیوز DWEN برنامه ریزی شده است، قفل بیت ها را تنظیم نکنید. اگر هم فیوز فعال debugWIRE (DWEN) و هم lockbit ها تنظیم شده باشند، می توان از High Vol استفاده کرد.tagبرنامه ریزی برای پاک کردن تراشه و در نتیجه پاک کردن lockbits.
وقتی lockbit ها پاک می شوند، رابط debugWIRE دوباره فعال می شود. رابط SPI فقط زمانی که فیوز DWEN برنامه ریزی نشده باشد قادر به خواندن فیوزها، خواندن امضا و انجام پاک کردن تراشه است.
جدول 3-5. Atmel-ICE DebugWIRE Pin Mapping
پین پورت Atmel-ICE AVR | پین های هدف |
سنجاق ماهی مرکب کوچک |
پین 1 (TCK) | 1 | |
پین 2 (GND) | GND | 2 |
پین 3 (TDO) | 3 | |
پین 4 (VTG) | VTG | 4 |
پین 5 (TMS) | 5 | |
پین 6 (nSRST) | تنظیم مجدد | 6 |
پین 7 (وصل نیست) | 7 | |
پین 8 (nTRST) | 8 | |
پین 9 (TDI) | 9 | |
پین 10 (GND) | 0 |
3.7 اتصال به یک هدف SPI
پین اوت توصیه شده برای اتصال 6 پین SPI در شکل 4-10 نشان داده شده است.
اتصال به هدر SPI 6 میلی 100 پین
برای اتصال به هدر SPI استاندارد 6 میل از شیر 100 پین 100 میلی روی کابل تخت (که در برخی کیت ها موجود است) استفاده کنید.
اتصال به هدر SPI 6 میلی 50 پین
از برد آداپتور (که در برخی کیت ها موجود است) برای اتصال به هدر SPI استاندارد 50 میلی استفاده کنید.
اتصال به یک هدر 100 میل سفارشی
کابل mini-squid 10 پین باید برای اتصال بین پورت اتصال Atmel-ICE AVR و برد هدف استفاده شود. شش اتصال مورد نیاز است که در جدول زیر توضیح داده شده است.
مهم:
رابط SPI به طور موثر زمانی غیرفعال می شود که فیوز فعال debugWIRE (DWEN) برنامه ریزی شده باشد، حتی اگر فیوز SPIEN نیز برنامه ریزی شده باشد. برای فعال کردن مجدد رابط SPI، دستور 'disable debugWIRE' باید در جلسه اشکال زدایی debugWIRE صادر شود. غیرفعال کردن debugWIRE به این روش مستلزم آن است که فیوز SPIEN از قبل برنامه ریزی شده باشد. اگر Atmel Studio نتواند debugWIRE را غیرفعال کند، این احتمال وجود دارد که فیوز SPIEN برنامه ریزی نشده باشد. در این صورت استفاده از حجم بالا ضروری استtagرابط برنامه نویسی برای برنامه ریزی فیوز SPIEN.
اطلاعات:
رابط SPI اغلب به عنوان "ISP" شناخته می شود، زیرا اولین رابط برنامه نویسی سیستم در محصولات Atmel AVR بود. سایر رابطها اکنون برای برنامهنویسی سیستم در دسترس هستند.
جدول 3-6. نقشه برداری پین Atmel-ICE SPI
پین های پورت Atmel-ICE AVR | پین های هدف | سنجاق ماهی مرکب کوچک |
پین اوت SPI |
پین 1 (TCK) | SCK | 1 | 3 |
پین 2 (GND) | GND | 2 | 6 |
پین 3 (TDO) | میسو | 3 | 1 |
پین 4 (VTG) | VTG | 4 | 2 |
پین 5 (TMS) | 5 | ||
پین 6 (nSRST) | /RESET | 6 | 5 |
پین 7 (وصل نیست) | 7 | ||
پین 8 (nTRST) | 8 | ||
پین 9 (TDI) | MOSI | 9 | 4 |
پین 10 (GND) | 0 |
3.8 اتصال به یک هدف TPI
پین اوت توصیه شده برای اتصال 6 پین TPI در شکل 4-13 نشان داده شده است.
اتصال به هدر TPI 6 میلی 100 پین
برای اتصال به هدر TPI استاندارد 6 میل از شیر 100 پین 100 میلی روی کابل تخت (که در برخی کیت ها موجود است) استفاده کنید.
اتصال به هدر TPI 6 میلی 50 پین
از برد آداپتور (که در برخی کیت ها موجود است) برای اتصال به هدر استاندارد TPI 50 میلی استفاده کنید.
اتصال به یک هدر 100 میل سفارشی
کابل mini-squid 10 پین باید برای اتصال بین پورت اتصال Atmel-ICE AVR و برد هدف استفاده شود. شش اتصال مورد نیاز است که در جدول زیر توضیح داده شده است.
جدول 3-7. نقشه برداری پین Atmel-ICE TPI
پین های پورت Atmel-ICE AVR | پین های هدف | سنجاق ماهی مرکب کوچک |
پین اوت TPI |
پین 1 (TCK) | ساعت | 1 | 3 |
پین 2 (GND) | GND | 2 | 6 |
پین 3 (TDO) | داده ها | 3 | 1 |
پین 4 (VTG) | VTG | 4 | 2 |
پین 5 (TMS) | 5 |
پین 6 (nSRST) | /RESET | 6 | 5 |
پین 7 (وصل نیست) | 7 | ||
پین 8 (nTRST) | 8 | ||
پین 9 (TDI) | 9 | ||
پین 10 (GND) | 0 |
3.9 اتصال به هدف SWD
رابط ARM SWD زیر مجموعه ای از J استTAG رابط، استفاده از پین های TCK و TMS، به این معنی که هنگام اتصال به دستگاه SWD، 10 پین JTAG از نظر فنی می توان از کانکتور استفاده کرد. ARM JTAG و AVR JTAG با این حال، کانکتورها با پین سازگار نیستند، بنابراین این بستگی به چیدمان برد هدف در حال استفاده دارد. هنگام استفاده از STK600 یا بردی که از AVR J استفاده می کندTAG pinout، پورت اتصال AVR در Atmel-ICE باید استفاده شود. هنگام اتصال به یک برد، که از ARM J استفاده می کندTAG pinout، پورت اتصال SAM در Atmel-ICE باید استفاده شود.
پین اوت توصیه شده برای کانکتور 10 پین Cortex Debug در شکل 4-4 نشان داده شده است.
اتصال به هدر 10 پین 50 میلی کورتکس
از کابل تخت (که در برخی کیت ها موجود است) برای اتصال به هدر استاندارد Cortex 50 میلی استفاده کنید.
اتصال به هدر 10 پین 100 میلی کورتکس
از برد آداپتور (که در برخی کیت ها موجود است) برای اتصال به هدر Cortex-pinout 100 میلی استفاده کنید.
اتصال به هدر SAM 20 میلی 100 پین
از برد آداپتور (که در برخی کیت ها موجود است) برای اتصال به هدر SAM 20 میلی 100 پین استفاده کنید.
اتصال به یک هدر 100 میل سفارشی
کابل mini-squid 10 پین باید برای اتصال بین پورت اتصال Atmel-ICE AVR یا SAM و برد هدف استفاده شود. شش اتصال مورد نیاز است که در جدول زیر توضیح داده شده است.
جدول 3-8. نقشه برداری پین Atmel-ICE SWD
نام | AVR پین پورت | سام پین پورت | توضیحات |
SWDC LK | 1 | 4 | ساعت اشکال زدایی سیم سریال. |
SWDIO | 5 | 2 | ورودی/خروجی داده اشکال زدایی سیم سریال. |
SWO | 3 | 6 | خروجی سیم سریال (اختیاری- در همه دستگاه ها اجرا نمی شود). |
nSRST | 6 | 10 | بازنشانی کنید. |
VTG | 4 | 1 | جلد هدفtage مرجع. |
GND | 2، 10 | 3، 5، 9 | زمین. |
3.10 اتصال به رابط دروازه داده
Atmel-ICE از یک رابط دروازه داده محدود (DGI) در زمانی که اشکال زدایی و برنامه نویسی استفاده نمی شود پشتیبانی می کند. عملکرد مشابه با کیت های Atmel Xplained Pro است که توسط دستگاه Atmel EDBG ارائه می شود.
رابط دروازه داده یک رابط برای پخش داده ها از دستگاه مورد نظر به رایانه است. این به عنوان کمکی در اشکال زدایی برنامه و همچنین برای نمایش ویژگی های برنامه در حال اجرا بر روی دستگاه مورد نظر است.
DGI از چندین کانال برای جریان داده تشکیل شده است. Atmel-ICE از حالت های زیر پشتیبانی می کند:
- USART
- SPI
جدول 3-9. Atmel-ICE DGI USART Pinout
پورت AVR |
پورت SAM | پین DGI USART |
توضیحات |
3 | 6 | TX | پین را از Atmel-ICE به دستگاه مورد نظر انتقال دهید |
4 | 1 | VTG | جلد هدفtage (مرجع جلدtage) |
8 | 7 | RX | پین را از دستگاه هدف به Atmel-ICE دریافت کنید |
9 | 8 | CLK | ساعت USART |
2، 10 | 3، 5، 9 | GND | زمین |
جدول 3-10. Atmel-ICE DGI SPI Pinout
پورت AVR |
پورت SAM | پین DGI SPI |
توضیحات |
1 | 4 | SCK | ساعت SPI |
3 | 6 | میسو | استاد در بردگی بیرون |
4 | 1 | VTG | جلد هدفtage (مرجع جلدtage) |
5 | 2 | nCS | انتخاب تراشه فعال کم است |
9 | 8 | MOSI | Master Out Slave In |
2، 10 | 3، 5، 9 | GND | زمین |
مهم: رابط های SPI و USART نمی توانند به طور همزمان استفاده شوند.
مهم: DGI و برنامه نویسی یا اشکال زدایی نمی توانند به طور همزمان استفاده شوند.
اشکال زدایی روی تراشه
4.1 مقدمه
اشکال زدایی روی تراشه
ماژول اشکالزدایی روی تراشه سیستمی است که به توسعهدهنده اجازه میدهد تا بر روی یک دستگاه از یک پلتفرم توسعه خارجی نظارت و کنترل کند، معمولاً از طریق دستگاهی که به عنوان دیباگر یا آداپتور اشکالزدایی شناخته میشود.
با یک سیستم OCD، برنامه را می توان با حفظ مشخصات الکتریکی و زمان بندی دقیق در سیستم هدف اجرا کرد، در حالی که می توان اجرای را به صورت مشروط یا دستی متوقف کرد و جریان و حافظه برنامه را بازرسی کرد.
حالت اجرا
در حالت Run، اجرای کد کاملا مستقل از Atmel-ICE است. Atmel-ICE به طور مداوم دستگاه مورد نظر را کنترل می کند تا ببیند آیا یک وضعیت شکست رخ داده است یا خیر. هنگامی که این اتفاق می افتد، سیستم OCD دستگاه را از طریق رابط اشکال زدایی خود بازجویی می کند و به کاربر این امکان را می دهد view وضعیت داخلی دستگاه
حالت متوقف شده
با رسیدن به نقطه انفصال، اجرای برنامه متوقف می شود، اما برخی از ورودی/خروجی ها ممکن است به کار خود ادامه دهند، گویی هیچ نقطه انفصالی رخ نداده است. برای مثالampفرض کنید که یک ارسال USART به تازگی با رسیدن به نقطه شکست آغاز شده است. در این مورد USART با تکمیل انتقال با سرعت کامل به کار خود ادامه می دهد، حتی اگر هسته در حالت توقف است.
نقاط شکست سخت افزاری
ماژول OCD هدف شامل تعدادی مقایسه کننده شمارنده برنامه است که در سخت افزار پیاده سازی شده اند. هنگامی که شمارنده برنامه با مقدار ذخیره شده در یکی از رجیسترهای مقایسه کننده مطابقت دارد، OCD وارد حالت توقف می شود. از آنجایی که نقاط شکست سخت افزاری به سخت افزار اختصاصی روی ماژول OCD نیاز دارند، تعداد نقاط شکست موجود به اندازه ماژول OCD که روی هدف پیاده سازی شده است بستگی دارد. معمولاً یکی از این مقایسهکنندههای سختافزاری توسط دیباگر برای استفاده داخلی «رزرو» میشود.
نقاط شکست نرم افزار
نقطه شکست نرم افزار یک دستورالعمل BREAK است که در حافظه برنامه در دستگاه مورد نظر قرار می گیرد. هنگامی که این دستورالعمل بارگذاری می شود، اجرای برنامه شکسته می شود و OCD وارد حالت توقف می شود. برای ادامه اجرا باید یک دستور "شروع" از OCD داده شود. همه دستگاههای Atmel دارای ماژولهای OCD نیستند که از دستورالعمل BREAK پشتیبانی میکنند.
4.2 دستگاه های SAM با JTAG/SWD
همه دستگاه های SAM دارای رابط SWD برای برنامه نویسی و اشکال زدایی هستند. علاوه بر این، برخی از دستگاه های SAM دارای JTAG رابط با عملکرد یکسان برگه داده دستگاه را برای رابط های پشتیبانی شده آن دستگاه بررسی کنید.
4.2.1. کامپوننت های ARM CoreSight
میکروکنترلرهای مبتنی بر ARM Cortex-M Atmel اجزای OCD سازگار با CoreSight را پیاده سازی می کنند. ویژگی های این قطعات می تواند از دستگاهی به دستگاه دیگر متفاوت باشد. برای اطلاعات بیشتر به دیتاشیت دستگاه و همچنین اسناد CoreSight ارائه شده توسط ARM مراجعه کنید.
4.2.1. جیTAG رابط فیزیکی
جیTAG رابط شامل یک کنترلر 4 سیمی درگاه دسترسی تست (TAP) است که با IEEE مطابقت دارد.® استاندارد 1149.1. استاندارد IEEE برای ارائه یک روش استاندارد صنعتی برای آزمایش موثر اتصال برد مدار (اسکن مرزی) ایجاد شده است. دستگاه های Atmel AVR و SAM این قابلیت را گسترش داده اند تا پشتیبانی کامل از برنامه نویسی و اشکال زدایی روی تراشه را شامل شود.
شکل 4-1. جیTAG مبانی رابط
4.2.2.1 SAM JTAG Pinout (اتصال رفع اشکال Cortex-M)
هنگام طراحی یک PCB کاربردی که شامل Atmel SAM با JTAG رابط، توصیه می شود از pinout همانطور که در شکل زیر نشان داده شده است استفاده کنید. بسته به کابل کشی و آداپتورهای همراه با کیت خاص، هر دو نوع 100 و 50 میلی این پین اوت پشتیبانی می شوند.
شکل 4-2. سام جیTAG هدر پینوت
جدول 4-1. سام جیTAG پین توضیحات
نام | سنجاق |
توضیحات |
TCK | 4 | ساعت تست (سیگنال ساعت از Atmel-ICE به دستگاه مورد نظر). |
TMS | 2 | حالت تست را انتخاب کنید (سیگنال کنترل از Atmel-ICE به دستگاه مورد نظر). |
TDI | 8 | دادههای تست در (دادههایی که از Atmel-ICE به دستگاه هدف منتقل میشوند). |
TDO | 6 | خروجی دادهها (دادههایی که از دستگاه هدف به Atmel-ICE منتقل میشوند). |
nRESET | 10 | تنظیم مجدد (اختیاری). برای تنظیم مجدد دستگاه مورد نظر استفاده می شود. اتصال این پین توصیه می شود زیرا به Atmel-ICE اجازه می دهد تا دستگاه مورد نظر را در حالت تنظیم مجدد نگه دارد، که می تواند برای اشکال زدایی در سناریوهای خاص ضروری باشد. |
VTG | 1 | جلد هدفtage مرجع. Atmel-ICE samples the target voltage روی این پین به منظور تغذیه صحیح مبدل های سطح. Atmel-ICE در این حالت کمتر از 1 میلی آمپر از این پین می گیرد. |
GND | 3، 5، 9 | زمین. همه باید متصل شوند تا اطمینان حاصل شود که Atmel-ICE و دستگاه هدف از یک مرجع زمین مشترک استفاده می کنند. |
کلید | 7 | به صورت داخلی به پین TRST روی کانکتور AVR متصل می شود. توصیه می شود به عنوان متصل نیست. |
نکته: به یاد داشته باشید که یک خازن جداکننده بین پایه 1 و GND قرار دهید.
4.2.2.2 جیTAG دیزی زنجیر زدن
جیTAG رابط به چندین دستگاه اجازه می دهد تا به یک رابط واحد در پیکربندی زنجیره ای دیزی متصل شوند. دستگاه های مورد نظر باید همه از یک منبع تغذیه تغذیه شوندtage، یک گره زمین مشترک را به اشتراک بگذارید و باید همانطور که در شکل زیر نشان داده شده است متصل شود.
شکل 4-3. جیTAG زنجیر دیزی
هنگام اتصال دستگاه ها در یک زنجیر دیزی، نکات زیر باید در نظر گرفته شود:
- همه دستگاه ها باید یک زمین مشترک داشته باشند که به GND در پروب Atmel-ICE متصل است
- همه دستگاه ها باید روی یک حجم هدف کار کنندtagه. VTG در Atmel-ICE باید به این جلد متصل شودtage.
- TMS و TCK به صورت موازی متصل می شوند. TDI و TDO در یک سریال به هم متصل می شوند
- nSRST در پروب Atmel-ICE باید به RESET در دستگاه ها متصل شود اگر هر یک از دستگاه های زنجیره J خود را غیرفعال کند.TAG بندر
- «دستگاههای قبل» به تعداد J اشاره داردTAG دستگاه هایی که سیگنال TDI باید قبل از رسیدن به دستگاه مورد نظر در زنجیره دیزی از آنها عبور کند. به طور مشابه «دستگاههای بعد» تعداد دستگاههایی است که سیگنال باید پس از دستگاه هدف قبل از رسیدن به Atmel-ICE TDO از آنها عبور کند.
- «بیتهای دستورالعمل «قبل» و «بعد» به مجموع کل J اشاره داردTAG طول های ثبت دستورالعمل دستگاه ها، که قبل و بعد از دستگاه مورد نظر در زنجیره دیزی متصل می شوند
- طول کل IR (بیت های دستورالعمل قبل + طول دستگاه هدف Atmel IR + بیت های دستورالعمل بعد) حداکثر به 256 بیت محدود شده است. تعداد دستگاه های موجود در زنجیره به 15 دستگاه قبل و 15 دستگاه بعد محدود می شود.
نکته:
دیزی زنجیر سابقample: TDI → ATmega1280 → ATxmega128A1 → ATUC3A0512 → TDO.
به منظور اتصال به Atmel AVR XMEGA® دستگاه، تنظیمات زنجیره دیزی عبارتند از:
- دستگاه های قبل: 1
- دستگاه های بعد از: 1
- بیت های دستورالعمل قبل: 4 (دستگاه های AVR 8 بیتی دارای 4 بیت IR هستند)
- بیت های دستورالعمل بعد از: 5 (دستگاه های AVR 32 بیتی دارای 5 بیت IR هستند)
جدول 4-2. طول IR MCU های Atmel
نوع دستگاه | طول IR |
AVR 8 بیتی | 4 بیت |
AVR 32 بیتی | 5 بیت |
سام | 4 بیت |
4.2.3. اتصال به JTAG هدف
Atmel-ICE به دو J 50 پین 10 میل مجهز شده استTAG اتصال دهنده ها هر دو کانکتور مستقیماً به صورت الکتریکی متصل هستند، اما مطابق با دو پایه مختلف هستند. AVR JTAG هدر و هدر ARM Cortex Debug. کانکتور باید بر اساس پین اوت برد هدف انتخاب شود و نه بر اساس نوع MCU هدف - برای مثالampیک دستگاه SAM که در پشته AVR STK600 نصب شده است باید از هدر AVR استفاده کند.
پین اوت توصیه شده برای AVR J 10 پینTAG اتصال دهنده در شکل 4-6 نشان داده شده است.
پین اوت توصیه شده برای کانکتور 10 پین ARM Cortex Debug در شکل 4-2 نشان داده شده است.
اتصال مستقیم به یک هدر استاندارد 10 پین 50 میل
برای اتصال مستقیم به بردی که از این نوع هدر پشتیبانی می کند، از کابل تخت 50 پین 10 میل (که در برخی کیت ها موجود است) استفاده کنید. از پورت رابط AVR در Atmel-ICE برای هدرهایی با پین اوت AVR و درگاه اتصال SAM برای هدرهایی که با پین اوت هدر ARM Cortex Debug مطابقت دارند، استفاده کنید.
پینآوتهای هر دو پورت کانکتور 10 پین در زیر نشان داده شدهاند.
اتصال به هدر 10 پین استاندارد 100 میل
از یک آداپتور استاندارد 50 تا 100 میل برای اتصال به هدرهای 100 میل استفاده کنید. برای این منظور میتوان از یک برد آداپتور (که در برخی کیتها موجود است) یا بهطور جایگزین JTAGآداپتور ICE3 را می توان برای اهداف AVR استفاده کرد.
مهم:
جیTAGآداپتور 3 میلی ICE100 را نمی توان با درگاه اتصال SAM استفاده کرد، زیرا پایه های 2 و 10 (AVR GND) روی آداپتور متصل هستند.
اتصال به یک هدر 100 میل سفارشی
اگر برد هدف شما دارای J 10 پین سازگار نیستTAG هدر 50 یا 100 میل، میتوانید با استفاده از کابل 10 پین "mini-squid" (که در برخی کیتها موجود است)، که به ده سوکت 100 میلیمتری منفرد دسترسی پیدا میکند، به یک پینآوت سفارشی نگاشت کنید.
اتصال به هدر 20 پین 100 میل
از برد آداپتور (که در برخی کیت ها موجود است) برای اتصال به اهداف با هدر 20 میل 100 پین استفاده کنید.
جدول 4-3. Atmel-ICE JTAG پین توضیحات
نام | AVR پین پورت | سام پین پورت | توضیحات |
TCK | 1 | 4 | ساعت تست (سیگنال ساعت از Atmel-ICE به دستگاه مورد نظر). |
TMS | 5 | 2 | حالت تست را انتخاب کنید (سیگنال کنترل از Atmel-ICE به دستگاه مورد نظر). |
TDI | 9 | 8 | دادههای تست در (دادههایی که از Atmel-ICE به دستگاه هدف منتقل میشوند). |
TDO | 3 | 6 | خروجی دادهها (دادههایی که از دستگاه هدف به Atmel-ICE منتقل میشوند). |
nTRST | 8 | – | بازنشانی آزمایشی (اختیاری، فقط در برخی از دستگاههای AVR). برای تنظیم مجدد J استفاده می شودTAG کنترلر TAP |
nSRST | 6 | 10 | تنظیم مجدد (اختیاری). برای تنظیم مجدد دستگاه مورد نظر استفاده می شود. اتصال این پین توصیه می شود زیرا به Atmel-ICE اجازه می دهد تا دستگاه مورد نظر را در حالت تنظیم مجدد نگه دارد، که می تواند برای اشکال زدایی در سناریوهای خاص ضروری باشد. |
VTG | 4 | 1 | جلد هدفtage مرجع. Atmel-ICE samples the target voltage روی این پین به منظور تغذیه صحیح مبدل های سطح. Atmel-ICE در حالت debugWIRE کمتر از 3 میلی آمپر و در حالت های دیگر کمتر از 1 میلی آمپر از این پین می گیرد. |
GND | 2، 10 | 3، 5، 9 | زمین. همه باید متصل شوند تا اطمینان حاصل شود که Atmel-ICE و دستگاه هدف از یک مرجع زمین مشترک استفاده می کنند. |
4.2.4. رابط فیزیکی SWD
رابط ARM SWD زیر مجموعه ای از J استTAG رابط، با استفاده از پین های TCK و TMS. ARM JTAG و AVR JTAG با این حال، کانکتورها با پین سازگار نیستند، بنابراین هنگام طراحی یک PCB برنامه، که از یک دستگاه SAM با SWD یا J استفاده می کند.TAG رابط، توصیه می شود از پین اوت ARM نشان داده شده در شکل زیر استفاده کنید. پورت اتصال SAM در Atmel-ICE می تواند مستقیماً به این پین اوت متصل شود.
شکل 4-4. ARM SWD/J توصیه شدهTAG هدر پینوت
Atmel-ICE قادر است ردیابی ITM با فرمت UART را به کامپیوتر میزبان پخش کند. ردیابی روی پین TRACE/SWO هدر 10 پین ثبت می شود (JTAG پین TDO). داده ها به صورت داخلی در Atmel-ICE بافر می شوند و از طریق رابط HID به رایانه میزبان ارسال می شوند. حداکثر سرعت داده قابل اعتماد حدود 3 مگابایت بر ثانیه است.
4.2.5. اتصال به SWD Target
رابط ARM SWD زیر مجموعه ای از J استTAG رابط، استفاده از پین های TCK و TMS، به این معنی که هنگام اتصال به دستگاه SWD، 10 پین JTAG از نظر فنی می توان از کانکتور استفاده کرد. ARM JTAG و AVR JTAG با این حال، کانکتورها با پین سازگار نیستند، بنابراین این بستگی به چیدمان برد هدف در حال استفاده دارد. هنگام استفاده از STK600 یا بردی که از AVR J استفاده می کندTAG pinout، پورت اتصال AVR در Atmel-ICE باید استفاده شود. هنگام اتصال به یک برد، که از ARM J استفاده می کندTAG pinout، پورت اتصال SAM در Atmel-ICE باید استفاده شود.
پین اوت توصیه شده برای کانکتور 10 پین Cortex Debug در شکل 4-4 نشان داده شده است.
اتصال به هدر 10 پین 50 میلی کورتکس
از کابل تخت (که در برخی کیت ها موجود است) برای اتصال به هدر استاندارد Cortex 50 میلی استفاده کنید.
اتصال به هدر 10 پین 100 میلی کورتکس
از برد آداپتور (که در برخی کیت ها موجود است) برای اتصال به هدر Cortex-pinout 100 میلی استفاده کنید.
اتصال به هدر SAM 20 میلی 100 پین
از برد آداپتور (که در برخی کیت ها موجود است) برای اتصال به هدر SAM 20 میلی 100 پین استفاده کنید.
اتصال به یک هدر 100 میل سفارشی
کابل mini-squid 10 پین باید برای اتصال بین پورت اتصال Atmel-ICE AVR یا SAM و برد هدف استفاده شود. شش اتصال مورد نیاز است که در جدول زیر توضیح داده شده است.
جدول 4-4. نقشه برداری پین Atmel-ICE SWD
نام | AVR پین پورت | سام پین پورت | توضیحات |
SWDC LK | 1 | 4 | ساعت اشکال زدایی سیم سریال. |
SWDIO | 5 | 2 | ورودی/خروجی داده اشکال زدایی سیم سریال. |
SWO | 3 | 6 | خروجی سیم سریال (اختیاری- در همه دستگاه ها اجرا نمی شود). |
nSRST | 6 | 10 | بازنشانی کنید. |
VTG | 4 | 1 | جلد هدفtage مرجع. |
GND | 2، 10 | 3، 5، 9 | زمین. |
4.2.6 ملاحظات خاص
پین ERASE
برخی از دستگاههای SAM شامل یک پین ERASE هستند که برای پاک کردن کامل تراشه و باز کردن قفل دستگاههایی که بیت امنیتی روی آن تنظیم شده است، مشخص میشود. این ویژگی با خود دستگاه و همچنین کنترلر فلش همراه است و بخشی از هسته ARM نیست.
پین ERASE بخشی از هدر اشکالزدایی نیست و Atmel-ICE نمیتواند این سیگنال را برای باز کردن قفل دستگاه نشان دهد. در چنین مواردی، کاربر باید قبل از شروع جلسه اشکال زدایی، پاک کردن را به صورت دستی انجام دهد.
رابط های فیزیکی JTAG رابط کاربری
خط RESET همیشه باید متصل باشد تا Atmel-ICE بتواند J را فعال کندTAG رابط کاربری
رابط SWD
خط RESET باید همیشه متصل باشد تا Atmel-ICE بتواند رابط SWD را فعال کند.
4.3 دستگاه AVR UC3 با JTAG/یک سیم
تمام دستگاه های AVR UC3 دارای JTAG رابط برای برنامه نویسی و اشکال زدایی. علاوه بر این، برخی از دستگاه های AVR UC3 دارای رابط aWire با عملکرد یکسان با استفاده از یک سیم هستند. برگه داده دستگاه را برای رابط های پشتیبانی شده آن دستگاه بررسی کنید
4.3.1 Atmel AVR UC3 On-Chip Debug System
سیستم Atmel AVR UC3 OCD مطابق با استاندارد Nexus 2.0 (IEEE-ISTO 5001™-2003) طراحی شده است که یک استاندارد اشکال زدایی روی تراشه باز بسیار انعطاف پذیر و قدرتمند برای میکروکنترلرهای 32 بیتی است. از ویژگی های زیر پشتیبانی می کند:
- راه حل اشکال زدایی سازگار با Nexus
- OCD از هر سرعت CPU پشتیبانی می کند
- شش نقطه شکست سخت افزار شمارنده برنامه
- دو نقطه شکست داده
- نقاط شکست را می توان به عنوان نقاط مراقبت پیکربندی کرد
- نقاط شکست سخت افزاری را می توان برای ایجاد شکست در محدوده ها ترکیب کرد
- تعداد نامحدود نقاط شکست برنامه کاربر (با استفاده از BREAK)
- ردیابی شاخه شمارنده برنامه بلادرنگ، ردیابی داده، ردیابی فرآیند (فقط توسط دیباگرها با پورت ضبط ردیابی موازی پشتیبانی می شود)
برای اطلاعات بیشتر در مورد سیستم OCD AVR UC3، به دفترچه راهنمای مرجع فنی AVR32UC، واقع در www.atmel.com/uc3.
4.3.2. جیTAG رابط فیزیکی
جیTAG رابط شامل یک کنترلر 4 سیمی درگاه دسترسی تست (TAP) است که با IEEE مطابقت دارد.® استاندارد 1149.1. استاندارد IEEE برای ارائه یک روش استاندارد صنعتی برای آزمایش موثر اتصال برد مدار (اسکن مرزی) ایجاد شده است. دستگاه های Atmel AVR و SAM این قابلیت را گسترش داده اند تا پشتیبانی کامل از برنامه نویسی و اشکال زدایی روی تراشه را شامل شود.
شکل 4-5. جیTAG مبانی رابط
4.3.2.1 AVR JTAG پینوت
هنگام طراحی یک PCB برنامه کاربردی، که شامل Atmel AVR با JTAG رابط، توصیه می شود از pinout همانطور که در شکل زیر نشان داده شده است استفاده کنید. بسته به کابل کشی و آداپتورهای همراه با کیت خاص، هر دو نوع 100 و 50 میلی این پین اوت پشتیبانی می شوند.
شکل 4-6. AVR JTAG هدر پینوت
جدول 4-5. AVR JTAG پین توضیحات
نام | سنجاق |
توضیحات |
TCK | 1 | ساعت تست (سیگنال ساعت از Atmel-ICE به دستگاه مورد نظر). |
TMS | 5 | حالت تست را انتخاب کنید (سیگنال کنترل از Atmel-ICE به دستگاه مورد نظر). |
TDI | 9 | دادههای تست در (دادههایی که از Atmel-ICE به دستگاه هدف منتقل میشوند). |
TDO | 3 | خروجی دادهها (دادههایی که از دستگاه هدف به Atmel-ICE منتقل میشوند). |
nTRST | 8 | بازنشانی آزمایشی (اختیاری، فقط در برخی از دستگاههای AVR). برای تنظیم مجدد J استفاده می شودTAG کنترلر TAP |
nSRST | 6 | تنظیم مجدد (اختیاری). برای تنظیم مجدد دستگاه مورد نظر استفاده می شود. اتصال این پین توصیه می شود زیرا به Atmel-ICE اجازه می دهد تا دستگاه مورد نظر را در حالت تنظیم مجدد نگه دارد، که می تواند برای اشکال زدایی در سناریوهای خاص ضروری باشد. |
VTG | 4 | جلد هدفtage مرجع. Atmel-ICE samples the target voltage روی این پین به منظور تغذیه صحیح مبدل های سطح. Atmel-ICE در حالت debugWIRE کمتر از 3 میلی آمپر و در حالت های دیگر کمتر از 1 میلی آمپر از این پین می گیرد. |
GND | 2، 10 | زمین. هر دو باید متصل شوند تا اطمینان حاصل شود که Atmel-ICE و دستگاه مورد نظر مرجع زمین یکسانی دارند. |
نکته: به یاد داشته باشید که یک خازن جداکننده بین پایه 4 و GND قرار دهید.
4.3.2.2 جیTAG دیزی زنجیر زدن
جیTAG رابط به چندین دستگاه اجازه می دهد تا به یک رابط واحد در پیکربندی زنجیره ای دیزی متصل شوند. دستگاه های مورد نظر باید همه از یک منبع تغذیه تغذیه شوندtage، یک گره زمین مشترک را به اشتراک بگذارید و باید همانطور که در شکل زیر نشان داده شده است متصل شود.
شکل 4-7. جیTAG زنجیر دیزی
هنگام اتصال دستگاه ها در یک زنجیر دیزی، نکات زیر باید در نظر گرفته شود:
- همه دستگاه ها باید یک زمین مشترک داشته باشند که به GND در پروب Atmel-ICE متصل است
- همه دستگاه ها باید روی یک حجم هدف کار کنندtagه. VTG در Atmel-ICE باید به این جلد متصل شودtage.
- TMS و TCK به صورت موازی متصل می شوند. TDI و TDO در یک زنجیره سریال به هم متصل هستند.
- nSRST در پروب Atmel-ICE باید به RESET در دستگاه ها متصل شود اگر هر یک از دستگاه های زنجیره J خود را غیرفعال کند.TAG بندر
- «دستگاههای قبل» به تعداد J اشاره داردTAG دستگاه هایی که سیگنال TDI باید قبل از رسیدن به دستگاه مورد نظر در زنجیره دیزی از آنها عبور کند. به طور مشابه «دستگاههای بعد» تعداد دستگاههایی است که سیگنال باید پس از دستگاه هدف قبل از رسیدن به Atmel-ICE TDO از آنها عبور کند.
- «بیتهای دستورالعمل «قبل» و «بعد» به مجموع کل J اشاره داردTAG طول های ثبت دستورالعمل دستگاه ها، که قبل و بعد از دستگاه مورد نظر در زنجیره دیزی متصل می شوند
- طول کل IR (بیت های دستورالعمل قبل + طول دستگاه هدف Atmel IR + بیت های دستورالعمل بعد) حداکثر به 256 بیت محدود شده است. تعداد دستگاه های موجود در زنجیره به 15 دستگاه قبل و 15 دستگاه بعد محدود می شود.
نکته:
دیزی زنجیر سابقample: TDI → ATmega1280 → ATxmega128A1 → ATUC3A0512 → TDO.
به منظور اتصال به Atmel AVR XMEGA® دستگاه، تنظیمات زنجیره دیزی عبارتند از:
- دستگاه های قبل: 1
- دستگاه های بعد از: 1
- بیت های دستورالعمل قبل: 4 (دستگاه های AVR 8 بیتی دارای 4 بیت IR هستند)
- بیت های دستورالعمل بعد از: 5 (دستگاه های AVR 32 بیتی دارای 5 بیت IR هستند)
جدول 4-6. طول مادون قرمز Atmel MCUS
نوع دستگاه | طول IR |
AVR 8 بیتی | 4 بیت |
AVR 32 بیتی | 5 بیت |
سام | 4 بیت |
4.3.3. اتصال به JTAG هدف
Atmel-ICE به دو J 50 پین 10 میل مجهز شده استTAG اتصال دهنده ها هر دو کانکتور مستقیماً به صورت الکتریکی متصل هستند، اما مطابق با دو پایه مختلف هستند. AVR JTAG هدر و هدر ARM Cortex Debug. کانکتور باید بر اساس پین اوت برد هدف انتخاب شود و نه بر اساس نوع MCU هدف - برای مثالampیک دستگاه SAM که در پشته AVR STK600 نصب شده است باید از هدر AVR استفاده کند.
پین اوت توصیه شده برای AVR J 10 پینTAG اتصال دهنده در شکل 4-6 نشان داده شده است.
پین اوت توصیه شده برای کانکتور 10 پین ARM Cortex Debug در شکل 4-2 نشان داده شده است.
اتصال مستقیم به یک هدر استاندارد 10 پین 50 میل
برای اتصال مستقیم به بردی که از این نوع هدر پشتیبانی می کند، از کابل تخت 50 پین 10 میل (که در برخی کیت ها موجود است) استفاده کنید. از پورت رابط AVR در Atmel-ICE برای هدرهایی با پین اوت AVR و درگاه اتصال SAM برای هدرهایی که با پین اوت هدر ARM Cortex Debug مطابقت دارند، استفاده کنید.
پینآوتهای هر دو پورت کانکتور 10 پین در زیر نشان داده شدهاند.
اتصال به هدر 10 پین استاندارد 100 میل
از یک آداپتور استاندارد 50 تا 100 میل برای اتصال به هدرهای 100 میل استفاده کنید. برای این منظور میتوان از یک برد آداپتور (که در برخی کیتها موجود است) یا بهطور جایگزین JTAGآداپتور ICE3 را می توان برای اهداف AVR استفاده کرد.
مهم:
جیTAGآداپتور 3 میلی ICE100 را نمی توان با درگاه اتصال SAM استفاده کرد، زیرا پایه های 2 و 10 (AVR GND) روی آداپتور متصل هستند.
اتصال به یک هدر 100 میل سفارشی
اگر برد هدف شما دارای J 10 پین سازگار نیستTAG هدر 50 یا 100 میل، میتوانید با استفاده از کابل 10 پین "mini-squid" (که در برخی کیتها موجود است)، که به ده سوکت 100 میلیمتری منفرد دسترسی پیدا میکند، به یک پینآوت سفارشی نگاشت کنید.
اتصال به هدر 20 پین 100 میل
از برد آداپتور (که در برخی کیت ها موجود است) برای اتصال به اهداف با هدر 20 میل 100 پین استفاده کنید.
جدول 4-7. Atmel-ICE JTAG پین توضیحات
نام |
پین پورت AVR | پین پورت SAM |
توضیحات |
TCK | 1 | 4 | ساعت تست (سیگنال ساعت از Atmel-ICE به دستگاه مورد نظر). |
TMS | 5 | 2 | حالت تست را انتخاب کنید (سیگنال کنترل از Atmel-ICE به دستگاه مورد نظر). |
TDI | 9 | 8 | دادههای تست در (دادههایی که از Atmel-ICE به دستگاه هدف منتقل میشوند). |
TDO | 3 | 6 | خروجی دادهها (دادههایی که از دستگاه هدف به Atmel-ICE منتقل میشوند). |
nTRST | 8 | – | بازنشانی آزمایشی (اختیاری، فقط در برخی از دستگاههای AVR). برای تنظیم مجدد J استفاده می شودTAG کنترلر TAP |
nSRST | 6 | 10 | تنظیم مجدد (اختیاری). برای تنظیم مجدد دستگاه مورد نظر استفاده می شود. اتصال این پین توصیه می شود زیرا به Atmel-ICE اجازه می دهد تا دستگاه مورد نظر را در حالت تنظیم مجدد نگه دارد، که می تواند برای اشکال زدایی در سناریوهای خاص ضروری باشد. |
VTG | 4 | 1 | جلد هدفtage مرجع. Atmel-ICE samples the target voltage روی این پین به منظور تغذیه صحیح مبدل های سطح. Atmel-ICE در حالت debugWIRE کمتر از 3 میلی آمپر و در حالت های دیگر کمتر از 1 میلی آمپر از این پین می گیرد. |
GND | 2، 10 | 3، 5، 9 | زمین. همه باید متصل شوند تا اطمینان حاصل شود که Atmel-ICE و دستگاه هدف از یک مرجع زمین مشترک استفاده می کنند. |
4.3.4 رابط فیزیکی aWire
رابط aWire از سیم RESET دستگاه AVR استفاده می کند تا امکان برنامه ریزی و اشکال زدایی را فراهم کند. یک دنباله فعال سازی ویژه توسط Atmel-ICE منتقل می شود که عملکرد پیش فرض RESET پین را غیرفعال می کند. هنگام طراحی یک PCB برنامه کاربردی که شامل یک Atmel AVR با رابط aWire است، توصیه می شود از pinout همانطور که در شکل 4 نشان داده شده است استفاده کنید. -8. بسته به کابل کشی و آداپتورهای همراه با کیت خاص، هر دو نوع 100 و 50 میلی این پین اوت پشتیبانی می شوند.
شکل 4-8. aWire Header Pinout
نکته:
از آنجایی که aWire یک رابط نیمه دوبلکس است، برای جلوگیری از تشخیص کاذب بیت شروع در هنگام تغییر جهت، یک مقاومت کششی در خط RESET به ترتیب 47 کیلو اهم توصیه می شود.
رابط aWire را می توان هم به عنوان یک رابط برنامه نویسی و هم به عنوان رابط اشکال زدایی استفاده کرد. تمام ویژگی های سیستم OCD از طریق 10 پین J موجود استTAG رابط را می توان با استفاده از aWire نیز دسترسی داشت.
4.3.5 اتصال به aWire Target
رابط aWire فقط به یک خط داده علاوه بر V نیاز داردCC و GND. در هدف، این خط خط nRESET است، اگرچه دیباگر از J استفاده می کندTAG خط TDO به عنوان خط داده.
پین اوت توصیه شده برای کانکتور 6 پین aWire در شکل 4-8 نشان داده شده است.
اتصال به هدر 6 میلی aWire 100 پین
از شیر 6 پین 100 میلی روی کابل تخت (که در برخی کیت ها موجود است) برای اتصال به هدر استاندارد aWire 100 میلی استفاده کنید.
اتصال به هدر 6 میلی aWire 50 پین
از برد آداپتور (که در برخی کیت ها موجود است) برای اتصال به هدر استاندارد aWire 50 میلی استفاده کنید.
اتصال به یک هدر 100 میل سفارشی
کابل mini-squid 10 پین باید برای اتصال بین پورت اتصال Atmel-ICE AVR و برد هدف استفاده شود. سه اتصال مورد نیاز است که در جدول زیر توضیح داده شده است.
جدول 4-8. Atmel-ICE aWire Pin Mapping
پین های پورت Atmel-ICE AVR | پین های هدف | سنجاق ماهی مرکب کوچک |
پین اوت سیم |
پین 1 (TCK) | 1 | ||
پین 2 (GND) | GND | 2 | 6 |
پین 3 (TDO) | داده ها | 3 | 1 |
پین 4 (VTG) | VTG | 4 | 2 |
پین 5 (TMS) | 5 | ||
پین 6 (nSRST) | 6 | ||
پین 7 (وصل نیست) | 7 | ||
پین 8 (nTRST) | 8 | ||
پین 9 (TDI) | 9 | ||
پین 10 (GND) | 0 |
4.3.6. ملاحظات خاص
JTAG رابط کاربری
در برخی از دستگاه های Atmel AVR UC3 JTAG پورت به طور پیش فرض فعال نیست. هنگام استفاده از این دستگاه ها، اتصال خط RESET ضروری است تا Atmel-ICE بتواند J را فعال کندTAG رابط کاربری
رابط aWire
نرخ باود ارتباطات aWire به فرکانس ساعت سیستم بستگی دارد، زیرا داده ها باید بین این دو حوزه هماهنگ شوند. Atmel-ICE به طور خودکار تشخیص می دهد که ساعت سیستم کاهش یافته است و بر این اساس نرخ باود آن را مجددا کالیبره می کند. کالیبراسیون خودکار فقط تا فرکانس ساعت سیستم 8 کیلوهرتز کار می کند. جابجایی به ساعت سیستم پایین تر در طول جلسه اشکال زدایی ممکن است باعث از بین رفتن تماس با هدف شود.
در صورت نیاز، نرخ باود aWire را می توان با تنظیم پارامتر ساعت aWire محدود کرد. تشخیص خودکار همچنان کار خواهد کرد، اما یک مقدار سقف بر نتایج اعمال خواهد شد.
هر خازن تثبیت کننده متصل به پین RESET باید هنگام استفاده از aWire قطع شود زیرا در عملکرد صحیح رابط اختلال ایجاد می کند. یک کشش خارجی ضعیف (10kΩ یا بالاتر) در این خط توصیه می شود.
حالت خواب خاموش کردن
برخی از دستگاه های AVR UC3 دارای یک رگولاتور داخلی هستند که می تواند در حالت تغذیه 3.3 ولت با خطوط ورودی/خروجی تنظیم شده 1.8 ولت استفاده شود. این بدان معنی است که تنظیم کننده داخلی هم هسته و هم بیشتر I/O را تامین می کند. فقط Atmel AVR ONE! دیباگر هنگام استفاده از حالتهای خواب که این تنظیمکننده خاموش است، از اشکالزدایی پشتیبانی میکند.
4.3.7. استفاده از EVTI / EVTO
پین های EVTI و EVTO در Atmel-ICE قابل دسترسی نیستند. با این حال، آنها هنوز هم می توانند همراه با سایر تجهیزات خارجی استفاده شوند.
EVTI می تواند برای اهداف زیر استفاده شود:
- هدف را می توان در پاسخ به یک رویداد خارجی مجبور به توقف اجرا کرد. اگر بیت های Event In Control (EIC) در رجیستر DC روی 0b01 نوشته شوند، انتقال زیاد به پایین روی پایه EVTI یک شرط نقطه شکست ایجاد می کند. EVTI باید برای یک سیکل ساعت CPU پایین بماند تا تضمین شود که یک نقطه شکست است. بیت نقطه انفصال خارجی (EXB) در DS زمانی تنظیم می شود که این اتفاق می افتد.
- ایجاد پیام های همگام سازی ردیابی توسط Atmel-ICE استفاده نمی شود.
EVTO را می توان برای اهداف زیر استفاده کرد:
- نشان می دهد که CPU وارد اشکال زدایی شده است تنظیم بیت های EOS در DC روی 0b01 باعث می شود وقتی دستگاه مورد نظر وارد حالت اشکال زدایی می شود، پین EVTO برای یک سیکل ساعت CPU پایین کشیده شود. این سیگنال می تواند به عنوان منبع ماشه ای برای یک اسیلوسکوپ خارجی استفاده شود.
- نشان می دهد که CPU به نقطه شکست یا نقطه نظارت رسیده است. با تنظیم بیت EOC در یک رجیستر کنترل نقطه انفصال/نقطه مراقبت مربوطه، وضعیت نقطه شکست یا نقطه مراقبت روی پین EVTO نشان داده می شود. بیت های EOS در DC باید روی 0xb10 تنظیم شوند تا این ویژگی فعال شود. سپس پین EVTO را می توان به یک اسیلوسکوپ خارجی وصل کرد تا نقطه مراقبت را بررسی کند
- تولید سیگنال های زمان بندی ردیابی توسط Atmel-ICE استفاده نمی شود.
4.4 دستگاه tinyAVR، megaAVR و XMEGA
دستگاه های AVR دارای رابط های برنامه نویسی و اشکال زدایی مختلفی هستند. برگه داده دستگاه را برای رابط های پشتیبانی شده آن دستگاه بررسی کنید.
- مقداری tinyAVR® دستگاههای دارای TPI TPI فقط برای برنامهنویسی دستگاه قابل استفاده هستند و این دستگاهها اصلاً قابلیت اشکالزدایی روی تراشه را ندارند.
- برخی از دستگاه های tinyAVR و برخی از دستگاه های megaAVR دارای رابط debugWIRE هستند که به یک سیستم اشکال زدایی روی تراشه معروف به tinyOCD متصل می شود. همه دستگاه های دارای debugWIRE همچنین دارای رابط SPI برای درون سیستم هستند
- برخی از دستگاه های megaAVR دارای J هستندTAG رابط برای برنامه نویسی و اشکال زدایی، با یک سیستم اشکال زدایی روی تراشه که به نام همه دستگاه های دارای J نیز شناخته می شودTAG همچنین رابط SPI را به عنوان یک رابط جایگزین برای برنامه نویسی درون سیستمی مشخص کنید.
- همه دستگاه های AVR XMEGA دارای رابط PDI برای برنامه نویسی هستند و برخی از دستگاه های AVR XMEGA دارای JTAG رابط با عملکرد یکسان
- دستگاه های جدید tinyAVR دارای رابط UPDI هستند که برای برنامه نویسی و اشکال زدایی استفاده می شود
جدول 4-9. خلاصه برنامه نویسی و اشکال زدایی رابط ها
|
UPDI | TPI | SPI | debugWIR E | JTAG | PDI | یک سیم |
SWD |
tinyAVR | دستگاه های جدید | برخی از دستگاه ها | برخی از دستگاه ها | برخی از دستگاه ها | ||||
megaAV R | همه دستگاه ها | برخی از دستگاه ها | برخی از دستگاه ها | |||||
AVR XMEGA | برخی از دستگاه ها | همه دستگاه ها | ||||||
AVR UC | همه دستگاه ها | برخی از دستگاه ها | ||||||
سام | برخی از دستگاه ها | همه دستگاه ها |
4.4.1. جیTAG رابط فیزیکی
جیTAG رابط شامل یک کنترلر 4 سیمی درگاه دسترسی تست (TAP) است که با IEEE مطابقت دارد.® استاندارد 1149.1. استاندارد IEEE برای ارائه یک روش استاندارد صنعتی برای آزمایش موثر اتصال برد مدار (اسکن مرزی) ایجاد شده است. دستگاه های Atmel AVR و SAM این قابلیت را گسترش داده اند تا پشتیبانی کامل از برنامه نویسی و اشکال زدایی روی تراشه را شامل شود.
شکل 4-9. جیTAG مبانی رابط4.4.2. اتصال به JTAG هدف
Atmel-ICE به دو J 50 پین 10 میل مجهز شده استTAG اتصال دهنده ها هر دو کانکتور مستقیماً به صورت الکتریکی متصل هستند، اما مطابق با دو پایه مختلف هستند. AVR JTAG هدر و هدر ARM Cortex Debug. کانکتور باید بر اساس پین اوت برد هدف انتخاب شود و نه بر اساس نوع MCU هدف - برای مثالampیک دستگاه SAM که در پشته AVR STK600 نصب شده است باید از هدر AVR استفاده کند.
پین اوت توصیه شده برای AVR J 10 پینTAG اتصال دهنده در شکل 4-6 نشان داده شده است.
پین اوت توصیه شده برای کانکتور 10 پین ARM Cortex Debug در شکل 4-2 نشان داده شده است.
اتصال مستقیم به یک هدر استاندارد 10 پین 50 میل
برای اتصال مستقیم به بردی که از این نوع هدر پشتیبانی می کند، از کابل تخت 50 پین 10 میل (که در برخی کیت ها موجود است) استفاده کنید. از پورت رابط AVR در Atmel-ICE برای هدرهایی با پین اوت AVR و درگاه اتصال SAM برای هدرهایی که با پین اوت هدر ARM Cortex Debug مطابقت دارند، استفاده کنید.
پینآوتهای هر دو پورت کانکتور 10 پین در زیر نشان داده شدهاند.
اتصال به هدر 10 پین استاندارد 100 میل
از یک آداپتور استاندارد 50 تا 100 میل برای اتصال به هدرهای 100 میل استفاده کنید. برای این منظور میتوان از یک برد آداپتور (که در برخی کیتها موجود است) یا بهطور جایگزین JTAGآداپتور ICE3 را می توان برای اهداف AVR استفاده کرد.
مهم:
جیTAGآداپتور 3 میلی ICE100 را نمی توان با درگاه اتصال SAM استفاده کرد، زیرا پایه های 2 و 10 (AVR GND) روی آداپتور متصل هستند.
اتصال به یک هدر 100 میل سفارشی
اگر برد هدف شما دارای J 10 پین سازگار نیستTAG هدر 50 یا 100 میل، میتوانید با استفاده از کابل 10 پین "mini-squid" (که در برخی کیتها موجود است)، که به ده سوکت 100 میلیمتری منفرد دسترسی پیدا میکند، به یک پینآوت سفارشی نگاشت کنید.
اتصال به هدر 20 پین 100 میل
از برد آداپتور (که در برخی کیت ها موجود است) برای اتصال به اهداف با هدر 20 میل 100 پین استفاده کنید.
جدول 4-10. Atmel-ICE JTAG پین توضیحات
نام | AVR پین پورت | سام پین پورت | توضیحات |
TCK | 1 | 4 | ساعت تست (سیگنال ساعت از Atmel-ICE به دستگاه مورد نظر). |
TMS | 5 | 2 | حالت تست را انتخاب کنید (سیگنال کنترل از Atmel-ICE به دستگاه مورد نظر). |
TDI | 9 | 8 | دادههای تست در (دادههایی که از Atmel-ICE به دستگاه هدف منتقل میشوند). |
TDO | 3 | 6 | خروجی دادهها (دادههایی که از دستگاه هدف به Atmel-ICE منتقل میشوند). |
nTRST | 8 | – | بازنشانی آزمایشی (اختیاری، فقط در برخی از دستگاههای AVR). برای تنظیم مجدد J استفاده می شودTAG کنترلر TAP |
nSRST | 6 | 10 | تنظیم مجدد (اختیاری). برای تنظیم مجدد دستگاه مورد نظر استفاده می شود. اتصال این پین توصیه می شود زیرا به Atmel-ICE اجازه می دهد تا دستگاه مورد نظر را در حالت تنظیم مجدد نگه دارد، که می تواند برای اشکال زدایی در سناریوهای خاص ضروری باشد. |
VTG | 4 | 1 | جلد هدفtage مرجع. Atmel-ICE samples the target voltage روی این پین به منظور تغذیه صحیح مبدل های سطح. Atmel-ICE در حالت debugWIRE کمتر از 3 میلی آمپر و در حالت های دیگر کمتر از 1 میلی آمپر از این پین می گیرد. |
GND | 2، 10 | 3، 5، 9 | زمین. همه باید متصل شوند تا اطمینان حاصل شود که Atmel-ICE و دستگاه هدف از یک مرجع زمین مشترک استفاده می کنند. |
4.4.3.رابط فیزیکی SPI
برنامه نویسی درون سیستم از SPI داخلی Atmel AVR (رابط سریال جانبی) برای دانلود کد در حافظه های فلش و EEPROM استفاده می کند. این یک رابط اشکال زدایی نیست. هنگام طراحی یک PCB برنامه که شامل یک AVR با رابط SPI است، باید از پین اوت همانطور که در شکل زیر نشان داده شده است استفاده شود.
شکل 4-10. پینوت سرصفحه SPI4.4.4. اتصال به یک هدف SPI
پین اوت توصیه شده برای اتصال 6 پین SPI در شکل 4-10 نشان داده شده است.
اتصال به هدر SPI 6 میلی 100 پین
برای اتصال به هدر SPI استاندارد 6 میل از شیر 100 پین 100 میلی روی کابل تخت (که در برخی کیت ها موجود است) استفاده کنید.
اتصال به هدر SPI 6 میلی 50 پین
از برد آداپتور (که در برخی کیت ها موجود است) برای اتصال به هدر SPI استاندارد 50 میلی استفاده کنید.
اتصال به یک هدر 100 میل سفارشی
کابل mini-squid 10 پین باید برای اتصال بین پورت اتصال Atmel-ICE AVR و برد هدف استفاده شود. شش اتصال مورد نیاز است که در جدول زیر توضیح داده شده است.
مهم:
رابط SPI به طور موثر زمانی غیرفعال می شود که فیوز فعال debugWIRE (DWEN) برنامه ریزی شده باشد، حتی اگر فیوز SPIEN نیز برنامه ریزی شده باشد. برای فعال کردن مجدد رابط SPI، دستور 'disable debugWIRE' باید در جلسه اشکال زدایی debugWIRE صادر شود. غیرفعال کردن debugWIRE به این روش مستلزم آن است که فیوز SPIEN از قبل برنامه ریزی شده باشد. اگر Atmel Studio نتواند debugWIRE را غیرفعال کند، این احتمال وجود دارد که فیوز SPIEN برنامه ریزی نشده باشد. در این صورت استفاده از حجم بالا ضروری استtagرابط برنامه نویسی برای برنامه ریزی فیوز SPIEN.
اطلاعات:
رابط SPI اغلب به عنوان "ISP" شناخته می شود، زیرا اولین رابط برنامه نویسی سیستم در محصولات Atmel AVR بود. سایر رابطها اکنون برای برنامهنویسی سیستم در دسترس هستند.
جدول 4-11. نقشه برداری پین Atmel-ICE SPI
پین های پورت Atmel-ICE AVR | پین های هدف | سنجاق ماهی مرکب کوچک |
پین اوت SPI |
پین 1 (TCK) | SCK | 1 | 3 |
پین 2 (GND) | GND | 2 | 6 |
پین 3 (TDO) | میسو | 3 | 1 |
پین 4 (VTG) | VTG | 4 | 2 |
پین 5 (TMS) | 5 | ||
پین 6 (nSRST) | /RESET | 6 | 5 |
پین 7 (وصل نیست) | 7 | ||
پین 8 (nTRST) | 8 | ||
پین 9 (TDI) | MOSI | 9 | 4 |
پین 10 (GND) | 0 |
4.4.5. PDI
رابط برنامه و اشکال زدایی (PDI) یک رابط اختصاصی Atmel برای برنامه نویسی خارجی و اشکال زدایی روی تراشه یک دستگاه است. PDI Physical یک رابط 2 پین است که یک ارتباط همزمان نیمه دوطرفه دو طرفه با دستگاه مورد نظر را فراهم می کند.
هنگام طراحی یک PCB کاربردی که شامل یک Atmel AVR با رابط PDI است، باید از پین اوت نشان داده شده در شکل زیر استفاده شود. سپس می توان از یکی از آداپتورهای 6 پین ارائه شده با کیت Atmel-ICE برای اتصال پروب Atmel-ICE به PCB برنامه استفاده کرد.
شکل 4-11. پین اوت هدر PDI4.4.6. اتصال به یک هدف PDI
پین اوت توصیه شده برای کانکتور 6 پین PDI در شکل 4-11 نشان داده شده است.
اتصال به هدر 6 پین 100 میلی PDI
از شیر 6 پین 100 میلی روی کابل تخت (که در برخی کیت ها موجود است) برای اتصال به یک هدر PDI استاندارد 100 میلی استفاده کنید.
اتصال به هدر 6 پین 50 میلی PDI
از برد آداپتور (که در برخی کیت ها موجود است) برای اتصال به هدر PDI استاندارد 50 میلی استفاده کنید.
اتصال به یک هدر 100 میل سفارشی
کابل mini-squid 10 پین باید برای اتصال بین پورت اتصال Atmel-ICE AVR و برد هدف استفاده شود. چهار اتصال مورد نیاز است که در جدول زیر توضیح داده شده است.
مهم:
پین اوت مورد نیاز با J متفاوت استTAGICE mkII JTAG کاوشگر، جایی که PDI_DATA به پین 9 متصل است. Atmel-ICE با پین اوت استفاده شده توسط Atmel-ICE، J سازگار است.TAGICE3، AVR ONE!، و AVR Dragon™ محصولات
جدول 4-12. نقشه برداری پین Atmel-ICE PDI
پین پورت Atmel-ICE AVR |
پین های هدف | سنجاق ماهی مرکب کوچک |
پین اوت Atmel STK600 PDI |
پین 1 (TCK) | 1 | ||
پین 2 (GND) | GND | 2 | 6 |
پین 3 (TDO) | PDI_DATA | 3 | 1 |
پین 4 (VTG) | VTG | 4 | 2 |
پین 5 (TMS) | 5 | ||
پین 6 (nSRST) | PDI_CLK | 6 | 5 |
پین 7 (وصل نیست) | 7 | ||
پین 8 (nTRST) | 8 | ||
پین 9 (TDI) | 9 | ||
پین 10 (GND) | 0 |
4.4.7. رابط فیزیکی UPDI
Unified Program and Debug Interface (UPDI) یک رابط اختصاصی Atmel برای برنامه نویسی خارجی و اشکال زدایی روی تراشه یک دستگاه است. این جانشین رابط فیزیکی 2 سیم PDI است که در تمام دستگاه های AVR XMEGA یافت می شود. UPDI یک رابط تک سیمی است که یک ارتباط ناهمزمان نیمه دوطرفه دو طرفه با دستگاه مورد نظر برای اهداف برنامه نویسی و اشکال زدایی فراهم می کند.
هنگام طراحی PCB برنامه، که شامل Atmel AVR با رابط UPDI است، باید از پینآوت نشان داده شده در زیر استفاده شود. سپس می توان از یکی از آداپتورهای 6 پین ارائه شده با کیت Atmel-ICE برای اتصال پروب Atmel-ICE به PCB برنامه استفاده کرد.
شکل 4-12. Pinout سرصفحه UPDI4.4.7.1 UPDI و /RESET
رابط یک سیم UPDI بسته به دستگاه AVR مورد نظر می تواند یک پین اختصاصی یا یک پایه مشترک باشد. برای اطلاعات بیشتر به دیتاشیت دستگاه مراجعه کنید.
وقتی رابط UPDI روی یک پین مشترک است، با تنظیم فیوزهای RSTPINCFG[1:0]، پین را میتوان به صورت UPDI، /RESET یا GPIO پیکربندی کرد.
فیوزهای RSTPINCFG[1:0] دارای تنظیمات زیر هستند، همانطور که در دیتاشیت توضیح داده شده است. مفاهیم عملی هر انتخاب در اینجا آورده شده است.
جدول 4-13. RSTPINCFG[1:0] پیکربندی فیوز
RSTPINCFG [1:0] | پیکربندی |
استفاده |
00 | GPIO | پین ورودی/خروجی عمومی. برای دسترسی به UPDI باید یک پالس 12 ولت به این پین اعمال شود. هیچ منبع بازنشانی خارجی در دسترس نیست. |
01 | UPDI | پین برنامه نویسی و اشکال زدایی اختصاصی. هیچ منبع بازنشانی خارجی در دسترس نیست. |
10 | بازنشانی کنید | بازنشانی سیگنال ورودی برای دسترسی به UPDI باید یک پالس 12 ولت به این پین اعمال شود. |
11 | رزرو شده است | NA |
توجه: دستگاه های قدیمی AVR دارای یک رابط برنامه نویسی هستند که به عنوان "High-Vol" شناخته می شودtagبرنامه نویسی e» (هر دو نوع سریال و موازی وجود دارد.) به طور کلی این رابط به 12 ولت نیاز دارد که در طول جلسه برنامه نویسی روی پین /RESET اعمال شود. رابط UPDI یک رابط کاملا متفاوت است. پین UPDI در درجه اول یک پایه برنامه نویسی و اشکال زدایی است که می تواند برای داشتن یک تابع جایگزین (/RESET یا GPIO) ترکیب شود. اگر عملکرد جایگزین انتخاب شده باشد، یک پالس 12 ولت روی آن پین لازم است تا عملکرد UPDI دوباره فعال شود.
توجه: اگر طراحی به دلیل محدودیت های پین نیاز به اشتراک گذاری سیگنال UPDI داشته باشد، باید اقداماتی را انجام داد تا اطمینان حاصل شود که دستگاه می تواند برنامه ریزی شود. برای اطمینان از اینکه سیگنال UPDI می تواند به درستی کار کند و همچنین برای جلوگیری از آسیب به اجزای خارجی ناشی از پالس 12 ولت، توصیه می شود هنگام تلاش برای اشکال زدایی یا برنامه ریزی دستگاه، اجزای این پین را جدا کنید. این را می توان با استفاده از یک مقاومت 0Ω انجام داد که به طور پیش فرض نصب می شود و در حین اشکال زدایی با یک هدر پین حذف یا جایگزین می شود. این پیکربندی به طور موثر به این معنی است که برنامه ریزی باید قبل از نصب دستگاه انجام شود.
مهم: Atmel-ICE از 12 ولت در خط UPDI پشتیبانی نمی کند. به عبارت دیگر، اگر پین UPDI به عنوان GPIO یا RESET پیکربندی شده باشد، Atmel-ICE قادر نخواهد بود رابط UPDI را فعال کند.
4.4.8. اتصال به یک هدف UPDI
پین اوت توصیه شده برای اتصال 6 پین UPDI در شکل 4-12 نشان داده شده است.
اتصال به هدر UPDI 6 میلی 100 پین
برای اتصال به هدر استاندارد UPDI 6 میل، از شیر 100 پین 100 میلی روی کابل تخت (که در برخی کیت ها موجود است) استفاده کنید.
اتصال به هدر UPDI 6 میلی 50 پین
از برد آداپتور (که در برخی کیت ها موجود است) برای اتصال به یک هدر استاندارد UPDI 50 میلی استفاده کنید.
اتصال به یک هدر 100 میل سفارشی
کابل mini-squid 10 پین باید برای اتصال بین پورت اتصال Atmel-ICE AVR و برد هدف استفاده شود. سه اتصال مورد نیاز است که در جدول زیر توضیح داده شده است.
جدول 4-14. نقشه برداری پین Atmel-ICE UPDI
پین پورت Atmel-ICE AVR | پین های هدف | سنجاق ماهی مرکب کوچک |
پین اوت Atmel STK600 UPDI |
پین 1 (TCK) | 1 | ||
پین 2 (GND) | GND | 2 | 6 |
پین 3 (TDO) | UPDI_DATA | 3 | 1 |
پین 4 (VTG) | VTG | 4 | 2 |
پین 5 (TMS) | 5 | ||
پین 6 (nSRST) | [/تنظیم مجدد حس] | 6 | 5 |
پین 7 (وصل نیست) | 7 | ||
پین 8 (nTRST) | 8 | ||
پین 9 (TDI) | 9 | ||
پین 10 (GND) | 0 |
4.4.9 رابط فیزیکی TPI
TPI یک رابط فقط برنامه نویسی برای برخی از دستگاه های AVR ATtiny است. این یک رابط اشکال زدایی نیست و این دستگاه ها قابلیت OCD را ندارند. هنگام طراحی یک PCB کاربردی که شامل یک AVR با رابط TPI است، باید از پین اوت نشان داده شده در شکل زیر استفاده شود.
شکل 4-13. Pinout سرصفحه TPI4.4.10. اتصال به یک هدف TPI
پین اوت توصیه شده برای اتصال 6 پین TPI در شکل 4-13 نشان داده شده است.
اتصال به هدر TPI 6 میلی 100 پین
برای اتصال به هدر TPI استاندارد 6 میل از شیر 100 پین 100 میلی روی کابل تخت (که در برخی کیت ها موجود است) استفاده کنید.
اتصال به هدر TPI 6 میلی 50 پین
از برد آداپتور (که در برخی کیت ها موجود است) برای اتصال به هدر استاندارد TPI 50 میلی استفاده کنید.
اتصال به یک هدر 100 میل سفارشی
کابل mini-squid 10 پین باید برای اتصال بین پورت اتصال Atmel-ICE AVR و برد هدف استفاده شود. شش اتصال مورد نیاز است که در جدول زیر توضیح داده شده است.
جدول 4-15. نقشه برداری پین Atmel-ICE TPI
پین های پورت Atmel-ICE AVR | پین های هدف | سنجاق ماهی مرکب کوچک |
پین اوت TPI |
پین 1 (TCK) | ساعت | 1 | 3 |
پین 2 (GND) | GND | 2 | 6 |
پین 3 (TDO) | داده ها | 3 | 1 |
پین 4 (VTG) | VTG | 4 | 2 |
پین 5 (TMS) | 5 | ||
پین 6 (nSRST) | /RESET | 6 | 5 |
پین 7 (وصل نیست) | 7 | ||
پین 8 (nTRST) | 8 | ||
پین 9 (TDI) | 9 | ||
پین 10 (GND) | 0 |
4.4.11. اشکال زدایی پیشرفته (AVR JTAG دستگاه های /debugWIRE)
لوازم جانبی ورودی/خروجی
اکثر دستگاه های جانبی ورودی/خروجی به کار خود ادامه می دهند حتی اگر اجرای برنامه توسط یک نقطه شکست متوقف شود. سابقample: اگر در حین انتقال UART به نقطه شکست رسید، انتقال تکمیل شده و بیت های مربوطه تنظیم می شود. پرچم TXC (انتقال کامل) تنظیم میشود و در مرحله بعدی کد در دسترس خواهد بود، حتی اگر معمولاً بعداً در یک دستگاه واقعی اتفاق میافتد.
همه ماژول های ورودی/خروجی با دو استثنا زیر در حالت توقف اجرا می شوند:
- تایمر / شمارنده (قابل تنظیم با استفاده از نرم افزار جلویی)
- تایمر Watchdog (همیشه برای جلوگیری از بازنشانی در هنگام اشکال زدایی متوقف می شود)
دسترسی I/O تک پله ای
از آنجایی که ورودی/خروجی در حالت متوقف شده به کار خود ادامه می دهد، باید مراقب باشید تا از برخی مشکلات زمان بندی جلوگیری شود. برای مثالample، کد:
هنگام اجرای این کد به طور معمول، رجیستر TEMP نمی تواند 0xAA را بازخوانی کند، زیرا داده ها هنوز به طور فیزیکی به پین متصل نشده اند.ampبه رهبری عملیات IN. یک دستور NOP باید بین دستورالعمل OUT و IN قرار داده شود تا اطمینان حاصل شود که مقدار صحیح در رجیستر PIN وجود دارد.
با این حال، هنگامی که این تابع را از طریق OCD تک پله میکنید، این کد همیشه 0xAA را در رجیستر پین میدهد، زیرا I/O با سرعت کامل اجرا میشود، حتی زمانی که هسته در طول یک پله متوقف شود.
تک پله و زمان بندی
پس از فعال کردن سیگنال کنترل، برخی از رجیسترها باید در یک تعداد چرخه معین خوانده یا نوشته شوند. از آنجایی که ساعت ورودی/خروجی و تجهیزات جانبی در حالت توقف با سرعت کامل به کار خود ادامه میدهند، تنها گام برداشتن در چنین کدی الزامات زمانبندی را برآورده نمیکند. بین دو مرحله واحد، ساعت I/O ممکن است میلیونها چرخه را اجرا کرده باشد. برای خواندن یا نوشتن موفقیت آمیز رجیسترها با چنین الزامات زمانی، کل دنباله خواندن یا نوشتن باید به عنوان یک عملیات اتمی که دستگاه را با سرعت کامل اجرا می کند، انجام شود. این را می توان با استفاده از یک ماکرو یا فراخوانی تابع برای اجرای کد یا استفاده از تابع run-to-cursor در محیط اشکال زدایی انجام داد.
دسترسی به رجیسترهای 16 بیتی
لوازم جانبی Atmel AVR معمولاً شامل چندین ثبات 16 بیتی است که می توان از طریق گذرگاه داده 8 بیتی (به عنوان مثال: TCNTn یک تایمر 16 بیتی) به آنها دسترسی پیدا کرد. ثبت 16 بیتی باید با استفاده از دو عملیات خواندن یا نوشتن بایت قابل دسترسی باشد. شکستن در وسط یک دسترسی 16 بیتی یا یک گام در این وضعیت ممکن است منجر به مقادیر اشتباه شود.
دسترسی محدود به ثبت ورودی/خروجی
برخی از رجیسترها بدون تأثیر بر محتوای آنها قابل خواندن نیستند. این رجیسترها شامل مواردی هستند که حاوی پرچم هایی هستند که با خواندن پاک می شوند، یا رجیسترهای داده بافر شده (مانند UDR). قسمت جلویی نرم افزار از خواندن این رجیسترها در حالت توقف جلوگیری می کند تا ماهیت غیر مزاحم اشکال زدایی OCD حفظ شود. بهعلاوه، برخی از ثباتها را نمیتوان بدون ایجاد عوارض جانبی بهطور ایمن نوشت - این ثباتها فقط خواندنی هستند. برای مثالampدر:
- ثبتهای پرچم، که در آن پرچم با نوشتن «1» روی هر یک پاک میشود. این ثبتها فقط خواندنی هستند.
- رجیسترهای UDR و SPDR بدون تأثیر بر وضعیت ماژول قابل خواندن نیستند. این رجیسترها نیستند
4.4.12. ملاحظات ویژه megaAVR
نقاط شکست نرم افزار
از آنجایی که شامل نسخه اولیه ماژول OCD است، ATmega128[A] از استفاده از دستورالعمل BREAK برای نقاط شکست نرم افزار پشتیبانی نمی کند.
JTAG ساعت
قبل از شروع جلسه اشکال زدایی، فرکانس ساعت هدف باید به طور دقیق در قسمت جلویی نرم افزار مشخص شود. به دلایل همگام سازی، JTAG سیگنال TCK باید کمتر از یک چهارم فرکانس ساعت هدف برای اشکال زدایی قابل اعتماد باشد. هنگام برنامه نویسی از طریق JTAG رابط، فرکانس TCK توسط حداکثر رتبه فرکانس دستگاه مورد نظر محدود می شود و نه فرکانس ساعت واقعی استفاده می شود.
هنگام استفاده از نوسان ساز داخلی RC، توجه داشته باشید که فرکانس ممکن است از دستگاهی به دستگاه دیگر متفاوت باشد و تحت تأثیر دما و V است.CC تغییر می کند. هنگام تعیین فرکانس ساعت هدف محافظه کار باشید.
JTAGفیوزهای EN و OCDEN
جیTAG رابط با استفاده از J فعال می شودTAGفیوز EN که به طور پیش فرض برنامه ریزی شده است. این امکان دسترسی به JTAG رابط برنامه نویسی از طریق این مکانیسم، فیوز OCDEN را می توان برنامه ریزی کرد (به طور پیش فرض OCDEN برنامه ریزی نشده است). این امکان دسترسی به OCD را به منظور تسهیل اشکال زدایی دستگاه فراهم می کند. بخش جلویی نرمافزار همیشه اطمینان حاصل میکند که فیوز OCDEN هنگام خاتمه یک جلسه برنامهریزی نشده باقی میماند و در نتیجه مصرف انرژی غیر ضروری توسط ماژول OCD را محدود میکند. اگر جیTAGفیوز EN به طور ناخواسته غیرفعال شده است، فقط با استفاده از SPI یا High Vol می توان آن را دوباره فعال کردtagروش های برنامه نویسی الکترونیکی
اگر جیTAGفیوز EN برنامه ریزی شده است، JTAG رابط را همچنان می توان با تنظیم بیت JTD در سیستم عامل غیرفعال کرد. این کار کد را غیر قابل اشکالزدایی میکند و نباید هنگام تلاش برای یک جلسه اشکالزدایی انجام شود. اگر چنین کدی از قبل در دستگاه Atmel AVR هنگام شروع جلسه اشکالزدایی اجرا میشود، Atmel-ICE خط RESET را هنگام اتصال مشخص میکند. اگر این خط به درستی سیمکشی شود، دستگاه AVR مورد نظر را مجبور به تنظیم مجدد میکند و در نتیجه به یک J اجازه میدهد.TAG اتصال
اگر جیTAG رابط فعال است، JTAG پین ها را نمی توان برای عملکردهای پین جایگزین استفاده کرد. آنها فداکار J باقی خواهند ماندTAG پین ها را تا زمانی که JTAG رابط با تنظیم بیت JTD از روی کد برنامه یا با پاک کردن J غیرفعال می شودTAGفیوز EN از طریق یک رابط برنامه نویسی.
نکته:
مطمئن شوید که چک باکس "استفاده از تنظیم مجدد خارجی" را در گفتگوی برنامه نویسی و گزینه های اشکال زدایی علامت بزنید تا به Atmel-ICE اجازه دهید خط RESET را مشخص کند و J را دوباره فعال کند.TAG رابط بر روی دستگاه هایی که در حال اجرای کد هستند که J را غیرفعال می کندTAG رابط با تنظیم بیت JTD.
رویدادهای IDR/OCDR
IDR (In-out Data Register) با نام OCDR (On Chip Debug Register) نیز شناخته می شود، و به طور گسترده توسط دیباگر برای خواندن و نوشتن اطلاعات در MCU در حالت توقف در طول جلسه اشکال زدایی استفاده می شود. هنگامی که برنامه کاربردی در حالت اجرا، یک بایت داده را در رجیستر OCDR دستگاه AVR در حال اشکال زدایی می نویسد، Atmel-ICE این مقدار را می خواند و آن را در پنجره پیام جلوی نرم افزار نمایش می دهد. رجیستر OCDR هر 50 میلیثانیه نظرسنجی میشود، بنابراین نوشتن با آن با فرکانس بالاتر نتایج قابل اعتمادی را به همراه نخواهد داشت. هنگامی که دستگاه AVR در حین اشکال زدایی برق قطع می شود، ممکن است رویدادهای OCDR جعلی گزارش شوند. این اتفاق می افتد زیرا Atmel-ICE ممکن است همچنان دستگاه را به عنوان جلد هدف بررسی کندtage به زیر حداقل حجم عملیاتی AVR می رسدtage.
4.4.13. ملاحظات ویژه AVR XMEGA
OCD و ساعت
هنگامی که MCU وارد حالت توقف می شود، ساعت OCD به عنوان ساعت MCU استفاده می شود. ساعت OCD یا J استTAG TCK اگر JTAG رابط در حال استفاده است، یا PDI_CLK اگر از رابط PDI استفاده می شود.
ماژول های ورودی/خروجی در حالت توقف
برخلاف دستگاه های قبلی Atmel megaAVR، در XMEGA ماژول های I/O در حالت توقف متوقف می شوند. این بدان معنی است که انتقالات USART قطع خواهد شد، تایمرها (و PWM) متوقف خواهند شد.
نقاط شکست سخت افزاری
چهار مقایسه کننده نقطه شکست سخت افزاری وجود دارد - دو مقایسه کننده آدرس و دو مقایسه کننده ارزش. آنها محدودیت های خاصی دارند:
- همه نقاط شکست باید از یک نوع (برنامه یا داده) باشند.
- تمام نقاط شکست داده ها باید در یک ناحیه حافظه (I/O، SRAM یا XRAM) باشند.
- در صورت استفاده از محدوده آدرس، تنها یک نقطه شکست وجود دارد
در اینجا ترکیبات مختلفی وجود دارد که می توان آنها را تنظیم کرد:
- دو نقطه شکست آدرس واحد داده یا برنامه
- نقطه شکست محدوده آدرس یک داده یا برنامه
- دو نقطه شکست آدرس داده واحد با یک مقدار مقایسه می شود
- یک نقطه شکست داده با محدوده آدرس، محدوده مقدار یا هر دو
Atmel Studio به شما می گوید که آیا نقطه شکست نمی تواند تنظیم شود، و چرا. نقاط شکست داده ها نسبت به نقاط شکست برنامه اولویت دارند، اگر نقاط شکست نرم افزار در دسترس باشند.
تنظیم مجدد خارجی و PDI فیزیکی
رابط فیزیکی PDI از خط تنظیم مجدد به عنوان ساعت استفاده می کند. هنگام اشکال زدایی، بازنشانی باید 10k یا بیشتر باشد یا حذف شود. خازن های ریست شده باید حذف شوند. سایر منابع تنظیم مجدد خارجی باید قطع شوند.
اشکال زدایی با خواب برای ATxmegaA1 rev H و قبل از آن
یک اشکال در نسخههای اولیه دستگاههای ATxmegaA1 وجود داشت که از فعال شدن OCD در زمانی که دستگاه در حالتهای خواب خاص بود، جلوگیری میکرد. دو راه حل برای فعال کردن مجدد OCD وجود دارد:
- به Atmel-ICE بروید. گزینهها را در منوی ابزارها انتخاب کنید و «هنگام برنامهریزی مجدد دستگاه همیشه تنظیم مجدد خارجی فعال شود» را فعال کنید.
- پاک کردن تراشه را انجام دهید
حالتهای خوابی که این باگ را ایجاد میکنند عبارتند از:
- خاموش شدن برق
- ذخیره انرژی
- آماده باش
- آماده به کار طولانی
4.4.1.debugWIRE ملاحظات ویژه
پایه ارتباطی debugWIRE (dW) از نظر فیزیکی روی همان پینی قرار دارد که ریست خارجی (RESET) قرار دارد. بنابراین وقتی رابط debugWIRE فعال است، منبع بازنشانی خارجی پشتیبانی نمیشود.
فیوز debugWIRE Enable (DWEN) باید روی دستگاه مورد نظر تنظیم شود تا رابط debugWIRE کار کند. هنگامی که دستگاه Atmel AVR از کارخانه ارسال می شود، این فیوز به طور پیش فرض برنامه ریزی نشده است. خود رابط debugWIRE نمی تواند برای تنظیم این فیوز استفاده شود. برای تنظیم فیوز DWEN باید از حالت SPI استفاده شود. بخش جلویی نرم افزار به طور خودکار این کار را انجام می دهد، مشروط بر اینکه پین های SPI لازم وصل شده باشند. همچنین می توان آن را با استفاده از برنامه نویسی SPI از گفتگوی برنامه نویسی Atmel Studio تنظیم کرد.
یا: سعی کنید یک جلسه اشکال زدایی را در قسمت debugWIRE شروع کنید. اگر رابط debugWIRE فعال نباشد، Atmel Studio پیشنهاد میکند دوباره امتحان کنید، یا تلاش میکند تا با استفاده از برنامهنویسی SPI، debugWIRE را فعال کند. اگر سرصفحه SPI کامل را متصل کرده باشید، debugWIRE فعال میشود و از شما خواسته میشود که برق را روی هدف تغییر دهید. این برای موثر بودن تعویض فیوز لازم است.
یا: گفتگوی برنامه نویسی را در حالت SPI باز کنید و بررسی کنید که امضا با دستگاه صحیح مطابقت دارد. برای فعال کردن debugWIRE فیوز DWEN را بررسی کنید.
مهم:
مهم است که فیوز SPIEN را برنامه ریزی کرده و فیوز RSTDISBL را برنامه ریزی نشده رها کنید! انجام ندادن این کار باعث می شود دستگاه در حالت debugWIRE و High Vol گیر کندtagبرای برگرداندن تنظیمات DWEN به برنامه نویسی الکترونیکی نیاز است.
برای غیرفعال کردن رابط debugWIRE، از High Vol استفاده کنیدtagبرنامه نویسی برای خارج کردن برنامه فیوز DWEN. متناوبا، از خود رابط debugWIRE برای غیرفعال کردن موقت خود استفاده کنید، که اجازه می دهد برنامه نویسی SPI انجام شود، مشروط بر اینکه فیوز SPIEN تنظیم شده باشد.
مهم:
اگر فیوز SPIEN برنامه ریزی نشده باشد، Atmel Studio نمی تواند این عملیات را کامل کند و High Voltagباید از برنامه نویسی e استفاده کرد.
در طول جلسه اشکال زدایی، گزینه منوی «Disable debugWIRE and Close» را از منوی «Debug» انتخاب کنید. DebugWIRE به طور موقت غیرفعال می شود و Atmel Studio از برنامه نویسی SPI برای حذف برنامه فیوز DWEN استفاده می کند.
برنامه ریزی فیوز DWEN برخی از قسمت های سیستم ساعت را قادر می سازد در تمام حالت های خواب کار کنند. این باعث افزایش مصرف برق AVR در حالت خواب می شود. بنابراین وقتی از debugWIRE استفاده نمی شود، فیوز DWEN باید همیشه غیرفعال باشد.
هنگام طراحی یک PCB برنامه هدف که در آن debugWIRE استفاده می شود، ملاحظات زیر باید برای عملکرد صحیح در نظر گرفته شود:
- مقاومت های کششی روی خط dW/(RESET) نباید کوچکتر (قوی تر) از 10 کیلو اهم باشند. مقاومت pull-up برای عملکرد debugWIRE مورد نیاز نیست، زیرا ابزار دیباگر فراهم می کند
- هر خازن تثبیت کننده متصل به پین RESET باید هنگام استفاده از debugWIRE قطع شود، زیرا در عملکرد صحیح رابط اختلال ایجاد می کند.
- همه منابع بازنشانی خارجی یا سایر درایورهای فعال در خط RESET باید قطع شوند، زیرا ممکن است در عملکرد صحیح رابط اختلال ایجاد کنند.
هرگز قفل بیت ها را روی دستگاه مورد نظر برنامه ریزی نکنید. رابط debugWIRE نیاز دارد که بیتهای قفل پاک شوند تا به درستی کار کنند.
4.4.15. نقاط شکست نرم افزار debugWIRE
DebugWIRE OCD در مقایسه با Atmel megaAVR به شدت کاهش یافته است (JTAG) OCD. این بدان معنی است که هیچ برنامه مقایسه کننده نقطه شکست برنامه برای اهداف اشکال زدایی در دسترس کاربر نیست. یکی از این مقایسهکنندهها برای اهداف اجرا به مکاننما و عملیات تک مرحلهای وجود دارد، اما نقاط شکست اضافی کاربر در سختافزار پشتیبانی نمیشوند.
در عوض، دیباگر باید از دستورالعمل AVR BREAK استفاده کند. این دستورالعمل را می توان در FLASH قرار داد و هنگامی که برای اجرا بارگذاری شد باعث می شود CPU AVR وارد حالت توقف شده شود. برای پشتیبانی از نقاط انفصال در حین اشکالزدایی، اشکالزدا باید یک دستورالعمل BREAK را در نقطهای که کاربران درخواست نقطه شکست میکنند در FLASH وارد کند. دستورالعمل اصلی باید برای جایگزینی بعدی ذخیره شود.
هنگامی که به صورت تکی از یک دستورالعمل BREAK عبور می کند، اشکال زدا باید دستورالعمل اصلی ذخیره شده در حافظه پنهان را برای حفظ رفتار برنامه اجرا کند. در موارد شدید، BREAK باید از FLASH حذف شود و بعدا جایگزین شود. همه این سناریوها می توانند باعث تاخیرهای ظاهری در هنگام گام برداشتن از نقاط شکست شوند، که وقتی فرکانس ساعت هدف بسیار کم باشد تشدید می شود.
بنابراین توصیه می شود در صورت امکان، دستورالعمل های زیر را رعایت کنید:
- همیشه هدف را در فرکانس بالایی که ممکن است در حین اشکال زدایی اجرا کنید. رابط فیزیکی debugWIRE از ساعت هدف کلاک می شود.
- سعی کنید تعداد اضافهها و حذفهای نقطه شکست را به حداقل برسانید، زیرا هر کدام نیاز به یک صفحه FLASH برای جایگزینی در هدف دارند.
- سعی کنید تعداد کمی از نقاط شکست را در یک زمان اضافه یا حذف کنید تا تعداد عملیات نوشتن صفحه FLASH را به حداقل برسانید.
- در صورت امکان، از قرار دادن نقاط شکست در دستورالعمل های دو کلمه ای خودداری کنید
4.4.16. آشنایی با debugWIRE و فیوز DWEN
هنگامی که فعال می شود، رابط debugWIRE کنترل پین /RESET دستگاه را در اختیار می گیرد، که آن را به رابط SPI منحصر به فرد می کند، که به این پین نیز نیاز دارد. هنگام فعال و غیرفعال کردن ماژول debugWIRE، یکی از این دو رویکرد را دنبال کنید:
- اجازه دهید Atmel Studio از همه چیز مراقبت کند (توصیه می شود)
- DWEN را به صورت دستی تنظیم و پاک کنید (احتیاط کنید، فقط برای کاربران پیشرفته!)
مهم: هنگام دستکاری DWEN به صورت دستی، مهم است که فیوز SPIEN تنظیم باقی بماند تا نیازی به استفاده از High-Vol نباشد.tagبرنامه نویسی الکترونیکی
شکل 4-14. آشنایی با debugWIRE و فیوز DWEN4.4.17. TinyX-OCD (UPDI) ملاحظات ویژه
پین داده UPDI (UPDI_DATA) بسته به دستگاه AVR مورد نظر می تواند یک پین اختصاصی یا یک پین مشترک باشد. یک پین اشتراکی UPDI دارای تحمل 12 ولت است و می توان آن را برای استفاده به عنوان /RESET یا GPIO پیکربندی کرد. برای جزئیات بیشتر در مورد نحوه استفاده از پین در این تنظیمات، به رابط فیزیکی UPDI مراجعه کنید.
در دستگاههایی که شامل ماژول CRCSCAN (اسکن حافظه بررسی افزونگی چرخهای) هستند، این ماژول نباید در حالت پسزمینه پیوسته هنگام اشکالزدایی استفاده شود. ماژول OCD منابع مقایسه کننده نقاط شکست سخت افزاری محدودی دارد، بنابراین دستورالعمل های BREAK ممکن است در هنگام نیاز به نقاط شکست بیشتر یا حتی در هنگام مرحله کد در سطح منبع، در فلش (نقاط شکست نرم افزار) درج شوند. ماژول CRC می تواند به اشتباه این نقطه شکست را به عنوان خرابی محتویات حافظه فلش تشخیص دهد.
ماژول CRCSCAN همچنین می تواند برای انجام یک اسکن CRC قبل از بوت پیکربندی شود. در صورت عدم تطابق CRC، دستگاه بوت نمی شود و به نظر می رسد در حالت قفل است. تنها راه برای بازیابی دستگاه از این حالت، پاک کردن کامل تراشه و برنامهریزی یک تصویر فلش معتبر یا غیرفعال کردن CRCSCAN قبل از راهاندازی است. (یک پاک کردن تراشه ساده منجر به یک فلش خالی با CRC نامعتبر می شود، و بنابراین قطعه همچنان بوت نمی شود.) Atmel Studio به طور خودکار فیوزهای CRCSCAN را هنگام پاک کردن تراشه دستگاهی در این حالت غیرفعال می کند.
هنگام طراحی یک PCB برنامه هدف که در آن رابط UPDI استفاده خواهد شد، ملاحظات زیر باید برای عملکرد صحیح در نظر گرفته شود:
- مقاومت های کششی روی خط UPDI نباید کوچکتر (قوی تر) از 10 کیلو اهم باشند. نباید از مقاومت کششی استفاده کرد یا در هنگام استفاده از UPDI باید حذف شود. فیزیکی UPDI قابلیت فشار کشش را دارد، بنابراین فقط به یک مقاومت کششی ضعیف برای جلوگیری از راه اندازی بیت شروع کاذب در هنگام خط نیاز است.
- اگر قرار است از پایه UPDI به عنوان پایه RESET استفاده شود، هر خازن تثبیت کننده باید هنگام استفاده از UPDI قطع شود، زیرا در عملکرد صحیح رابط اختلال ایجاد می کند.
- اگر پین UPDI بهعنوان پین RESET یا GPIO استفاده میشود، همه درایورهای خارجی روی خط باید در طول برنامهنویسی یا اشکالزدایی قطع شوند، زیرا ممکن است در عملکرد صحیح اینترفیس اختلال ایجاد کنند.
توضیحات سخت افزاری
5.1. چراغ ها
پنل بالای Atmel-ICE دارای سه LED است که وضعیت اشکال زدایی یا جلسات برنامه نویسی فعلی را نشان می دهد.
جدول 5-1. ال ای دی ها
LED | تابع |
توضیحات |
سمت چپ | قدرت هدف | وقتی قدرت هدف مناسب است سبز است. چشمک زدن نشان دهنده خطای قدرت هدف است. تا زمانی که اتصال جلسه برنامهنویسی/اشکالزدایی شروع نشود، روشن نمیشود. |
وسط | قدرت اصلی | قرمز وقتی برق برد اصلی درست است. |
درسته | وضعیت | چشمک زدن سبز هنگامی که هدف در حال اجرا/گام برداشتن است. وقتی هدف متوقف شد خاموش است. |
5.2. پنل پشتی
پنل پشتی Atmel-ICE کانکتور Micro-B USB را در خود جای داده است.5.3. پنل زیرین
پنل پایینی Atmel-ICE دارای برچسبی است که شماره سریال و تاریخ ساخت را نشان می دهد. هنگام جستجوی پشتیبانی فنی، این جزئیات را درج کنید.5.4 .شرح معماری
معماری Atmel-ICE در بلوک دیاگرام در شکل 5-1 نشان داده شده است.
شکل 5-1. بلوک دیاگرام Atmel-ICE5.4.1. هیئت مدیره اصلی Atmel-ICE
برق از طریق گذرگاه USB به Atmel-ICE تامین میشود که توسط یک تنظیمکننده حالت سوئیچ پایینرفته به ولتاژ 3.3 ولت تنظیم میشود. پین VTG فقط به عنوان ورودی مرجع استفاده می شود و یک منبع تغذیه جداگانه، متغیر vol را تغذیه می کندtagسمت e مبدل های سطح روی برد. در قلب برد اصلی Atmel-ICE میکروکنترلر Atmel AVR UC3 AT32UC3A4256 قرار دارد که بسته به وظایفی که در حال پردازش هستند بین 1 تا 60 مگاهرتز کار می کند. این میکروکنترلر شامل یک ماژول پرسرعت USB 2.0 روی تراشه است که امکان خروجی داده بالا را به دیباگر و از آن می دهد.
ارتباط بین Atmel-ICE و دستگاه هدف از طریق بانکی از مبدل های سطح انجام می شود که سیگنال ها را بین حجم عملیاتی هدف جابجا می کند.tage و جلد داخلیtagسطح e در Atmel-ICE. همچنین در مسیر سیگنال zener overvol هستندtagدیودهای حفاظتی، مقاومت های پایانی سری، فیلترهای القایی و دیودهای حفاظتی ESD. همه کانالهای سیگنال را میتوان در محدوده 1.62 ولت تا 5.5 ولت کار کرد، اگرچه سختافزار Atmel-ICE نمیتواند ولتاژ بالاتر را خارج کند.tage از 5.0 ولت حداکثر فرکانس کاری با توجه به رابط هدف در حال استفاده متفاوت است.
5.4.2. اتصالات هدف Atmel-ICE
Atmel-ICE کاوشگر فعال ندارد. یک کابل IDC 50 میلی برای اتصال مستقیم به برنامه مورد نظر یا از طریق آداپتورهای موجود در برخی کیت ها استفاده می شود. برای اطلاعات بیشتر در مورد کابل کشی و آداپتورها، به بخش مونتاژ Atmel-ICE مراجعه کنید
5.4.3. شماره قطعات اتصالات هدف Atmel-ICE
برای اتصال مستقیم کابل IDC 50 میلی متری Atmel-ICE به برد هدف، هر هدر استاندارد 50 پین 10 میل کافی است. برای اطمینان از جهت گیری صحیح هنگام اتصال به هدف، مانند مواردی که روی برد آداپتور همراه کیت استفاده می شود، توصیه می شود از هدرهای کلیددار استفاده کنید.
شماره قطعه این هدر: FTSH-105-01-L-DV-KAP از SAMTEC است.
یکپارچه سازی نرم افزار
6.1. Atmel Studio
6.1.1. یکپارچه سازی نرم افزار در Atmel Studio
Atmel Studio یک محیط توسعه یکپارچه (IDE) برای نوشتن و اشکال زدایی برنامه های Atmel AVR و Atmel SAM در محیط های ویندوز است. Atmel Studio یک ابزار مدیریت پروژه، منبع ارائه می دهد file ویرایشگر، شبیه ساز، اسمبلر و فرانت اند برای C/C++، برنامه نویسی، شبیه سازی و اشکال زدایی روی تراشه.
Atmel Studio نسخه 6.2 یا جدیدتر باید همراه با Atmel-ICE استفاده شود.
6.1.2. گزینه های برنامه نویسی
Atmel Studio از برنامه نویسی Atmel AVR و Atmel SAM ARM با استفاده از Atmel-ICE پشتیبانی می کند. گفتگوی برنامه نویسی را می توان برای استفاده از J پیکربندی کردTAGحالت های aWire، SPI، PDI، TPI، SWD، با توجه به دستگاه مورد نظر انتخاب شده.
هنگام پیکربندی فرکانس ساعت، قوانین مختلفی برای رابط های مختلف و خانواده های هدف اعمال می شود:
- برنامه نویسی SPI از ساعت هدف استفاده می کند. فرکانس ساعت را طوری تنظیم کنید که کمتر از یک چهارم فرکانسی باشد که دستگاه مورد نظر در حال حاضر در آن کار می کند.
- JTAG برنامه نویسی در دستگاه های Atmel megaAVR توسط کلاک می شود این به این معنی است که فرکانس ساعت برنامه نویسی به حداکثر فرکانس کاری خود دستگاه محدود می شود. (معمولا 16 مگاهرتز.)
- برنامه نویسی AVR XMEGA در هر دو JTAG و رابط های PDI توسط برنامه نویس کلاک می شود. این بدان معنی است که فرکانس ساعت برنامه ریزی به حداکثر فرکانس کاری دستگاه (معمولاً 32 مگاهرتز) محدود می شود.
- برنامه نویسی AVR UC3 در JTAG رابط توسط برنامه نویس کلاک می شود. این بدان معنی است که فرکانس ساعت برنامه نویسی به حداکثر فرکانس کاری خود دستگاه محدود می شود. (محدود به 33 مگاهرتز.)
- برنامه نویسی AVR UC3 در رابط aWire توسط فرکانس بهینه توسط سرعت باس SAB در دستگاه مورد نظر داده می شود. دیباگر Atmel-ICE به طور خودکار نرخ باود aWire را تنظیم می کند تا این معیارها را برآورده کند. اگرچه معمولاً لازم نیست، کاربر میتواند در صورت نیاز (مثلاً در محیطهای پر سر و صدا) حداکثر نرخ باود را محدود کند.
- برنامه نویسی دستگاه SAM در رابط SWD توسط برنامه نویس کلاک می شود. حداکثر فرکانس پشتیبانی شده توسط Atmel-ICE 2 مگاهرتز است. فرکانس نباید از فرکانس CPU هدف 10 تجاوز کند، fSWD ≤ 10fSYSCLK.
6.1.3. گزینه های اشکال زدایی
هنگام اشکال زدایی یک دستگاه Atmel AVR با استفاده از Atmel Studio، برگه "ابزار" در ویژگی های پروژه view شامل برخی از گزینه های پیکربندی مهم است. گزینه هایی که نیاز به توضیح بیشتری دارند در اینجا به تفصیل آمده است.
فرکانس ساعت هدف
تنظیم دقیق فرکانس ساعت هدف برای دستیابی به اشکال زدایی قابل اعتماد دستگاه Atmel megaAVR بر روی J حیاتی است.TAG رابط. این تنظیم باید کمتر از یک چهارم کمترین فرکانس کاری دستگاه هدف AVR شما در برنامه در حال رفع اشکال باشد. برای اطلاعات بیشتر به ملاحظات ویژه megaAVR مراجعه کنید.
جلسات اشکالزدایی در دستگاههای هدف debugWIRE توسط خود دستگاه هدف کلاک میشود و بنابراین نیازی به تنظیم فرکانس نیست. Atmel-ICE به طور خودکار نرخ باود صحیح را برای برقراری ارتباط در شروع جلسه اشکال زدایی انتخاب می کند. با این حال، اگر مشکلات قابلیت اطمینان مربوط به یک محیط اشکال زدایی پر سر و صدا را تجربه می کنید، برخی از ابزارها این امکان را ارائه می دهند که سرعت debugWIRE را به کسری از تنظیمات "توصیه شده" آن تحمیل کنید.
جلسات اشکال زدایی در دستگاه های هدف AVR XMEGA را می توان با حداکثر سرعت خود دستگاه (معمولاً 32 مگاهرتز) کلاک کرد.
جلسات اشکال زدایی در دستگاه های هدف AVR UC3 از طریق JTAG رابط را می توان تا حداکثر سرعت خود دستگاه (محدود به 33 مگاهرتز) کلاک کرد. با این حال، فرکانس بهینه کمی کمتر از ساعت SAB فعلی در دستگاه مورد نظر خواهد بود.
جلسات اشکال زدایی در دستگاه های هدف UC3 از طریق رابط aWire به طور خودکار توسط خود Atmel-ICE با نرخ باود بهینه تنظیم می شود. با این حال، اگر مشکلات قابلیت اطمینان مربوط به محیط اشکال زدایی پر سر و صدا را تجربه می کنید، برخی از ابزارها این امکان را ارائه می دهند که سرعت aWire را زیر یک حد قابل تنظیم قرار دهید.
جلسات اشکال زدایی در دستگاه های هدف SAM از طریق رابط SWD می تواند تا ده برابر ساعت CPU کلاک شود (اما حداکثر به 2 مگاهرتز محدود می شود.)
حفظ EEPROM
برای جلوگیری از پاک کردن EEPROM در طول برنامه ریزی مجدد هدف قبل از جلسه اشکال زدایی، این گزینه را انتخاب کنید.
از تنظیم مجدد خارجی استفاده کنید
اگر برنامه هدف شما J را غیرفعال کندTAG رابط، تنظیم مجدد خارجی باید در طول برنامه ریزی پایین کشیده شود. با انتخاب این گزینه از پرسیدن مکرر اینکه آیا از تنظیم مجدد خارجی استفاده کنید یا خیر جلوگیری می کند.
6.2 ابزار خط فرمان
Atmel Studio دارای یک ابزار خط فرمان به نام atprogram است که می تواند برای برنامه ریزی اهداف با استفاده از Atmel-ICE استفاده شود. در طول نصب Atmel Studio میانبری به نام Atmel Studio 7.0. Command Prompt» در پوشه Atmel در منوی Start ایجاد شد. با دوبار کلیک کردن روی این میانبر یک خط فرمان باز می شود و دستورات برنامه نویسی را می توان وارد کرد. ابزار خط فرمان در مسیر نصب Atmel Studio در پوشه Atmel/Atmel Studio 7.0/atbackend/ نصب شده است.
برای دریافت راهنمایی بیشتر در مورد ابزار خط فرمان، دستور را تایپ کنید:
در برنامه - کمک
تکنیک های پیشرفته اشکال زدایی
7.1. اهداف Atmel AVR UC3
7.1.1. استفاده از EVTI / EVTO
پین های EVTI و EVTO در Atmel-ICE قابل دسترسی نیستند. با این حال، آنها هنوز هم می توانند همراه با سایر تجهیزات خارجی استفاده شوند.
EVTI می تواند برای اهداف زیر استفاده شود:
- هدف را می توان در پاسخ به یک رویداد خارجی مجبور به توقف اجرا کرد. اگر بیت های Event In Control (EIC) در رجیستر DC روی 0b01 نوشته شوند، انتقال زیاد به پایین روی پایه EVTI یک شرط نقطه شکست ایجاد می کند. EVTI باید برای یک سیکل ساعت CPU پایین بماند تا تضمین شود که یک نقطه شکست است. بیت نقطه انفصال خارجی (EXB) در DS زمانی تنظیم می شود که این اتفاق می افتد.
- ایجاد پیام های همگام سازی ردیابی توسط Atmel-ICE استفاده نمی شود. EVTO را می توان برای اهداف زیر استفاده کرد:
- نشان می دهد که CPU وارد اشکال زدایی شده است تنظیم بیت های EOS در DC روی 0b01 باعث می شود وقتی دستگاه مورد نظر وارد حالت اشکال زدایی می شود، پین EVTO برای یک سیکل ساعت CPU پایین کشیده شود. این سیگنال می تواند به عنوان منبع ماشه ای برای یک اسیلوسکوپ خارجی استفاده شود.
- نشان می دهد که CPU به نقطه شکست یا نقطه نظارت رسیده است. با تنظیم بیت EOC در یک رجیستر کنترل نقطه انفصال/نقطه مراقبت مربوطه، وضعیت نقطه شکست یا نقطه مراقبت روی پین EVTO نشان داده می شود. بیت های EOS در DC باید روی 0xb10 تنظیم شوند تا این ویژگی فعال شود. سپس پین EVTO را می توان به یک اسیلوسکوپ خارجی وصل کرد تا نقطه مراقبت را بررسی کند
- تولید سیگنال های زمان بندی ردیابی توسط Atmel-ICE استفاده نمی شود.
7.2 DebugWIRE Targets
7.2.1.debugWIRE نقاط شکست نرم افزار
DebugWIRE OCD در مقایسه با Atmel megaAVR به شدت کاهش یافته است (JTAG) OCD. این بدان معنی است که هیچ برنامه مقایسه کننده نقطه شکست برنامه برای اهداف اشکال زدایی در دسترس کاربر نیست. یکی از این مقایسهکنندهها برای اهداف اجرا به مکاننما و عملیات تک مرحلهای وجود دارد، اما نقاط شکست اضافی کاربر در سختافزار پشتیبانی نمیشوند.
در عوض، دیباگر باید از دستورالعمل AVR BREAK استفاده کند. این دستورالعمل را می توان در FLASH قرار داد و هنگامی که برای اجرا بارگذاری شد باعث می شود CPU AVR وارد حالت توقف شده شود. برای پشتیبانی از نقاط انفصال در حین اشکالزدایی، اشکالزدا باید یک دستورالعمل BREAK را در نقطهای که کاربران درخواست نقطه شکست میکنند در FLASH وارد کند. دستورالعمل اصلی باید برای جایگزینی بعدی ذخیره شود.
هنگامی که به صورت تکی از یک دستورالعمل BREAK عبور می کند، اشکال زدا باید دستورالعمل اصلی ذخیره شده در حافظه پنهان را برای حفظ رفتار برنامه اجرا کند. در موارد شدید، BREAK باید از FLASH حذف شود و بعدا جایگزین شود. همه این سناریوها می توانند باعث تاخیرهای ظاهری در هنگام گام برداشتن از نقاط شکست شوند، که وقتی فرکانس ساعت هدف بسیار کم باشد تشدید می شود.
بنابراین توصیه می شود در صورت امکان، دستورالعمل های زیر را رعایت کنید:
- همیشه هدف را در فرکانس بالایی که ممکن است در حین اشکال زدایی اجرا کنید. رابط فیزیکی debugWIRE از ساعت هدف کلاک می شود.
- سعی کنید تعداد اضافهها و حذفهای نقطه شکست را به حداقل برسانید، زیرا هر کدام نیاز به یک صفحه FLASH برای جایگزینی در هدف دارند.
- سعی کنید تعداد کمی از نقاط شکست را در یک زمان اضافه یا حذف کنید تا تعداد عملیات نوشتن صفحه FLASH را به حداقل برسانید.
- در صورت امکان، از قرار دادن نقاط شکست در دستورالعمل های دو کلمه ای خودداری کنید
تاریخچه انتشار و مسائل شناخته شده
8.1. تاریخچه انتشار سیستم عامل
جدول 8-1. بازبینی های سیستم عامل عمومی
نسخه سیستم عامل (اعشاری) | تاریخ |
تغییرات مربوطه |
1.36 | 29.09.2016 | اضافه شدن پشتیبانی از رابط UPDI (دستگاه های tinyX) اندازه نقطه پایانی USB ساخته شده قابل تنظیم است |
1.28 | 27.05.2015 | پشتیبانی از رابط های SPI و USART DGI اضافه شده است. سرعت SWD بهبود یافته است. رفع اشکال جزئی |
1.22 | 03.10.2014 | اضافه شدن پروفایل کد. رفع مشکل مربوط به JTAG زنجیر دیزی با بیش از 64 بیت دستورالعمل. رفع پسوند تنظیم مجدد ARM. مشکل led power هدف رفع شد. |
1.13 | 08.04.2014 | JTAG رفع فرکانس ساعت رفع اشکال debugWIRE با SUT طولانی. دستور کالیبراسیون اسیلاتور ثابت. |
1.09 | 12.02.2014 | اولین انتشار Atmel-ICE. |
8.2 مسائل شناخته شده در مورد Atmel-ICE
8.2.1.عمومی
- دستههای اولیه Atmel-ICE دارای USB ضعیف بودند. ویرایش جدیدی با اتصال USB جدید و قویتر انجام شده است. به عنوان یک محلول موقت، چسب اپوکسی برای بهبود پایداری مکانیکی در واحدهای تولید شده نسخه اول استفاده شده است.
8.2.2. مسائل خاص Atmel AVR XMEGA OCD
- برای خانواده ATxmegaA1، فقط نسخه G یا جدیدتر پشتیبانی می شود
8.2.1. Atmel AVR - مشکلات خاص دستگاه
- قدرت دوچرخهسواری در ATmega32U6 در طول جلسه اشکالزدایی ممکن است باعث از بین رفتن تماس با دستگاه شود.
انطباق محصول
9.1. RoHS و WEEE
Atmel-ICE و تمام لوازم جانبی مطابق با دستورالعمل RoHS (2002/95/EC) و دستورالعمل WEEE (2002/96/EC) تولید می شوند.
9.2. CE و FCC
واحد Atmel-ICE مطابق با الزامات اساسی و سایر مقررات مربوطه دستورالعمل ها آزمایش شده است:
- دستورالعمل 2004/108/EC (کلاس B)
- FCC قسمت 15 فرعی B
- 2002/95/EC (RoHS، WEEE)
برای ارزیابی از استانداردهای زیر استفاده می شود:
- EN 61000-6-1 (2007)
- EN 61000-6-3 (2007) + A1 (2011)
- FCC CFR 47 قسمت 15 (2013)
ساخت و ساز فنی File واقع در:
تمام تلاش ها برای به حداقل رساندن انتشار الکترومغناطیسی از این محصول انجام شده است. با این حال، تحت شرایط خاص، سیستم (این محصول متصل به یک مدار کاربردی هدف) ممکن است فرکانسهای اجزای الکترومغناطیسی منفرد را منتشر کند که از حداکثر مقادیر مجاز استانداردهای فوق فراتر میرود. فرکانس و مقدار انتشار توسط عوامل متعددی از جمله طرح و مسیریابی برنامه هدفی که محصول با آن استفاده می شود تعیین می شود.
تاریخچه تجدید نظر
Doc. کشیش |
تاریخ |
نظرات |
42330 درجه سانتیگراد | 10/2016 | اضافه شدن رابط UPDI و به روز رسانی تاریخچه انتشار سیستم عامل |
42330B | 03/2016 | • فصل اشکال زدایی روی تراشه اصلاح شده • قالب بندی جدید تاریخچه انتشار سیستم عامل در فصل تاریخچه انتشار و مسائل شناخته شده • اضافه شدن پین اوت کابل اشکال زدایی |
42330A | 06/2014 | انتشار سند اولیه |
اتمل®، آرم Atmel و ترکیبی از آن، امکان نامحدود را فعال می کند®، AVR®, megaAVR®، STK®, tinyAVR®، XMEGA®، و سایر علائم تجاری یا علائم تجاری ثبت شده شرکت Atmel در ایالات متحده و سایر کشورها هستند. ARM®, ARM متصل است® لوگو، کورتکس®و سایر علائم تجاری یا علائم تجاری ثبت شده ARM Ltd. Windows هستند® یک علامت تجاری ثبت شده Microsoft Corporation در ایالات متحده و یا سایر کشورها است. سایر اصطلاحات و نام محصول ممکن است علائم تجاری دیگران باشد.
سلب مسئولیت: اطلاعات این سند در رابطه با محصولات Atmel ارائه شده است. هیچ مجوزی، صریح یا ضمنی، از طریق استوپل یا موارد دیگر، به هیچ گونه حق مالکیت معنوی توسط این سند یا در رابطه با فروش محصولات Atmel اعطا نمی شود. به جز مواردی که در شرایط و ضوابط فروش ATMEL موجود در ATMEL ذکر شده است WEBسایت، ATMEL هیچ مسئولیتی بر عهده نمیگیرد و هرگونه ضمانت صریح، ضمنی یا قانونی مربوط به محصولات خود از جمله، اما نه محدود به ضمانت ضمنی، ضمانت نامه، ضمانت و ضمانت نامه غیرقانونی، را سلب میکند. در مورد نقض. ATMEL در هیچ موردی در قبال خسارات مستقیم، غیرمستقیم، تبعی، کیفری، خاص یا اتفاقی (شامل، بدون محدودیت، خسارت های ناشی از ضرر و زیان، ضرر و زیان، ضرر و زیان، ضرر و زیان، ضرر و زیان و ضرر و زیان های غیرمستقیم، غیرمستقیم، تبعی، کیفری، خاص یا اتفاقی) مسئول نخواهد بود. خارج از استفاده یا عدم امکان استفاده این سند، حتی اگر ATMEL توصیه شده باشد
از احتمال چنین آسیب هایی. Atmel هیچگونه اظهارنظر یا ضمانتی در رابطه با صحت یا کامل بودن محتویات این سند نمی دهد و این حق را برای خود محفوظ می دارد که در هر زمان بدون اطلاع قبلی، مشخصات و توضیحات محصولات را تغییر دهد. Atmel هیچ تعهدی برای به روز رسانی اطلاعات موجود در اینجا ندارد. محصولات Atmel برای برنامه های خودروسازی مناسب نیستند و نباید در آنها استفاده شود، مگر اینکه به طور خاص در غیر این صورت ارائه شود. محصولات Atmel برای استفاده به عنوان اجزای سازنده در برنامه هایی که برای پشتیبانی یا حفظ حیات در نظر گرفته شده اند، مجاز یا ضمانت نامه نیستند.
سلب مسئولیت برنامه های کاربردی ایمنی حیاتی، نظامی، و خودرو: محصولات Atmel برای هیچ برنامه ای طراحی نشده اند و در ارتباط با برنامه هایی که به طور منطقی انتظار می رود خرابی چنین محصولاتی منجر به صدمات شخصی یا مرگ قابل توجهی شود، طراحی نشده و مورد استفاده قرار نخواهند گرفت ("Safety-Critical" برنامه ها) بدون رضایت کتبی خاص افسر Atmel. برنامه های کاربردی حیاتی ایمنی شامل، بدون محدودیت، دستگاه ها و سیستم های پشتیبانی حیات، تجهیزات یا سیستم هایی برای بهره برداری از تاسیسات هسته ای و سیستم های تسلیحاتی است. محصولات Atmel برای استفاده در برنامهها یا محیطهای نظامی یا هوافضا طراحی یا در نظر گرفته نشدهاند، مگر اینکه به طور خاص توسط Atmel به عنوان درجه نظامی تعیین شده باشند. محصولات Atmel برای استفاده در کاربردهای خودرو طراحی نشده و در نظر گرفته نشده اند، مگر اینکه به طور خاص توسط Atmel به عنوان کلاس خودرو تعیین شده باشند.
شرکت اتمل
1600 Technology Drive, San Jose, CA 95110 USA
T: (+1) (408) 441.0311
F: (+1) (408) 436.4200
www.atmel.com
© 2016 Atmel Corporation.
نسخه: Atmel-42330C-Atmel-ICE_User Guide-10/2016
اسناد / منابع
![]() |
Atmel The Atmel-ICE Debugger Programmers [pdfراهنمای کاربر برنامه نویسان Atmel-ICE Debugger, Atmel-ICE, Debugger Programmers, Programmers |