מתכנתי באגים של ICE
מדריך למשתמש מתכנתים וניפוי באגים
Atmel-ICE
מדריך למשתמש
Debugger Atmel-ICE
Atmel-ICE הוא כלי פיתוח רב עוצמה עבור איתור באגים ותכנות ARM® Cortex®-M מבוססי Atmel ®SAM ו-Atmel AVR מיקרו-בקרים עם יכולת ® On-Chip Debug.
זה תומך:
- תכנות ואיתור באגים בשבב של כל המיקרו-בקרים של Atmel AVR 32 סיביות בשני JTAG וממשקי aWire
- תכנות וניפוי באגים בשבב של כל מכשירי משפחת Atmel AVR XMEGA® בשני JTAG וממשקי PDI דו-חוטי
- תכנות (JTAG, SPI, UPDI) ואיתור באגים של כל המיקרו-בקרים של Atmel AVR 8 סיביות עם תמיכה ב-OCD בכל אחד משני JTAG, ממשקי debugWIRE או UPDI
- תכנות וניפוי באגים של כל המיקרו-בקרים מבוססי Atmel SAM ARM Cortex-M גם ב-SWD וגם ב-JTAG ממשקים
- תכנות (TPI) של כל מיקרו-בקרי Atmel tinyAVR® 8-bit עם תמיכה בממשק זה
עיין ברשימת ההתקנים הנתמכים במדריך למשתמש של Atmel Studio לקבלת רשימה מלאה של מכשירים וממשקים הנתמכים על ידי מהדורת קושחה זו.
מָבוֹא
1.1. היכרות עם Atmel-ICE
Atmel-ICE הוא כלי פיתוח רב עוצמה עבור איתור באגים ותכנות ARM Cortex-M מבוססי Atmel SAM ו-Atmel AVR מיקרו-בקרים עם יכולת On-Chip Debug.
זה תומך:
- תכנות וניפוי באגים בשבב של כל בקרי המיקרו-בקרים של Atmel AVR UC3 בשני JTAG וממשקי aWire
- תכנות ואיתור באגים בשבב של כל מכשירי משפחת AVR XMEGA בשני JTAG וממשקי PDI 2wire
- תכנות (JTAG ו-SPI) ואיתור באגים של כל מיקרו-בקרי הרסיבר 8 סיביות עם תמיכה ב-OCD בשני JTAG או ממשקי debugWIRE
- תכנות וניפוי באגים של כל המיקרו-בקרים מבוססי Atmel SAM ARM Cortex-M גם ב-SWD וגם ב-JTAG ממשקים
- תכנות (TPI) של כל מיקרו-בקרי Atmel tinyAVR 8-bit עם תמיכה בממשק זה
1.2. תכונות Atmel-ICE
- תואם לחלוטין עם Atmel Studio
- תומך בתכנות וניפוי באגים של כל המיקרו-בקרים של Atmel AVR UC3 32-bit
- תומך בתכנות וניפוי באגים של כל התקני 8-bit AVR XMEGA
- תומך בתכנות וניפוי באגים של כל 8-bit Atmel megaAVR® ו-tinyAVR התקני עם OCD
- תומך בתכנות וניפוי באגים של כל המיקרו-בקרים מבוססי SAM ARM Cortex-M
- כרך הפעלה מטרהtagטווח e של 1.62V עד 5.5V
- שואב פחות מ-3mA מ-VTref היעד בעת שימוש בממשק debugWIRE ופחות מ-1mA עבור כל שאר הממשקים
- תומך ב-JTAG תדרי שעון מ-32kHz עד 7.5MHz
- תומך בתדרי שעון PDI מ-32kHz עד 7.5MHz
- תומך בקצבי העברת debugWIRE מ-4kbit/s ל-0.5Mbit/s
- תומך בקצבי העברת aWire מ-7.5kbit/s עד 7Mbit/s
- תומך בתדרי שעון SPI מ-8kHz עד 5MHz
- תומך בקצבי העברת UPDI של עד 750kbit/s
- תומך בתדרי שעון SWD מ-32kHz עד 10MHz
- ממשק מארח במהירות גבוהה USB 2.0
- לכידת עקבות טורית של ITM במהירות של עד 3MB/s
- תומך בממשקי DGI SPI ו-USART כאשר לא מתבצע איתור באגים או תכנות
- תומך ב-10 פינים 50-mil JTAG מחבר עם יציאות AVR ו-Cortex כאחד. כבל הבדיקה הסטנדרטי תומך ב-AVR 6-pin ISP/PDI/TPI 100-mil headers וכן 10-pins 50-mil. מתאם זמין לתמיכה בכותרות של 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 מכילה את הפריטים הבאים:
- יחידת אטמל-ICE
- כבל USB (1.8 מטר, מהיר, Micro-B)
- לוח מתאם המכיל מתאמי 50-mil AVR, 100-mil AVR/SAM, ו-100-mil 20-pins SAM
- כבל שטוח IDC עם מחבר 10 פינים 50 מיל ומחבר 6 פינים 100 מיל
- כבל מיני דיונון 50 מיל 10 פינים עם שקעים 10 x 100 מיל
איור 2-1. תכולת ערכה מלאה של Atmel-ICE2.2. תכולת ערכה בסיסית
הערכה הבסיסית של Atmel-ICE מכילה את הפריטים הבאים:
- יחידת אטמל-ICE
- כבל USB (1.8 מטר, מהיר, Micro-B)
- כבל שטוח IDC עם מחבר 10 פינים 50 מיל ומחבר 6 פינים 100 מיל
איור 2-2. תכולת ערכה בסיסית של Atmel-ICE2.3. תכולת ערכת PCBA
ערכת Atmel-ICE PCBA מכילה את הפריטים הבאים:
- יחידת Atmel-ICE ללא מעטפת פלסטיק
איור 2-3. תכולת ערכת PCBA של Atmel-ICE2.4. ערכות חלקי חילוף
ערכות חלקי החילוף הבאות זמינות:
- ערכת מתאם
- ערכת כבלים
איור 2-4. תכולת ערכת מתאם Atmel-ICE2.5. קיט נגמרview
אפשרויות ערכת Atmel-ICE מוצגות באופן דיאגרמטי כאן:
איור 2-6. ערכת Atmel-ICE נגמרהview2.6. הרכבת Atmel-ICE
יחידת Atmel-ICE נשלחת ללא כבלים מחוברים. שתי אפשרויות כבלים מסופקות בערכה המלאה:
- כבל שטוח IDC 50 מיל 10 פינים עם ISP 6 פינים ומחברים 10 פינים
- כבל מיני קלמארי 50 מיל 10 פינים עם שקעים בגודל 10 x 100 מיל
איור 2-7. Atmel-ICE כבליםלרוב המטרות, ניתן להשתמש בכבל IDC שטוח 50 מיל 10 פינים, להתחבר באופן מקורי למחברים 10 פינים או 6 פינים שלו, או להתחבר דרך לוח המתאם. שלושה מתאמים מסופקים על PCBA אחד קטן. המתאמים הבאים כלולים:
- 100 מיל 10 פינים JTAGמתאם /SWD
- 100 מיל 20 פינים SAM JTAGמתאם /SWD
- מתאם SPI/debugWIRE/PDI/aWire 50 מיל 6 פינים
איור 2-8. מתאמי Atmel-ICEפֶּתֶק:
א 50 מיל ג'ייTAG מתאם לא סופק - הסיבה לכך היא שכבל IDC 50 מיליליטר 10 פינים ניתן להשתמש כדי להתחבר ישירות ל-50 מיליליטר JTAG כּוֹתֶרֶת. למספר החלק של הרכיב המשמש למחבר 50-פינים של 10 מיל, ראה מספרי חלק של מחברי יעד של Atmel-ICE.
כותרת ISP/PDI בעלת 6 פינים כלולה כחלק מכבל IDC בעל 10 פינים. ניתן לנתק סיום זה אם אין צורך בכך.
כדי להרכיב את Atmel-ICE שלך לתצורת ברירת המחדל שלו, חבר את כבל IDC 10 פינים 50 מיל ליחידה כפי שמוצג להלן. הקפד לכוון את הכבל כך שהחוט האדום (פין 1) בכבל מיושר עם המחוון המשולש בחגורה הכחולה של המארז. הכבל צריך להתחבר כלפי מעלה מהיחידה. הקפד להתחבר ליציאה התואמת ל-pinout של היעד שלך - AVR או SAM.
איור 2-9. חיבור כבל Atmel-ICEאיור 2-10. Atmel-ICE AVR Probe Connection
איור 2-11. Atmel-ICE SAM Probe Connection
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 bus voltagה. הוא דורש פחות מ-100mA כדי לפעול, ולכן ניתן להפעיל אותו דרך רכזת USB. נורית המתח תידלק כאשר היחידה מחוברת לחשמל. כאשר היא אינה מחוברת בהפעלת תכנות או ניפוי באגים פעילה, היחידה תעבור למצב צריכת חשמל נמוכה כדי לשמר את הסוללה של המחשב שלך. לא ניתן לכבות את 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 מצויד בשני 50 מיל 10 פינים JTAG מחברים. שני המחברים מחוברים ישירות חשמלית, אך מתאימים לשני פינים שונים; הרסיבר JTAG כותרת וכותרת ARM Cortex Debug. יש לבחור את המחבר על סמך ה-pinout של לוח היעד, ולא על סוג MCU היעד - למשלampאם התקן SAM המותקן בערימת AVR STK® 600 צריך להשתמש בכותרת הרסיבר.
כבלים ומתאמים שונים זמינים בערכות השונות של Atmel-ICE. מעלview של אפשרויות החיבור מוצגות.
איור 3-1. אפשרויות חיבור Atmel-ICEהחוט האדום מסמן את פין 1 של מחבר 10 פינים 50 מיל. פין 1 של מחבר 6 מיל 100 פינים ממוקם מימין למפתח כאשר רואים את המחבר מהכבל. פין 1 של כל מחבר במתאם מסומן בנקודה לבנה. האיור שלהלן מציג את ה-pinout של כבל איתור הבאגים. המחבר המסומן A מתחבר ל-debugger בעוד שצד B מתחבר ללוח היעד.
איור 3-2. איתור באגים בכבלים Pinout
3.2. חיבור ל-JTAG יַעַד
ה-Atmel-ICE מצויד בשני 50 מיל 10 פינים JTAG מחברים. שני המחברים מחוברים ישירות חשמלית, אך מתאימים לשני פינים שונים; הרסיבר JTAG כותרת וכותרת ARM Cortex Debug. יש לבחור את המחבר על סמך ה-pinout של לוח היעד, ולא על סוג MCU היעד - למשלampאם התקן SAM המותקן בערימת AVR STK600 צריך להשתמש בכותרת הרסיבר.
ה-Pinout המומלץ לרסיבר 10 פינים JTAG המחבר מוצג באיור 4-6. ה-pinout המומלץ עבור מחבר ARM Cortex Debug בעל 10 פינים מוצג באיור 4-2.
חיבור ישיר לראש סטנדרטי בן 10 פינים 50 מיל
השתמש בכבל שטוח 50 מיליליטר 10 פינים (כלול בערכות מסוימות) כדי להתחבר ישירות ללוח התומך בסוג כותרת זה. השתמש ביציאת מחבר ה-AVR ב-Atmel-ICE עבור כותרות עם ה-Pinout של AVR, וביציאת מחבר SAM עבור כותרות התואמות ל-Pinout של כותרת ARM Cortex Debug.
הפינות עבור שתי יציאות מחבר 10 פינים מוצגות להלן.
חיבור לראש רגיל 10 פינים 100 מיל
השתמש במתאם סטנדרטי של 50 מיל ל-100 מיל כדי להתחבר לכותרות של 100 מיל. למטרה זו ניתן להשתמש בלוח מתאם (הכלול בערכות מסוימות), או לחילופין ב-JTAGניתן להשתמש במתאם ICE3 עבור מטרות AVR.
חָשׁוּב:
ה- J.TAGלא ניתן להשתמש במתאם ICE3 100 מיל עם יציאת מחבר ה-SAM, מכיוון שפינים 2 ו-10 (AVR GND) על המתאם מחוברים.
חיבור לכותרת מותאמת אישית של 100 מיל
אם ללוח היעד שלך אין J 10 פינים תואםTAG כותרת ב-50 או 100 מיל, תוכלו למפות ל-pinout מותאם אישית באמצעות כבל "מיני-דיונון" בעל 10 פינים (כלול בערכות מסוימות), המעניק גישה לעשרה שקעים בודדים של 100 מיל.
חיבור לראש 20 פינים 100 מילr
השתמש בלוח המתאם (כלול בערכות מסוימות) כדי להתחבר למטרות עם כותרת 20 פינים של 100 מיל.
טבלה 3-1. Atmel-ICE JTAG תיאור סיכה
שֵׁם | AVR סיכת יציאה | SAM סיכת יציאה | תֵאוּר |
TCK | 1 | 4 | שעון בדיקה (אות שעון מה-Atmel-ICE לתוך מכשיר היעד). |
TMS | 5 | 2 | בחירת מצב בדיקה (אות בקרה מה-Atmel-ICE לתוך מכשיר היעד). |
TDI | 9 | 8 | Test Data In (נתונים משודרים מה-Atmel-ICE למכשיר היעד). |
TDO | 3 | 6 | Test Data Out (נתונים משודרים ממכשיר היעד לתוך Atmel-ICE). |
nTRST | 8 | – | איפוס בדיקה (אופציונלי, רק בחלק ממכשירי הרסיבר). משמש לאיפוס ה-JTAG בקר TAP. |
nSRST | 6 | 10 | איפוס (אופציונלי). משמש לאיפוס מכשיר היעד. חיבור פין זה מומלץ מכיוון שהוא מאפשר ל-Atmel-ICE להחזיק את מכשיר היעד במצב איפוס, מה שיכול להיות חיוני לאיפוי באגים בתרחישים מסוימים. |
VTG | 4 | 1 | כרך יעדtagהפניה. ה-Atmel-ICE samples the target voltage על פין זה על מנת להפעיל את ממירי הרמה בצורה נכונה. ה-Atmel-ICE שואב פחות מ-3mA מהפין הזה במצב debugWIRE ופחות מ-1mA במצבים אחרים. |
GND | 2, 10 | 3, 5, 9 | קרקע, אדמה. כולם חייבים להיות מחוברים כדי להבטיח שה-Atmel-ICE והתקן היעד חולקים את אותה התייחסות לקרקע. |
3.3. התחברות ל-aWire Target
ממשק aWire דורש רק קו נתונים אחד בנוסף ל-VCC ו-GND. על היעד קו זה הוא קו nRESET, למרות שהמאתר באגים משתמש ב-JTAG קו TDO בתור קו הנתונים.
ה-pinout המומלץ עבור מחבר aWire בעל 6 פינים מוצג באיור 4-8.
חיבור לראש 6 פינים 100-mil aWire
השתמש בברז 6 מיל עם 100 פינים בכבל השטוח (כלול בערכות מסוימות) כדי להתחבר לראש רגיל של aWire באורך 100 מיל.
חיבור לראש 6 פינים 50-mil aWire
השתמש בלוח המתאם (כלול בערכות מסוימות) כדי להתחבר לכותרת רגילה של 50 מיליליטר aWire.
חיבור לכותרת מותאמת אישית של 100 מיל
יש להשתמש בכבל המיני קלמארי בעל 10 פינים לחיבור בין יציאת מחבר Atmel-ICE AVR ללוח היעד. נדרשים שלושה חיבורים, כמתואר בטבלה למטה.
טבלה 3-2. Atmel-ICE aWire Pin מיפוי
פיני יציאת Atmel-ICE AVR |
סיכות מטרה | סיכת מיני קלמארי |
a Wire pinout |
סיכה 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 Target
ה-pinout המומלץ עבור מחבר PDI בעל 6 פינים מוצג באיור 4-11.
חיבור לראש 6 פינים 100 מיליליטר PDI
השתמש בברז 6 מיל עם 100 פינים בכבל השטוח (כלול בערכות מסוימות) כדי להתחבר לכותרת PDI רגילה של 100 מיל.
חיבור לראש 6 פינים 50 מיליליטר PDI
השתמש בלוח המתאם (כלול בערכות מסוימות) כדי להתחבר לכותרת PDI סטנדרטית של 50 מיליליטר.
חיבור לכותרת מותאמת אישית של 100 מיל
יש להשתמש בכבל המיני קלמארי בעל 10 פינים לחיבור בין יציאת מחבר Atmel-ICE AVR ללוח היעד. נדרשים ארבעה חיבורים, כמתואר בטבלה למטה.
חָשׁוּב:
ה-Pinout הנדרש שונה מה-JTAGICE mkII JTAG בדיקה, כאשר PDI_DATA מחובר לפין 9. ה-Atmel-ICE תואם ל-Pinout המשמש את Atmel-ICE, JTAGמוצרי ICE3, AVR ONE! ו-AVR Dragon™.
טבלה 3-3. מיפוי פינים של Atmel-ICE PDI
פיני יציאת Atmel-ICE AVR | סיכות מטרה | סיכת מיני קלמארי |
a Wire pinout |
סיכה 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 Target
ה-pinout המומלץ עבור מחבר PDI בעל 6 פינים מוצג באיור 4-11.
חיבור לראש 6 פינים 100 מיליליטר PDI
השתמש בברז 6 מיל עם 100 פינים בכבל השטוח (כלול בערכות מסוימות) כדי להתחבר לכותרת PDI רגילה של 100 מיל.
חיבור לראש 6 פינים 50 מיליליטר PDI
השתמש בלוח המתאם (כלול בערכות מסוימות) כדי להתחבר לכותרת PDI סטנדרטית של 50 מיליליטר.
חיבור לכותרת מותאמת אישית של 100 מיל
יש להשתמש בכבל המיני קלמארי בעל 10 פינים לחיבור בין יציאת מחבר Atmel-ICE AVR ללוח היעד. נדרשים ארבעה חיבורים, כמתואר בטבלה למטה.
חָשׁוּב:
ה-Pinout הנדרש שונה מה-JTAGICE mkII JTAG בדיקה, כאשר PDI_DATA מחובר לפין 9. ה-Atmel-ICE תואם ל-Pinout המשמש את Atmel-ICE, JTAGICE3, AVR ONE!, ו-AVR Dragon™ מוצרים.
טבלה 3-3. מיפוי פינים של Atmel-ICE PDI
סיכת יציאת Atmel-ICE AVR | סיכות מטרה | סיכת מיני קלמארי | Atmel STK600 PDI pinout |
סיכה 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
ה-pinout המומלץ עבור מחבר UPDI בעל 6 פינים מוצג באיור 4-12.
חיבור לראש UPDI 6 פינים 100 מיליליטר
השתמש בברז 6 מיל עם 100 פינים בכבל השטוח (כלול בערכות מסוימות) כדי להתחבר לכותרת UPDI סטנדרטית של 100 מיל.
חיבור לראש UPDI 6 פינים 50 מיליליטר
השתמש בלוח המתאם (כלול בערכות מסוימות) כדי להתחבר לכותרת UPDI סטנדרטית של 50 מיליליטר.
חיבור לכותרת מותאמת אישית של 100 מיל
יש להשתמש בכבל המיני קלמארי בעל 10 פינים לחיבור בין יציאת מחבר Atmel-ICE AVR ללוח היעד. נדרשים שלושה חיבורים, כמתואר בטבלה למטה.
טבלה 3-4. מיפוי פינים של Atmel-ICE UPDI
סיכת יציאת Atmel-ICE AVR | סיכות מטרה | סיכת מיני קלמארי |
Atmel STK600 UPDI pinout |
סיכה 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
ה-Pinout המומלץ עבור מחבר 6 פינים debugWIRE (SPI) מוצג בטבלה 3-6.
חיבור לראש 6 פינים 100-mil SPI
השתמש בברז 6 מיל עם 100 פינים בכבל השטוח (כלול בערכות מסוימות) כדי להתחבר לכותרת SPI רגילה של 100 מיל.
חיבור לראש 6 פינים 50-mil SPI
השתמש בלוח המתאם (כלול בערכות מסוימות) כדי להתחבר לכותרת SPI סטנדרטית של 50 מיליליטר.
חיבור לכותרת מותאמת אישית של 100 מיל
יש להשתמש בכבל המיני קלמארי בעל 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.
פֶּתֶק:
מומלץ מאוד פשוט לתת לאטמל סטודיו לטפל בהגדרה וניקוי של פיוז DWEN.
לא ניתן להשתמש בממשק debugWIRE אם ה-lockbits במכשיר הרסיבר היעד מתוכנתים. ודא תמיד שה-lockbits נוקו לפני תכנות הנתיך DWEN ולעולם אל תגדיר את ה-lockbits בזמן שה-DWEN נתיך מתוכנת. אם גם ה-debugWIRE Enable Fuse (DWEN) וגם Lockbits מוגדרים, אפשר להשתמש High Voltage תכנות לבצע מחיקת שבב, ובכך לנקות את ה-lockbits.
כאשר ה-lockbits ינוקו, ממשק debugWIRE יופעל מחדש. ממשק SPI מסוגל לקרוא נתיכים, לקרוא חתימה ולבצע מחיקת שבב רק כאשר נתיך DWEN אינו מתוכנת.
טבלה 3-5. מיפוי פינים של Atmel-ICE debugWIRE
סיכת יציאת 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
ה-pinout המומלץ עבור מחבר SPI 6 פינים מוצג באיור 4-10.
חיבור לראש 6 פינים 100-mil SPI
השתמש בברז 6 מיל עם 100 פינים בכבל השטוח (כלול בערכות מסוימות) כדי להתחבר לכותרת SPI רגילה של 100 מיל.
חיבור לראש 6 פינים 50-mil SPI
השתמש בלוח המתאם (כלול בערכות מסוימות) כדי להתחבר לכותרת SPI סטנדרטית של 50 מיליליטר.
חיבור לכותרת מותאמת אישית של 100 מיל
יש להשתמש בכבל המיני קלמארי בעל 10 פינים לחיבור בין יציאת מחבר Atmel-ICE AVR ללוח היעד. נדרשים שישה חיבורים, כמתואר בטבלה למטה.
חָשׁוּב:
ממשק ה-SPI מושבת ביעילות כאשר ה-debugWIRE enable fuse (DWEN) מתוכנת, גם אם פתיל SPIEN מתוכנת. כדי להפעיל מחדש את ממשק SPI, יש להנפיק את הפקודה 'disable debugWIRE' תוך כדי הפעלת איתור באגים של debugWIRE. השבתת debugWIRE באופן זה דורשת שהנתיך SPIEN כבר מתוכנת. אם Atmel Studio לא מצליח להשבית את debugWIRE, סביר להניח כי הנתיך SPIEN אינו מתוכנת. אם זה המקרה, יש צורך להשתמש ב-high-voltagממשק תכנות e לתכנת הנתיך SPIEN.
מידע:
ממשק SPI מכונה לעתים קרובות "ISP", מכיוון שהוא היה הממשק הראשון בתכנות מערכת במוצרי Atmel AVR. ממשקים אחרים זמינים כעת עבור תכנות במערכת.
טבלה 3-6. מיפוי פינים של Atmel-ICE SPI
פיני יציאת Atmel-ICE AVR | סיכות מטרה | סיכת מיני קלמארי |
SPI pinout |
סיכה 1 (TCK) | SCK | 1 | 3 |
פין 2 (GND) | GND | 2 | 6 |
פין 3 (TDO) | מיסו | 3 | 1 |
פין 4 (VTG) | VTG | 4 | 2 |
פינ 5 (TMS) | 5 | ||
פין 6 (nSRST) | /אִתחוּל | 6 | 5 |
פין 7 (לא מחובר) | 7 | ||
פין 8 (nTRST) | 8 | ||
פין 9 (TDI) | MOSI | 9 | 4 |
פין 10 (GND) | 0 |
3.8 התחברות ליעד TPI
ה-pinout המומלץ עבור מחבר TPI בעל 6 פינים מוצג באיור 4-13.
חיבור לראש 6 פינים 100-mil TPI
השתמש בברז 6 מיל עם 100 פינים על הכבל השטוח (כלול בערכות מסוימות) כדי להתחבר לכותרת TPI רגילה של 100 מיל.
חיבור לראש 6 פינים 50-mil TPI
השתמש בלוח המתאם (כלול בערכות מסוימות) כדי להתחבר לכותרת רגילה של 50 מיליליטר TPI.
חיבור לכותרת מותאמת אישית של 100 מיל
יש להשתמש בכבל המיני קלמארי בעל 10 פינים לחיבור בין יציאת מחבר Atmel-ICE AVR ללוח היעד. נדרשים שישה חיבורים, כמתואר בטבלה למטה.
טבלה 3-7. מיפוי פינים של Atmel-ICE TPI
פיני יציאת Atmel-ICE AVR | סיכות מטרה | סיכת מיני קלמארי |
pinout TPI |
סיכה 1 (TCK) | שָׁעוֹן | 1 | 3 |
פין 2 (GND) | GND | 2 | 6 |
פין 3 (TDO) | נְתוּנִים | 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.9 התחברות ליעד SWD
ממשק ARM SWD הוא תת-קבוצה של ה-JTAG ממשק, תוך שימוש בפינים TCK ו-TMS, כלומר בעת חיבור להתקן SWD, J 10 פיניםTAG ניתן להשתמש במחבר מבחינה טכנית. ה-ARM JTAG ו-AVR JTAG המחברים, עם זאת, אינם תואמים פינים, כך שזה תלוי בפריסה של לוח היעד בשימוש. בעת שימוש ב-STK600 או בלוח המשתמש ברסיבר JTAG pinout, יש להשתמש ביציאת מחבר הרסיבר ב-Atmel-ICE. בעת חיבור ללוח, שעושה שימוש ב-ARM JTAG pinout, יש להשתמש ביציאת מחבר SAM ב-Atmel-ICE.
ה-pinout המומלץ עבור מחבר Cortex Debug בעל 10 פינים מוצג באיור 4-4.
חיבור לראש קורטקס 10 פינים 50 מיל
השתמש בכבל השטוח (כלול בערכות מסוימות) כדי להתחבר לראש קורטקס סטנדרטי של 50 מיל.
חיבור ל-10 פינים 100-mil Cortex-layout header
השתמש בלוח המתאם (כלול בערכות מסוימות) כדי להתחבר לראש 100-mil Cortex-pinout.
חיבור לכותרת SAM 20 פינים 100 מיל
השתמש בלוח המתאם (כלול בערכות מסוימות) כדי להתחבר לכותרת SAM בעלת 20 פינים של 100 מיל.
חיבור לכותרת מותאמת אישית של 100 מיל
יש להשתמש בכבל המיני קלמארי בעל 10 פינים לחיבור בין יציאת מחבר Atmel-ICE AVR או SAM ללוח היעד. נדרשים שישה חיבורים, כמתואר בטבלה למטה.
טבלה 3-8. מיפוי פינים של Atmel-ICE SWD
שֵׁם | AVR סיכת יציאה | SAM סיכת יציאה | תֵאוּר |
SWDC LK | 1 | 4 | שעון ניפוי באגים חוט טורי. |
SWDIO | 5 | 2 | קלט/פלט נתונים באגים באמצעות חוט טורי. |
SWO | 3 | 6 | פלט חוט טורי (אופציונלי- לא מיושם בכל המכשירים). |
nSRST | 6 | 10 | אִתחוּל. |
VTG | 4 | 1 | כרך יעדtagהפניה. |
GND | 2, 10 | 3, 5, 9 | טָחוּן. |
3.10 התחברות לממשק שער נתונים
ה-Atmel-ICE תומך בממשק Data Gateway מוגבל (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 | כרך יעדtagה (כרך עזר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 | כרך יעדtagה (כרך עזרtage) |
5 | 2 | nCS | בחירת שבב פעילה נמוכה |
9 | 8 | MOSI | מאסטר אאוט עבד |
2, 10 | 3, 5, 9 | GND | טָחוּן |
חָשׁוּב: לא ניתן להשתמש בממשקי SPI ו-USART בו-זמנית.
חָשׁוּב: לא ניתן להשתמש ב-DGI ובתכנות או איתור באגים בו-זמנית.
איתור באגים על-שבב
4.1 מבוא
איתור באגים על-שבב
מודול ניפוי באגים על-שבב הוא מערכת המאפשרת למפתח לנטר ולשלוט בביצוע במכשיר מפלטפורמת פיתוח חיצונית, בדרך כלל באמצעות התקן המכונה באגים או מתאם לניפוי באגים.
עם מערכת OCD ניתן להפעיל את האפליקציה תוך שמירה על מאפייני חשמל ותזמון מדויקים במערכת היעד, תוך יכולת לעצור את הביצוע באופן מותנה או ידני ולבדוק את זרימת התוכנית והזיכרון.
מצב הפעלה
במצב Run, ביצוע הקוד אינו תלוי לחלוטין ב-Atmel-ICE. ה-Atmel-ICE ינטר ברציפות את מכשיר היעד כדי לראות אם התרחש מצב של הפסקה. כאשר זה קורה, מערכת ה-OCD תחקור את המכשיר דרך ממשק ניפוי הבאגים שלו, מה שיאפשר למשתמש לעשות זאת view המצב הפנימי של המכשיר.
מצב עצור
כאשר מגיעים לנקודת עצירה, הפעלת התכנית נעצרת, אך קלט/פלט מסוים עשוי להמשיך לפעול כאילו לא התרחשה נקודת עצירה. למשלample, נניח ששידור 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
מיקרו-בקרים מבוססי Atmel ARM Cortex-M מיישמים רכיבי OCD תואמי CoreSight. התכונות של רכיבים אלה עשויות להשתנות ממכשיר למכשיר. למידע נוסף עיין בגיליון הנתונים של המכשיר וכן בתיעוד CoreSight שסופק על ידי ARM.
4.2.1. יTAG ממשק פיזי
ה- J.TAG הממשק מורכב מבקר 4-חוטי Test Access Port (TAP) התואם ל-IEEE® תקן 1149.1. תקן IEEE פותח כדי לספק דרך סטנדרטית בתעשייה לבדיקת קישוריות לוח מעגלים ביעילות (Boundary Scan). התקני AVR ו-SAM של Atmel הרחיבו את הפונקציונליות הזו כדי לכלול תמיכה מלאה בתכנות ואיתור באגים על-שבב.
איור 4-1. יTAG בסיסי ממשק
4.2.2.1 SAM JTAG Pinout (מחבר ניפוי באגים Cortex-M)
בעת תכנון PCB יישום הכולל Atmel SAM עם ה-JTAG ממשק, מומלץ להשתמש ב-pinout כפי שמוצג באיור למטה. שני גרסאות 100 מיל ו-50 מיל של pinout זה נתמכות, בהתאם לכבלים ולמתאמים הכלולים בערכה הספציפית.
איור 4-2. SAM JTAG כותרת Pinout
טבלה 4-1. SAM JTAG תיאור סיכה
שֵׁם | פִּין |
תֵאוּר |
TCK | 4 | שעון בדיקה (אות שעון מה-Atmel-ICE לתוך מכשיר היעד). |
TMS | 2 | בחירת מצב בדיקה (אות בקרה מה-Atmel-ICE לתוך מכשיר היעד). |
TDI | 8 | Test Data In (נתונים משודרים מה-Atmel-ICE למכשיר היעד). |
TDO | 6 | Test Data Out (נתונים משודרים ממכשיר היעד לתוך Atmel-ICE). |
nRESET | 10 | איפוס (אופציונלי). משמש לאיפוס מכשיר היעד. חיבור פין זה מומלץ מכיוון שהוא מאפשר ל-Atmel-ICE להחזיק את מכשיר היעד במצב איפוס, מה שיכול להיות חיוני לאיפוי באגים בתרחישים מסוימים. |
VTG | 1 | כרך יעדtagהפניה. ה-Atmel-ICE samples the target voltage על פין זה על מנת להפעיל את ממירי הרמה בצורה נכונה. ה-Atmel-ICE שואב פחות מ-1mA מהסיכה הזו במצב זה. |
GND | 3, 5, 9 | קרקע, אדמה. כולם חייבים להיות מחוברים כדי להבטיח שה-Atmel-ICE והתקן היעד חולקים את אותה התייחסות לקרקע. |
מַפְתֵחַ | 7 | מחובר באופן פנימי לפין TRST במחבר הרסיבר. מומלץ לא מחובר. |
עֵצָה: זכור לכלול קבל ניתוק בין פין 1 ל-GND.
4.2.2.2 JTAG חִנָנִית שִׁרשׁוּר
ה- J.TAG ממשק מאפשר לחבר מספר מכשירים לממשק בודד בתצורת שרשרת דייזי. התקני המטרה חייבים להיות מופעלים על ידי אותו כרך אספקהtagה, חולק צומת הארקה משותף, וחייב להיות מחובר כפי שמוצג באיור למטה.
איור 4-3. יTAG דייזי צ'יין
בעת חיבור מכשירים בשרשרת, יש לקחת בחשבון את הנקודות הבאות:
- כל המכשירים חייבים לחלוק הארקה משותפת, המחוברת ל-GND בבדיקה של Atmel-ICE
- כל המכשירים חייבים לפעול על אותו נפח יעדtagה. VTG על Atmel-ICE חייב להיות מחובר לכרך זהtage.
- TMS ו-TCK מחוברים במקביל; TDI ו-TDO מחוברים בסדרה
- יש לחבר את nSRST ב-Atmel-ICE ל-RESET במכשירים אם אחד מהמכשירים בשרשרת משבית את ה-J שלוTAG נָמָל
- "התקנים לפני" מתייחס למספר של JTAG התקנים שאות ה-TDI צריך לעבור דרכם בשרשרת המעצבת לפני שהם מגיעים למכשיר היעד. באופן דומה "התקנים אחרי" הוא מספר המכשירים שהאות צריך לעבור דרכם אחרי מכשיר היעד לפני שהוא מגיע ל-Atmel-ICE TDO
- "סיביות הוראות "לפני" ו"אחרי" מתייחסות לסכום הכולל של כל JTAG אורכי רשם הוראות המכשירים, המחוברים לפני ואחרי מכשיר היעד בשרשרת הדייזי
- אורך ה-IR הכולל (סיביות הוראות לפני + אורך IR של מכשיר יעד Atmel + סיביות הוראות אחרי) מוגבל למקסימום של 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 של MCUs Atmel
סוג מכשיר | אורך IR |
AVR 8 ביט | 4 ביטים |
AVR 32 ביט | 5 ביטים |
SAM | 4 ביטים |
4.2.3. חיבור ל-JTAG יַעַד
ה-Atmel-ICE מצויד בשני 50 מיל 10 פינים JTAG מחברים. שני המחברים מחוברים ישירות חשמלית, אך מתאימים לשני פינים שונים; הרסיבר JTAG כותרת וכותרת ARM Cortex Debug. יש לבחור את המחבר על סמך ה-pinout של לוח היעד, ולא על סוג MCU היעד - למשלampאם התקן SAM המותקן בערימת AVR STK600 צריך להשתמש בכותרת הרסיבר.
ה-Pinout המומלץ לרסיבר 10 פינים JTAG המחבר מוצג באיור 4-6.
ה-pinout המומלץ עבור מחבר ARM Cortex Debug בעל 10 פינים מוצג באיור 4-2.
חיבור ישיר לראש סטנדרטי בן 10 פינים 50 מיל
השתמש בכבל שטוח 50 מיליליטר 10 פינים (כלול בערכות מסוימות) כדי להתחבר ישירות ללוח התומך בסוג כותרת זה. השתמש ביציאת מחבר ה-AVR ב-Atmel-ICE עבור כותרות עם ה-Pinout של AVR, וביציאת מחבר SAM עבור כותרות התואמות ל-Pinout של כותרת ARM Cortex Debug.
הפינות עבור שתי יציאות מחבר 10 פינים מוצגות להלן.
חיבור לראש רגיל 10 פינים 100 מיל
השתמש במתאם סטנדרטי של 50 מיל ל-100 מיל כדי להתחבר לכותרות של 100 מיל. למטרה זו ניתן להשתמש בלוח מתאם (הכלול בערכות מסוימות), או לחילופין ב-JTAGניתן להשתמש במתאם ICE3 עבור מטרות AVR.
חָשׁוּב:
ה- J.TAGלא ניתן להשתמש במתאם ICE3 100 מיל עם יציאת מחבר ה-SAM, מכיוון שפינים 2 ו-10 (AVR GND) על המתאם מחוברים.
חיבור לכותרת מותאמת אישית של 100 מיל
אם ללוח היעד שלך אין J 10 פינים תואםTAG כותרת ב-50 או 100 מיל, תוכלו למפות ל-pinout מותאם אישית באמצעות כבל "מיני-דיונון" בעל 10 פינים (כלול בערכות מסוימות), המעניק גישה לעשרה שקעים בודדים של 100 מיל.
חיבור לראש 20 פינים 100 מיל
השתמש בלוח המתאם (כלול בערכות מסוימות) כדי להתחבר למטרות עם כותרת 20 פינים של 100 מיל.
טבלה 4-3. Atmel-ICE JTAG תיאור סיכה
שֵׁם | AVR סיכת יציאה | SAM סיכת יציאה | תֵאוּר |
TCK | 1 | 4 | שעון בדיקה (אות שעון מה-Atmel-ICE לתוך מכשיר היעד). |
TMS | 5 | 2 | בחירת מצב בדיקה (אות בקרה מה-Atmel-ICE לתוך מכשיר היעד). |
TDI | 9 | 8 | Test Data In (נתונים משודרים מה-Atmel-ICE למכשיר היעד). |
TDO | 3 | 6 | Test Data Out (נתונים משודרים ממכשיר היעד לתוך Atmel-ICE). |
nTRST | 8 | – | איפוס בדיקה (אופציונלי, רק בחלק ממכשירי הרסיבר). משמש לאיפוס ה-JTAG בקר TAP. |
nSRST | 6 | 10 | איפוס (אופציונלי). משמש לאיפוס מכשיר היעד. חיבור פין זה מומלץ מכיוון שהוא מאפשר ל-Atmel-ICE להחזיק את מכשיר היעד במצב איפוס, מה שיכול להיות חיוני לאיפוי באגים בתרחישים מסוימים. |
VTG | 4 | 1 | כרך יעדtagהפניה. ה-Atmel-ICE samples the target voltage על פין זה על מנת להפעיל את ממירי הרמה בצורה נכונה. ה-Atmel-ICE שואב פחות מ-3mA מהפין הזה במצב debugWIRE ופחות מ-1mA במצבים אחרים. |
GND | 2, 10 | 3, 5, 9 | קרקע, אדמה. כולם חייבים להיות מחוברים כדי להבטיח שה-Atmel-ICE והתקן היעד חולקים את אותה התייחסות לקרקע. |
4.2.4. ממשק פיזי של SWD
ממשק ARM SWD הוא תת-קבוצה של ה-JTAG ממשק, תוך שימוש בפינים TCK ו-TMS. ה-ARM JTAG ו-AVR JTAG המחברים, עם זאת, אינם תואמים פינים, ולכן בעת תכנון PCB של יישום, המשתמש בהתקן SAM עם SWD או JTAG ממשק, מומלץ להשתמש ב-Pinout ARM המוצג באיור למטה. יציאת מחבר SAM ב-Atmel-ICE יכולה להתחבר ישירות ל-pinout זה.
איור 4-4. ARM SWD/J מומלץTAG כותרת Pinout
ה-Atmel-ICE מסוגל להזרים מעקב ITM בפורמט UART למחשב המארח. המעקב נקלט בפין TRACE/SWO של הכותרת בעלת 10 הפינים (JTAG סיכת TDO). הנתונים מאוחסנים באופן פנימי ב-Atmel-ICE ונשלחים דרך ממשק HID למחשב המארח. קצב הנתונים המקסימלי המהימן הוא כ-3MB/s.
4.2.5. התחברות ליעד SWD
ממשק ARM SWD הוא תת-קבוצה של ה-JTAG ממשק, תוך שימוש בפינים TCK ו-TMS, כלומר בעת חיבור להתקן SWD, J 10 פיניםTAG ניתן להשתמש במחבר מבחינה טכנית. ה-ARM JTAG ו-AVR JTAG המחברים, עם זאת, אינם תואמים פינים, כך שזה תלוי בפריסה של לוח היעד בשימוש. בעת שימוש ב-STK600 או בלוח המשתמש ברסיבר JTAG pinout, יש להשתמש ביציאת מחבר הרסיבר ב-Atmel-ICE. בעת חיבור ללוח, שעושה שימוש ב-ARM JTAG pinout, יש להשתמש ביציאת מחבר SAM ב-Atmel-ICE.
ה-pinout המומלץ עבור מחבר Cortex Debug בעל 10 פינים מוצג באיור 4-4.
חיבור לראש קורטקס 10 פינים 50 מיל
השתמש בכבל השטוח (כלול בערכות מסוימות) כדי להתחבר לראש קורטקס סטנדרטי של 50 מיל.
חיבור ל-10 פינים 100-mil Cortex-layout header
השתמש בלוח המתאם (כלול בערכות מסוימות) כדי להתחבר לראש 100-mil Cortex-pinout.
חיבור לכותרת SAM 20 פינים 100 מיל
השתמש בלוח המתאם (כלול בערכות מסוימות) כדי להתחבר לכותרת SAM בעלת 20 פינים של 100 מיל.
חיבור לכותרת מותאמת אישית של 100 מיל
יש להשתמש בכבל המיני קלמארי בעל 10 פינים לחיבור בין יציאת מחבר Atmel-ICE AVR או SAM ללוח היעד. נדרשים שישה חיבורים, כמתואר בטבלה למטה.
טבלה 4-4. מיפוי פינים של Atmel-ICE SWD
שֵׁם | AVR סיכת יציאה | SAM סיכת יציאה | תֵאוּר |
SWDC LK | 1 | 4 | שעון ניפוי באגים חוט טורי. |
SWDIO | 5 | 2 | קלט/פלט נתונים באגים באמצעות חוט טורי. |
SWO | 3 | 6 | פלט חוט טורי (אופציונלי- לא מיושם בכל המכשירים). |
nSRST | 6 | 10 | אִתחוּל. |
VTG | 4 | 1 | כרך יעדtagהפניה. |
GND | 2, 10 | 3, 5, 9 | טָחוּן. |
4.2.6 שיקולים מיוחדים
סיכה מחק
חלק מהתקני SAM כוללים פין ERASE הנטען לבצע מחיקה מלאה של שבב ולפתוח התקנים שעליהם מוגדר ביט האבטחה. תכונה זו מחוברת למכשיר עצמו כמו גם לבקר הפלאש ואינה חלק מליבת ARM.
ה-ERASE PIN אינו חלק מכותרת ניפוי באגים, ולכן ה-Atmel-ICE אינו מסוגל להצהיר על אות זה כדי לפתוח מכשיר. במקרים כאלה על המשתמש לבצע את המחיקה באופן ידני לפני תחילת הפעלת ניפוי באגים.
ממשקים פיזיים JTAG מִמְשָׁק
קו ה-RESET צריך להיות מחובר תמיד כך שה-Atmel-ICE יוכל לאפשר את ה-JTAG מִמְשָׁק.
ממשק SWD
קו ה-RESET צריך להיות מחובר תמיד כך שה-Atmel-ICE יוכל להפעיל את ממשק SWD.
4.3 AVR UC3 התקני עם JTAG/חוט
כל מכשירי AVR UC3 כוללים את ה-JTAG ממשק לתכנות וניפוי באגים. בנוסף, חלק מהתקני AVR UC3 כוללים את ממשק aWire עם פונקציונליות זהה באמצעות חוט יחיד. בדוק את גליון הנתונים של המכשיר עבור ממשקים נתמכים של אותו מכשיר
4.3.1 Atmel AVR UC3 מערכת ניפוי באגים בשבב
מערכת Atmel AVR UC3 OCD תוכננה בהתאם לתקן Nexus 2.0 (IEEE-ISTO 5001™-2003), שהוא תקן ניפוי באגים פתוח גמיש וחזק ביותר על שבב עבור מיקרו-בקרים של 32 סיביות. הוא תומך בתכונות הבאות:
- פתרון ניפוי באגים תואם Nexus
- OCD תומך בכל מהירות מעבד
- שש נקודות שבירה של חומרה נגד תוכניות
- שתי נקודות שבירה של נתונים
- ניתן להגדיר נקודות שבירה כנקודות תצפית
- ניתן לשלב נקודות שבירה של חומרה כדי לתת הפסקה בטווחים
- מספר בלתי מוגבל של נקודות שבירה של תוכניות משתמש (באמצעות BREAK)
- מעקב אחר ענפי נגד תוכנית בזמן אמת, מעקב נתונים, מעקב אחר תהליך (נתמך רק על ידי מאפי באגים עם יציאת לכידת עקבות מקבילה)
למידע נוסף על מערכת AVR UC3 OCD, עיין במדריכי העזר הטכניים של AVR32UC, הממוקמים ב www.atmel.com/uc3.
4.3.2. יTAG ממשק פיזי
ה- J.TAG הממשק מורכב מבקר 4-חוטי Test Access Port (TAP) התואם ל-IEEE® תקן 1149.1. תקן IEEE פותח כדי לספק דרך סטנדרטית בתעשייה לבדיקת קישוריות לוח מעגלים ביעילות (Boundary Scan). התקני AVR ו-SAM של Atmel הרחיבו את הפונקציונליות הזו כדי לכלול תמיכה מלאה בתכנות ואיתור באגים על-שבב.
איור 4-5. יTAG בסיסי ממשק
4.3.2.1 AVR JTAG Pinout
בעת תכנון PCB של אפליקציה, הכולל AVR AVR עם ה-JTAG ממשק, מומלץ להשתמש ב-pinout כפי שמוצג באיור למטה. שני גרסאות 100 מיל ו-50 מיל של pinout זה נתמכות, בהתאם לכבלים ולמתאמים הכלולים בערכה הספציפית.
איור 4-6. AVR JTAG כותרת Pinout
לוּחַ 4-5. AVR JTAG תיאור סיכה
שֵׁם | פִּין |
תֵאוּר |
TCK | 1 | שעון בדיקה (אות שעון מה-Atmel-ICE לתוך מכשיר היעד). |
TMS | 5 | בחירת מצב בדיקה (אות בקרה מה-Atmel-ICE לתוך מכשיר היעד). |
TDI | 9 | Test Data In (נתונים משודרים מה-Atmel-ICE למכשיר היעד). |
TDO | 3 | Test Data Out (נתונים משודרים ממכשיר היעד לתוך Atmel-ICE). |
nTRST | 8 | איפוס בדיקה (אופציונלי, רק בחלק ממכשירי הרסיבר). משמש לאיפוס ה-JTAG בקר TAP. |
nSRST | 6 | איפוס (אופציונלי). משמש לאיפוס מכשיר היעד. חיבור פין זה מומלץ מכיוון שהוא מאפשר ל-Atmel-ICE להחזיק את מכשיר היעד במצב איפוס, מה שיכול להיות חיוני לאיפוי באגים בתרחישים מסוימים. |
VTG | 4 | כרך יעדtagהפניה. ה-Atmel-ICE samples the target voltage על פין זה על מנת להפעיל את ממירי הרמה בצורה נכונה. ה-Atmel-ICE שואב פחות מ-3mA מהפין הזה במצב debugWIRE ופחות מ-1mA במצבים אחרים. |
GND | 2, 10 | קרקע, אדמה. שניהם חייבים להיות מחוברים כדי להבטיח שה-Atmel-ICE והתקן היעד חולקים את אותה הפניה לקרקע. |
עֵצָה: זכור לכלול קבל ניתוק בין פין 4 ל-GND.
4.3.2.2 JTAG חִנָנִית שִׁרשׁוּר
ה- J.TAG ממשק מאפשר לחבר מספר מכשירים לממשק בודד בתצורת שרשרת דייזי. התקני המטרה חייבים להיות מופעלים על ידי אותו כרך אספקהtagה, חולק צומת הארקה משותף, וחייב להיות מחובר כפי שמוצג באיור למטה.
איור 4-7. יTAG דייזי צ'יין
בעת חיבור מכשירים בשרשרת, יש לקחת בחשבון את הנקודות הבאות:
- כל המכשירים חייבים לחלוק הארקה משותפת, המחוברת ל-GND בבדיקה של Atmel-ICE
- כל המכשירים חייבים לפעול על אותו נפח יעדtagה. VTG על Atmel-ICE חייב להיות מחובר לכרך זהtage.
- TMS ו-TCK מחוברים במקביל; TDI ו-TDO מחוברים בשרשרת טורית.
- יש לחבר את nSRST ב-Atmel-ICE ל-RESET במכשירים אם אחד מהמכשירים בשרשרת משבית את ה-J שלוTAG נָמָל
- "התקנים לפני" מתייחס למספר של JTAG התקנים שאות ה-TDI צריך לעבור דרכם בשרשרת המעצבת לפני שהם מגיעים למכשיר היעד. באופן דומה "התקנים אחרי" הוא מספר המכשירים שהאות צריך לעבור דרכם אחרי מכשיר היעד לפני שהוא מגיע ל-Atmel-ICE TDO
- "סיביות הוראות "לפני" ו"אחרי" מתייחסות לסכום הכולל של כל JTAG אורכי רשם הוראות המכשירים, המחוברים לפני ואחרי מכשיר היעד בשרשרת הדייזי
- אורך ה-IR הכולל (סיביות הוראות לפני + אורך IR של מכשיר יעד Atmel + סיביות הוראות אחרי) מוגבל למקסימום של 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. אורכי IR של Atmel MCUS
סוג מכשיר | אורך IR |
AVR 8 ביט | 4 ביטים |
AVR 32 ביט | 5 ביטים |
SAM | 4 ביטים |
4.3.3.חיבור ל-JTAG יַעַד
ה-Atmel-ICE מצויד בשני 50 מיל 10 פינים JTAG מחברים. שני המחברים מחוברים ישירות חשמלית, אך מתאימים לשני פינים שונים; הרסיבר JTAG כותרת וכותרת ARM Cortex Debug. יש לבחור את המחבר על סמך ה-pinout של לוח היעד, ולא על סוג MCU היעד - למשלampאם התקן SAM המותקן בערימת AVR STK600 צריך להשתמש בכותרת הרסיבר.
ה-Pinout המומלץ לרסיבר 10 פינים JTAG המחבר מוצג באיור 4-6.
ה-pinout המומלץ עבור מחבר ARM Cortex Debug בעל 10 פינים מוצג באיור 4-2.
חיבור ישיר לראש סטנדרטי בן 10 פינים 50 מיל
השתמש בכבל שטוח 50 מיליליטר 10 פינים (כלול בערכות מסוימות) כדי להתחבר ישירות ללוח התומך בסוג כותרת זה. השתמש ביציאת מחבר ה-AVR ב-Atmel-ICE עבור כותרות עם ה-Pinout של AVR, וביציאת מחבר SAM עבור כותרות התואמות ל-Pinout של כותרת ARM Cortex Debug.
הפינות עבור שתי יציאות מחבר 10 פינים מוצגות להלן.
חיבור לראש רגיל 10 פינים 100 מיל
השתמש במתאם סטנדרטי של 50 מיל ל-100 מיל כדי להתחבר לכותרות של 100 מיל. למטרה זו ניתן להשתמש בלוח מתאם (הכלול בערכות מסוימות), או לחילופין ב-JTAGניתן להשתמש במתאם ICE3 עבור מטרות AVR.
חָשׁוּב:
ה- J.TAGלא ניתן להשתמש במתאם ICE3 100 מיל עם יציאת מחבר ה-SAM, מכיוון שפינים 2 ו-10 (AVR GND) על המתאם מחוברים.
חיבור לכותרת מותאמת אישית של 100 מיל
אם ללוח היעד שלך אין J 10 פינים תואםTAG כותרת ב-50 או 100 מיל, תוכלו למפות ל-pinout מותאם אישית באמצעות כבל "מיני-דיונון" בעל 10 פינים (כלול בערכות מסוימות), המעניק גישה לעשרה שקעים בודדים של 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 | Test Data In (נתונים משודרים מה-Atmel-ICE למכשיר היעד). |
TDO | 3 | 6 | Test Data Out (נתונים משודרים ממכשיר היעד לתוך Atmel-ICE). |
nTRST | 8 | – | איפוס בדיקה (אופציונלי, רק בחלק ממכשירי הרסיבר). משמש לאיפוס ה-JTAG בקר TAP. |
nSRST | 6 | 10 | איפוס (אופציונלי). משמש לאיפוס מכשיר היעד. חיבור פין זה מומלץ מכיוון שהוא מאפשר ל-Atmel-ICE להחזיק את מכשיר היעד במצב איפוס, מה שיכול להיות חיוני לאיפוי באגים בתרחישים מסוימים. |
VTG | 4 | 1 | כרך יעדtagהפניה. ה-Atmel-ICE samples the target voltage על פין זה על מנת להפעיל את ממירי הרמה בצורה נכונה. ה-Atmel-ICE שואב פחות מ-3mA מהפין הזה במצב debugWIRE ופחות מ-1mA במצבים אחרים. |
GND | 2, 10 | 3, 5, 9 | קרקע, אדמה. כולם חייבים להיות מחוברים כדי להבטיח שה-Atmel-ICE והתקן היעד חולקים את אותה התייחסות לקרקע. |
4.3.4 ממשק פיזי של aWire
ממשק aWire עושה שימוש בחוט RESET של התקן הרסיבר כדי לאפשר תכנות וניפוי באגים. רצף הפעלה מיוחד משודר על ידי ה-Atmel-ICE, אשר משבית את פונקציונליות ברירת המחדל של RESET של הפין. בעת תכנון PCB של יישום, הכולל AVR של Atmel עם ממשק aWire, מומלץ להשתמש ב-pinout כפי שמוצג באיור 4 -8. שני גרסאות 100 מיל ו-50 מיל של pinout זה נתמכות, בהתאם לכבלים ולמתאמים הכלולים בערכה הספציפית.
איור 4-8. aWire Header Pinout
עֵצָה:
מכיוון ש-aWire הוא ממשק חצי דופלקס, מומלץ נגד משיכה בקו ה-RESET בסדר גודל של 47kΩ כדי למנוע זיהוי סיביות התחלה שגוי בעת שינוי כיוון.
ממשק aWire יכול לשמש גם כממשק תכנות וגם כממשק ניפוי באגים. כל התכונות של מערכת ה-OCD זמינות דרך J 10 פיניםTAG ניתן לגשת לממשק גם באמצעות aWire.
4.3.5 התחברות ל-aWire Target
ממשק aWire דורש קו נתונים אחד בלבד בנוסף ל-VCC ו-GND. על היעד קו זה הוא קו nRESET, למרות שהמאתר באגים משתמש ב-JTAG קו TDO בתור קו הנתונים.
ה-pinout המומלץ עבור מחבר aWire בעל 6 פינים מוצג באיור 4-8.
חיבור לראש 6 פינים 100-mil aWire
השתמש בברז 6 מיל עם 100 פינים בכבל השטוח (כלול בערכות מסוימות) כדי להתחבר לראש רגיל של aWire באורך 100 מיל.
חיבור לראש 6 פינים 50-mil aWire
השתמש בלוח המתאם (כלול בערכות מסוימות) כדי להתחבר לכותרת רגילה של 50 מיליליטר aWire.
חיבור לכותרת מותאמת אישית של 100 מיל
יש להשתמש בכבל המיני קלמארי בעל 10 פינים לחיבור בין יציאת מחבר Atmel-ICE AVR ללוח היעד. נדרשים שלושה חיבורים, כמתואר בטבלה למטה.
טבלה 4-8. Atmel-ICE aWire Pin מיפוי
פיני יציאת Atmel-ICE AVR | סיכות מטרה | סיכת מיני קלמארי |
a Wire pinout |
סיכה 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 יוכל לאפשר את ה-JTAG מִמְשָׁק.
ממשק Wire
קצב ההעברה של תקשורת aWire תלוי בתדירות שעון המערכת, שכן יש לסנכרן נתונים בין שני התחומים הללו. ה-Atmel-ICE יזהה אוטומטית ששעון המערכת הונמך, ויכייל מחדש את קצב ה-baud שלו בהתאם. הכיול האוטומטי עובד רק עד לתדר שעון מערכת של 8kHz. מעבר לשעון מערכת נמוך יותר במהלך הפעלת ניפוי באגים עלול לגרום לאיבוד מגע עם היעד.
במידת הצורך, ניתן להגביל את קצב ההחזרה של aWire על ידי הגדרת פרמטר השעון aWire. זיהוי אוטומטי עדיין יעבוד, אך ערך תקרה יוטל על התוצאות.
כל קבל מייצב המחובר לפין RESET חייב להיות מנותק בעת שימוש ב-aWire מכיוון שהוא יפריע לפעולה נכונה של הממשק. מומלצת pullup חיצוני חלש (10kΩ ומעלה) בקו זה.
כיבוי מצב שינה
לחלק מהתקני AVR UC3 יש וסת פנימי שניתן להשתמש בו במצב אספקה של 3.3V עם קווי קלט/פלט מווסתים של 1.8V. משמעות הדבר היא שהרגולטור הפנימי מפעיל גם את הליבה וגם את רוב ה-I/O. רק Atmel AVR ONE! debugger תומך באגים בזמן שימוש במצבי שינה שבהם הרגולטור הזה כבוי.
4.3.7. שימוש ב-EVTI / EVTO
פיני EVTI ו-EVTO אינם נגישים ב-Atmel-ICE. עם זאת, עדיין ניתן להשתמש בהם בשילוב עם ציוד חיצוני אחר.
ניתן להשתמש ב-EVTI למטרות הבאות:
- ניתן לאלץ את המטרה להפסיק את הביצוע בתגובה לאירוע חיצוני. אם הסיביות של Event In Control (EIC) באוגר DC נכתבות ל-0b01, מעבר גבוה לנמוך בפין EVTI יפיק מצב של נקודת שבירה. EVTI חייב להישאר נמוך למשך מחזור שעון אחד של מעבד כדי להבטיח שנקודת עצירה היא סיבית נקודת הפריצה החיצונית (EXB) ב-DS מוגדרת כאשר זה מתרחש.
- הפקת הודעות סינכרון עקבות. לא בשימוש על ידי Atmel-ICE.
ניתן להשתמש ב-EVTO למטרות הבאות:
- מציין שה-CPU נכנס לניפוי באגים הגדרת סיביות ה-EOS ב-DC ל-0b01 גורמת לפין EVTO להימשך נמוך למשך מחזור שעון אחד של המעבד כאשר התקן היעד נכנס למצב ניפוי באגים. אות זה יכול לשמש כמקור טריגר לאוסילוסקופ חיצוני.
- מציין שה-CPU הגיע לנקודת שבירה או נקודת שמירה. על ידי הגדרת סיביות ה-EOC ב-Backpoint/Watchpoint Control Register תואם, מצב נקודת הפריצה או נקודת השמירה מסומן על פין ה-EVTO. יש להגדיר את סיביות ה-EOS ב-DC ל-0xb10 כדי להפעיל תכונה זו. לאחר מכן ניתן לחבר את סיכת ה-EVTO לאוסילוסקופ חיצוני על מנת לבחון את נקודת השמירה
- הפקת אותות תזמון מעקב. לא בשימוש על ידי Atmel-ICE.
התקני 4.4 זעירים AVR, megaAVR ו-XMEGA
מכשירי AVR כוללים ממשקי תכנות וניפוי באגים שונים. בדוק את גליון הנתונים של המכשיר עבור ממשקים נתמכים של אותו מכשיר.
- איזה AVR זעיר® למכשירים יש TPI ניתן להשתמש ב-TPI לתכנות המכשיר בלבד, ולהתקנים אלו אין יכולת ניפוי באגים על השבב כלל.
- לחלק מהתקני tinyAVR וחלק מהתקני megaAVR יש את ממשק debugWIRE, המתחבר למערכת ניפוי באגים על-שבב המכונה tinyOCD. לכל המכשירים עם debugWIRE יש גם ממשק SPI למערכת
- לחלק ממכשירי megaAVR יש JTAG ממשק לתכנות וניפוי באגים, עם מערכת ניפוי באגים על-שבב הידועה גם בשם כל ההתקנים עם JTAG כולל גם את ממשק SPI כממשק חלופי לתכנות בתוך המערכת.
- לכל התקני AVR XMEGA יש ממשק PDI לתכנות ולחלק מהתקני AVR XMEGA יש גם JTAG ממשק עם פונקציונליות זהה.
- למכשירים זעירים חדשים יש ממשק UPDI, המשמש לתכנות וניפוי באגים
טבלה 4-9. סיכום ממשקי תכנות ואיתור באגים
|
UPDI | TPI | SPI | debugWIR E | JTAG | PDI | חוט |
SWD |
זעיר AVR | מכשירים חדשים | כמה מכשירים | כמה מכשירים | כמה מכשירים | ||||
megaAV R | כל המכשירים | כמה מכשירים | כמה מכשירים | |||||
AVR XMEGA | כמה מכשירים | כל המכשירים | ||||||
AVR UC | כל המכשירים | כמה מכשירים | ||||||
SAM | כמה מכשירים | כל המכשירים |
4.4.1. יTAG ממשק פיזי
ה- J.TAG הממשק מורכב מבקר 4-חוטי Test Access Port (TAP) התואם ל-IEEE® תקן 1149.1. תקן IEEE פותח כדי לספק דרך סטנדרטית בתעשייה לבדיקת קישוריות לוח מעגלים ביעילות (Boundary Scan). התקני AVR ו-SAM של Atmel הרחיבו את הפונקציונליות הזו כדי לכלול תמיכה מלאה בתכנות ואיתור באגים על-שבב.
איור 4-9. יTAG בסיסי ממשק4.4.2. חיבור ל-JTAG יַעַד
ה-Atmel-ICE מצויד בשני 50 מיל 10 פינים JTAG מחברים. שני המחברים מחוברים ישירות חשמלית, אך מתאימים לשני פינים שונים; הרסיבר JTAG כותרת וכותרת ARM Cortex Debug. יש לבחור את המחבר על סמך ה-pinout של לוח היעד, ולא על סוג MCU היעד - למשלampאם התקן SAM המותקן בערימת AVR STK600 צריך להשתמש בכותרת הרסיבר.
ה-Pinout המומלץ לרסיבר 10 פינים JTAG המחבר מוצג באיור 4-6.
ה-pinout המומלץ עבור מחבר ARM Cortex Debug בעל 10 פינים מוצג באיור 4-2.
חיבור ישיר לראש סטנדרטי בן 10 פינים 50 מיל
השתמש בכבל שטוח 50 מיליליטר 10 פינים (כלול בערכות מסוימות) כדי להתחבר ישירות ללוח התומך בסוג כותרת זה. השתמש ביציאת מחבר ה-AVR ב-Atmel-ICE עבור כותרות עם ה-Pinout של AVR, וביציאת מחבר SAM עבור כותרות התואמות ל-Pinout של כותרת ARM Cortex Debug.
הפינות עבור שתי יציאות מחבר 10 פינים מוצגות להלן.
חיבור לראש רגיל 10 פינים 100 מיל
השתמש במתאם סטנדרטי של 50 מיל ל-100 מיל כדי להתחבר לכותרות של 100 מיל. למטרה זו ניתן להשתמש בלוח מתאם (הכלול בערכות מסוימות), או לחילופין ב-JTAGניתן להשתמש במתאם ICE3 עבור מטרות AVR.
חָשׁוּב:
ה- J.TAGלא ניתן להשתמש במתאם ICE3 100 מיל עם יציאת מחבר ה-SAM, מכיוון שפינים 2 ו-10 (AVR GND) על המתאם מחוברים.
חיבור לכותרת מותאמת אישית של 100 מיל
אם ללוח היעד שלך אין J 10 פינים תואםTAG כותרת ב-50 או 100 מיל, תוכלו למפות ל-pinout מותאם אישית באמצעות כבל "מיני-דיונון" בעל 10 פינים (כלול בערכות מסוימות), המעניק גישה לעשרה שקעים בודדים של 100 מיל.
חיבור לראש 20 פינים 100 מיל
השתמש בלוח המתאם (כלול בערכות מסוימות) כדי להתחבר למטרות עם כותרת 20 פינים של 100 מיל.
טבלה 4-10. Atmel-ICE JTAG תיאור סיכה
שֵׁם | AVR סיכת יציאה | SAM סיכת יציאה | תֵאוּר |
TCK | 1 | 4 | שעון בדיקה (אות שעון מה-Atmel-ICE לתוך מכשיר היעד). |
TMS | 5 | 2 | בחירת מצב בדיקה (אות בקרה מה-Atmel-ICE לתוך מכשיר היעד). |
TDI | 9 | 8 | Test Data In (נתונים משודרים מה-Atmel-ICE למכשיר היעד). |
TDO | 3 | 6 | Test Data Out (נתונים משודרים ממכשיר היעד לתוך Atmel-ICE). |
nTRST | 8 | – | איפוס בדיקה (אופציונלי, רק בחלק ממכשירי הרסיבר). משמש לאיפוס ה-JTAG בקר TAP. |
nSRST | 6 | 10 | איפוס (אופציונלי). משמש לאיפוס מכשיר היעד. חיבור פין זה מומלץ מכיוון שהוא מאפשר ל-Atmel-ICE להחזיק את מכשיר היעד במצב איפוס, מה שיכול להיות חיוני לאיפוי באגים בתרחישים מסוימים. |
VTG | 4 | 1 | כרך יעדtagהפניה. ה-Atmel-ICE samples the target voltage על פין זה על מנת להפעיל את ממירי הרמה בצורה נכונה. ה-Atmel-ICE שואב פחות מ-3mA מהפין הזה במצב debugWIRE ופחות מ-1mA במצבים אחרים. |
GND | 2, 10 | 3, 5, 9 | קרקע, אדמה. כולם חייבים להיות מחוברים כדי להבטיח שה-Atmel-ICE והתקן היעד חולקים את אותה התייחסות לקרקע. |
4.4.3.ממשק פיזי של SPI
תכנות בתוך המערכת משתמש ב-SPI הפנימי (ממשק היקפי טורי) של היעד Atmel AVR כדי להוריד קוד לזיכרונות הפלאש וה-EEPROM. זה לא ממשק ניפוי באגים. בעת תכנון PCB של יישום, הכולל AVR עם ממשק SPI, יש להשתמש ב-pinout כפי שמוצג באיור למטה.
איור 4-10. SPI Header Pinout4.4.4. חיבור ל-SPI Target
ה-pinout המומלץ עבור מחבר SPI 6 פינים מוצג באיור 4-10.
חיבור לראש 6 פינים 100-mil SPI
השתמש בברז 6 מיל עם 100 פינים בכבל השטוח (כלול בערכות מסוימות) כדי להתחבר לכותרת SPI רגילה של 100 מיל.
חיבור לראש 6 פינים 50-mil SPI
השתמש בלוח המתאם (כלול בערכות מסוימות) כדי להתחבר לכותרת SPI סטנדרטית של 50 מיליליטר.
חיבור לכותרת מותאמת אישית של 100 מיל
יש להשתמש בכבל המיני קלמארי בעל 10 פינים לחיבור בין יציאת מחבר Atmel-ICE AVR ללוח היעד. נדרשים שישה חיבורים, כמתואר בטבלה למטה.
חָשׁוּב:
ממשק ה-SPI מושבת ביעילות כאשר ה-debugWIRE enable fuse (DWEN) מתוכנת, גם אם פתיל SPIEN מתוכנת. כדי להפעיל מחדש את ממשק SPI, יש להנפיק את הפקודה 'disable debugWIRE' תוך כדי הפעלת איתור באגים של debugWIRE. השבתת debugWIRE באופן זה דורשת שהנתיך SPIEN כבר מתוכנת. אם Atmel Studio לא מצליח להשבית את debugWIRE, סביר להניח כי הנתיך SPIEN אינו מתוכנת. אם זה המקרה, יש צורך להשתמש ב-high-voltagממשק תכנות e לתכנת הנתיך SPIEN.
מידע:
ממשק SPI מכונה לעתים קרובות "ISP", מכיוון שהוא היה הממשק הראשון בתכנות מערכת במוצרי Atmel AVR. ממשקים אחרים זמינים כעת עבור תכנות במערכת.
טבלה 4-11. מיפוי פינים של Atmel-ICE SPI
פיני יציאת Atmel-ICE AVR | סיכות מטרה | סיכת מיני קלמארי |
SPI pinout |
סיכה 1 (TCK) | SCK | 1 | 3 |
פין 2 (GND) | GND | 2 | 6 |
פין 3 (TDO) | מיסו | 3 | 1 |
פין 4 (VTG) | VTG | 4 | 2 |
פינ 5 (TMS) | 5 | ||
פין 6 (nSRST) | /אִתחוּל | 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 של יישום, הכולל AVR AVR עם ממשק PDI, יש להשתמש ב-pinout המוצג באיור למטה. לאחר מכן ניתן להשתמש באחד מהמתאמי 6 הפינים המסופקים עם ערכת Atmel-ICE כדי לחבר את הגשש של Atmel-ICE ל-PCB של האפליקציה.
איור 4-11. PDI Header Pinout4.4.6. התחברות ליעד PDI
ה-pinout המומלץ עבור מחבר PDI בעל 6 פינים מוצג באיור 4-11.
חיבור לראש 6 פינים 100 מיליליטר PDI
השתמש בברז 6 מיל עם 100 פינים בכבל השטוח (כלול בערכות מסוימות) כדי להתחבר לכותרת PDI רגילה של 100 מיל.
חיבור לראש 6 פינים 50 מיליליטר PDI
השתמש בלוח המתאם (כלול בערכות מסוימות) כדי להתחבר לכותרת PDI סטנדרטית של 50 מיליליטר.
חיבור לכותרת מותאמת אישית של 100 מיל
יש להשתמש בכבל המיני קלמארי בעל 10 פינים לחיבור בין יציאת מחבר Atmel-ICE AVR ללוח היעד. נדרשים ארבעה חיבורים, כמתואר בטבלה למטה.
חָשׁוּב:
ה-Pinout הנדרש שונה מה-JTAGICE mkII JTAG בדיקה, כאשר PDI_DATA מחובר לפין 9. ה-Atmel-ICE תואם ל-Pinout המשמש את Atmel-ICE, JTAGICE3, AVR ONE!, ו-AVR Dragon™ מוצרים.
טבלה 4-12. מיפוי פינים של Atmel-ICE PDI
סיכת יציאת Atmel-ICE AVR |
סיכות מטרה | סיכת מיני קלמארי |
Atmel STK600 PDI pinout |
סיכה 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
התוכנית המאוחדת וממשק ניפוי באגים (UPDI) הוא ממשק קנייני של Atmel לתכנות חיצוני ואיתור באגים על-שבב של התקן. הוא יורש לממשק הפיזי של PDI דו-חוטי, שנמצא בכל מכשירי AVR XMEGA. UPDI הוא ממשק חוטי יחיד המספק תקשורת אסינכרונית חצי דו-כיוונית עם התקן היעד למטרות תכנות וניפוי באגים.
בעת תכנון PCB של יישום, הכולל AVR AVR עם ממשק UPDI, יש להשתמש ב-pinout המוצג להלן. לאחר מכן ניתן להשתמש באחד מהמתאמי 6 הפינים המסופקים עם ערכת Atmel-ICE כדי לחבר את הגשש של Atmel-ICE ל-PCB של האפליקציה.
איור 4-12. Pinout כותרת UPDI4.4.7.1 UPDI ו-/RESET
ממשק UPDI חוט אחד יכול להיות סיכה ייעודית או סיכה משותפת, בהתאם למכשיר הרסיבר היעד. עיין בגיליון הנתונים של המכשיר למידע נוסף.
כאשר ממשק UPDI נמצא על פין משותף, ניתן להגדיר את הפין להיות UPDI, /RESET או GPIO על ידי הגדרת נתיכים RSTPINCFG[1:0].
לנתיכים RSTPINCFG[1:0] יש את התצורות הבאות, כמתואר בגיליון הנתונים. ההשלכות המעשיות של כל בחירה מובאות כאן.
טבלה 4-13. RSTPINCFG[1:0] תצורת נתיך
RSTPINCFG[1:0] | תְצוּרָה |
נוֹהָג |
00 | GPIO | סיכת קלט/פלט לשימוש כללי. על מנת לגשת ל-UPDI, יש להפעיל פעימה של 12V על פין זה. אין מקור איפוס חיצוני זמין. |
01 | UPDI | סיכה ייעודית לתכנות ואיתור באגים. אין מקור איפוס חיצוני זמין. |
10 | אִתחוּל | אפס את כניסת האות. על מנת לגשת ל-UPDI, יש להפעיל פעימה של 12V על פין זה. |
11 | שָׁמוּר | NA |
פֶּתֶק: למכשירי AVR ישנים יותר יש ממשק תכנות, המכונה "High-Voltage Programming" (קיימים גרסאות טוריות ומקבילות.) באופן כללי ממשק זה דורש הפעלת 12V על פין /RESET למשך הפעלת התכנות. ממשק UPDI הוא ממשק אחר לגמרי. פין UPDI הוא בעיקרו פין תכנות ואיתור באגים, שניתן למזג אותו לפונקציה חלופית (/RESET או GPIO). אם נבחרה הפונקציה החלופית, יש צורך בפעימה של 12V על פין זה כדי להפעיל מחדש את פונקציונליות ה-UPDI.
פֶּתֶק: אם עיצוב דורש שיתוף של אות UPDI עקב אילוצי פינים, יש לנקוט בצעדים על מנת להבטיח שניתן לתכנת את ההתקן. כדי להבטיח שאות ה-UPDI יכול לתפקד כהלכה, כמו גם כדי למנוע נזק לרכיבים חיצוניים מהפולס של 12V, מומלץ לנתק את כל הרכיבים בפין זה בעת ניסיון לבצע ניפוי באגים או לתכנת את המכשיר. ניתן לעשות זאת באמצעות נגד 0Ω, אשר מותקן כברירת מחדל ומוסר או מוחלף בכותרת סיכה בזמן איתור באגים. תצורה זו פירושה למעשה שיש לבצע תכנות לפני הרכבת המכשיר.
חָשׁוּב: ה-Atmel-ICE אינו תומך ב-12V בקו UPDI. במילים אחרות, אם פין UPDI הוגדר כ-GPIO או RESET, Atmel-ICE לא יוכל להפעיל את ממשק UPDI.
4.4.8. התחברות ליעד UPDI
ה-pinout המומלץ עבור מחבר UPDI בעל 6 פינים מוצג באיור 4-12.
חיבור לראש UPDI 6 פינים 100 מיליליטר
השתמש בברז 6 מיל עם 100 פינים בכבל השטוח (כלול בערכות מסוימות) כדי להתחבר לכותרת UPDI סטנדרטית של 100 מיל.
חיבור לראש UPDI 6 פינים 50 מיליליטר
השתמש בלוח המתאם (כלול בערכות מסוימות) כדי להתחבר לכותרת UPDI סטנדרטית של 50 מיליליטר.
חיבור לכותרת מותאמת אישית של 100 מיל
יש להשתמש בכבל המיני קלמארי בעל 10 פינים לחיבור בין יציאת מחבר Atmel-ICE AVR ללוח היעד. נדרשים שלושה חיבורים, כמתואר בטבלה למטה.
טבלה 4-14. מיפוי פינים של Atmel-ICE UPDI
סיכת יציאת Atmel-ICE AVR | סיכות מטרה | סיכת מיני קלמארי |
Atmel STK600 UPDI pinout |
סיכה 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, יש להשתמש ב-pinout המוצג באיור למטה.
איור 4-13. TPI Header Pinout4.4.10.חיבור ליעד TPI
ה-pinout המומלץ עבור מחבר TPI בעל 6 פינים מוצג באיור 4-13.
חיבור לראש 6 פינים 100-mil TPI
השתמש בברז 6 מיל עם 100 פינים על הכבל השטוח (כלול בערכות מסוימות) כדי להתחבר לכותרת TPI רגילה של 100 מיל.
חיבור לראש 6 פינים 50-mil TPI
השתמש בלוח המתאם (כלול בערכות מסוימות) כדי להתחבר לכותרת רגילה של 50 מיליליטר TPI.
חיבור לכותרת מותאמת אישית של 100 מיל
יש להשתמש בכבל המיני קלמארי בעל 10 פינים לחיבור בין יציאת מחבר Atmel-ICE AVR ללוח היעד. נדרשים שישה חיבורים, כמתואר בטבלה למטה.
טבלה 4-15. מיפוי פינים של Atmel-ICE TPI
פיני יציאת Atmel-ICE AVR | סיכות מטרה | סיכת מיני קלמארי |
pinout TPI |
סיכה 1 (TCK) | שָׁעוֹן | 1 | 3 |
פין 2 (GND) | GND | 2 | 6 |
פין 3 (TDO) | נְתוּנִים | 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.11. איתור באגים מתקדם (AVR JTAG /debugWIRE התקני)
ציוד קלט/פלט
רוב ציוד הקלט/פלט ימשיך לפעול למרות שהפעלת התוכנית נעצרת על ידי נקודת שבירה. לְשֶׁעָבַרample: אם הושגה נקודת שבירה במהלך שידור UART, השידור יושלם ויוגדרו סיביות מתאימות. דגל ה-TXC (השידור הושלם) יוגדר ויהיה זמין בשלב הבא של הקוד למרות שבדרך כלל זה יקרה מאוחר יותר במכשיר בפועל.
כל מודולי הקלט/פלט ימשיכו לפעול במצב עצור למעט שני החריגים הבאים:
- טיימר/מונים (ניתן להגדרה באמצעות חזית התוכנה)
- טיימר כלב שמירה (מופסק תמיד כדי למנוע איפוסים במהלך איתור באגים)
גישת קלט/פלט בדרגה אחת
מכיוון שהקלט/פלט ממשיך לפעול במצב עצור, יש להקפיד להימנע מבעיות תזמון מסוימות. למשלample, הקוד:
בעת הפעלת קוד זה כרגיל, האוגר TEMP לא יקרא בחזרה 0xAA מכיוון שהנתונים עדיין לא היו ננעלים פיזית לפין עד שהוא sampבהובלת מבצע IN. יש למקם הוראת NOP בין הוראת OUT ל-IN כדי להבטיח שהערך הנכון קיים באוגר ה-PIN.
עם זאת, כאשר מעבירים פונקציה זו דרך ה-OCD, קוד זה תמיד ייתן 0xAA בפנקס ה-PIN מכיוון שהקלט/פלט פועל במלוא המהירות גם כאשר הליבה נעצרת במהלך השלב הבודד.
צעד בודד ותזמון
יש לקרוא או לכתוב אוגרים מסוימים בתוך מספר נתון של מחזורים לאחר הפעלת אות בקרה. מכיוון ששעון הקלט/פלט והציוד ההיקפי ממשיכים לפעול במלוא המהירות במצב עצור, צעד בודד בקוד כזה לא יעמוד בדרישות התזמון. בין שני שלבים בודדים, ייתכן ששעון הקלט/פלט רץ מיליוני מחזורים. כדי להצליח לקרוא או לכתוב אוגרים עם דרישות תזמון כאלה, יש לבצע את כל רצף הקריאה או הכתיבה כפעולה אטומית שמפעילה את המכשיר במלוא המהירות. ניתן לעשות זאת על ידי שימוש במאקרו או קריאת פונקציה לביצוע הקוד, או להשתמש בפונקציית הרצה לסמן בסביבת ניפוי הבאגים
גישה לרשמים של 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 הפנימי, שים לב שהתדר עשוי להשתנות ממכשיר למכשיר ומושפע מטמפרטורה ו-VCC שינויים. היה שמרני בעת ציון תדר שעון היעד.
JTAGנתיכים EN ו-OCDEN
ה- J.TAG הממשק מופעל באמצעות ה-JTAGEN נתיך, אשר מתוכנת כברירת מחדל. זה מאפשר גישה ל-JTAG ממשק תכנות. באמצעות מנגנון זה, ניתן לתכנת את הנתיך OCDEN (כברירת מחדל OCDEN אינו מתוכנת). זה מאפשר גישה ל-OCD על מנת להקל על איתור באגים במכשיר. חזית התוכנה תמיד תבטיח שהנתיך OCDEN יישאר לא מתוכנת בעת סיום הפעלה, ובכך יגביל את צריכת החשמל המיותרת על ידי מודול ה-OCD. אם ה-JTAGנתיך EN מושבת בטעות, ניתן להפעיל אותו מחדש רק באמצעות SPI או High Voltagשיטות תכנות אלקטרוניות.
אם ה-JTAGהנתיך EN מתוכנת, ה-JTAG עדיין ניתן להשבית את הממשק בקושחה על ידי הגדרת סיביות JTD. זה יהפוך את הקוד לבלתי ניתן לניפוי באגים, ואין לעשות זאת בעת ניסיון הפעלת ניפוי באגים. אם קוד כזה כבר מופעל במכשיר ה-Atmel AVR בעת התחלת הפעלת ניפוי באגים, ה-Atmel-ICE יקבע את קו ה-RESET בזמן החיבור. אם קו זה מחובר כהלכה, הוא יאלץ את מכשיר הרסיבר היעד לאפס, ובכך יאפשר JTAG קֶשֶׁר.
אם ה-JTAG הממשק מופעל, ה-JTAG לא ניתן להשתמש בפינים עבור פונקציות פינים חלופיות. הם יישארו מסור JTAG סיכות עד ל-JTAG הממשק מושבת על ידי הגדרת סיביות JTD מקוד התוכנית, או על ידי ניקוי ה-JTAGEN נתיך דרך ממשק תכנות.
עֵצָה:
הקפד לסמן את תיבת הסימון "השתמש באיפוס חיצוני" גם בתיבת הדו-שיח של התכנות וגם בתיבת הדו-שיח של אפשרויות ניפוי הבאגים כדי לאפשר ל-Atmel-ICE להצהיר על קו האיפוס ולהפעיל מחדש את ה-JTAG ממשק במכשירים שבהם פועל קוד אשר משבית את ה-JTAG ממשק על ידי הגדרת סיביות JTD.
אירועי IDR/OCDR
ה-IDR (In-out Data Register) ידוע גם בשם OCDR (On Chip Debug Register), והוא נמצא בשימוש נרחב על ידי מאפר הבאגים כדי לקרוא ולכתוב מידע ל-MCU כאשר הוא נמצא במצב עצור במהלך הפעלת ניפוי באגים. כאשר תוכנית היישום במצב הפעלה כותבת בייט של נתונים ל-OCDR של מכשיר הרסיבר המנוגד באגים, ה-Atmel-ICE קורא את הערך הזה ומציג אותו בחלון ההודעות של חזית התוכנה. מאגר ה-OCDR נבדק כל 50 שניות, כך שכתיבה אליו בתדירות גבוהה יותר לא תניב תוצאות אמינות. כאשר התקן הרסיבר מאבד את החשמל בזמן שהוא נמצא בניפוי באגים, ייתכן שידווח על אירועי OCDR מזויפים. זה קורה מכיוון שה-Atmel-ICE עדיין עשוי לסקור את המכשיר בתור כרך היעדtage יורד מתחת לנפח הפעולה המינימלי של הרסיברtage.
4.4.13. AVR XMEGA שיקולים מיוחדים
OCD ושעון
כאשר ה-MCU נכנס למצב עצור, שעון ה-OCD משמש כשעון MCU. שעון ה-OCD הוא ה-JTAG 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:
- היכנסו לאטמל-ICE. אפשרויות בתפריט כלים ומאפשרות "הפעל תמיד איפוס חיצוני בעת תכנות מחדש של מכשיר".
- בצע מחיקת שבב
מצבי השינה שמפעילים את הבאג הזה הם:
- הפסקת חשמל
- שמירת כח
- המתנה
- המתנה מורחבת
4.4.1.debugWIRE שיקולים מיוחדים
פין התקשורת של debugWIRE (dW) ממוקם פיזית באותו פין כמו האיפוס החיצוני (RESET). לכן, מקור איפוס חיצוני אינו נתמך כאשר ממשק debugWIRE מופעל.
יש להגדיר את ה-debugWIRE Enable fuse (DWEN) בהתקן היעד כדי שממשק debugWIRE יפעל. נתיך זה כברירת מחדל אינו מתוכנת כאשר התקן Atmel AVR נשלח מהמפעל. לא ניתן להשתמש בממשק debugWIRE עצמו כדי להגדיר את הפתיל הזה. על מנת להגדיר את נתיך DWEN, יש להשתמש במצב SPI. החזית הקדמית של התוכנה מטפלת בכך באופן אוטומטי בתנאי שהפינים הדרושים ל-SPI מחוברים. ניתן להגדיר אותו גם באמצעות תכנות SPI מתיבת הדו-שיח לתכנות Atmel Studio.
אוֹ: נסה להתחיל הפעלת ניפוי באגים בחלק debugWIRE. אם ממשק debugWIRE אינו מופעל, Atmel Studio יציע לנסות שוב, או לנסות להפעיל את debugWIRE באמצעות תכנות SPI. אם יש לך את כותרת ה-SPI המלאה מחוברת, debugWIRE יופעל, ותתבקש להפעיל את המתח על היעד. זה נדרש כדי שהשינויים בנתיכים יהיו יעילים.
אוֹ: פתח את תיבת הדו-שיח של התכנות במצב SPI וודא שהחתימה תואמת להתקן הנכון. בדוק את הנתיך של DWEN כדי להפעיל debugWIRE.
חָשׁוּב:
חשוב להשאיר את הנתיך SPIEN מתוכנת, את הנתיך RSTDISBL לא מתוכנת! אי ביצוע זה יגרום למכשיר להיות תקוע במצב debugWIRE, ו-High Voltagיידרש תכנות כדי להחזיר את הגדרת ה-DWEN.
כדי להשבית את ממשק debugWIRE, השתמש ב- High Voltagתכנות לביטול תכנות הנתיך DWEN. לחלופין, השתמש בממשק debugWIRE עצמו כדי להשבית את עצמו באופן זמני, מה שיאפשר תכנות SPI להתקיים, בתנאי שהנתיך SPIEN מוגדר.
חָשׁוּב:
אם פיוז SPIEN לא נותר מתוכנת, Atmel Studio לא יוכל להשלים פעולה זו, ו- High Voltagיש להשתמש בתכנות אלקטרוני.
במהלך הפעלת ניפוי באגים, בחר באפשרות 'השבת debugWIRE וסגור' מתפריט 'ניפוי באגים'. DebugWIRE יושבת באופן זמני, ו-Atmel Studio ישתמש בתכנות SPI כדי לבטל את התכנות של הנתיך DWEN.
תוכנת פיוז DWEN מאפשרת לחלקים מסוימים של מערכת השעון לפעול בכל מצבי השינה. זה יגדיל את צריכת החשמל של הרסיבר במצב שינה. לכן יש להשבית את ה-DWEN Fuse תמיד כאשר לא נעשה שימוש ב-debugWIRE.
בעת תכנון PCB של יישום יעד שבו ייעשה שימוש ב-debugWIRE, יש לקחת את השיקולים הבאים לפעולה נכונה:
- נגדים למשוך למעלה בקו dW/(RESET) לא יהיו קטנים (חזקים יותר) מ-10kΩ. הנגד המשיכה אינו נדרש עבור פונקציונליות debugWIRE, מכיוון שכלי איתור הבאגים מספק
- כל קבל מייצב המחובר לפין RESET חייב להיות מנותק בעת שימוש ב-debugWIRE, מכיוון שהם יפריעו לפעולה נכונה של הממשק
- יש לנתק את כל מקורות האיפוס החיצוניים או מנהלי התקנים פעילים אחרים בקו RESET, מכיוון שהם עלולים להפריע לפעולה הנכונה של הממשק
לעולם אל תתכנת את סיביות הנעילה במכשיר היעד. ממשק debugWIRE מחייב לנקות סיביות נעילה כדי לתפקד כהלכה.
4.4.15. נקודות פריצה של תוכנת debugWIRE
ה-debugWIRE OCD מצטמצם באופן דרסטי בהשוואה ל-Atmel megaAVR (JTAG) OCD. משמעות הדבר היא שאין לה שום השוואת נקודות שבירה של תוכניות נגד נקודות הזמינות למשתמש למטרות ניפוי באגים. משווה אחד כזה אכן קיים למטרות של הפעלה לסמן ופעולות חד-שלביות, אך נקודות עצירה נוספות של משתמש אינן נתמכות בחומרה.
במקום זאת, מאתר הבאגים חייב לעשות שימוש בהוראת AVR BREAK. ניתן למקם הוראה זו ב-FLASH, וכאשר היא נטען לביצוע היא תגרום למעבד הרסיבר להיכנס למצב עצור. כדי לתמוך בנקודות עצירה במהלך איתור באגים, מאתר הבאגים חייב להכניס הוראה BREAK ל-FLASH בנקודה שבה המשתמשים מבקשים נקודת עצירה. יש לשמור את ההוראה המקורית במטמון להחלפה מאוחרת יותר.
כאשר חורגים בודדים על הוראת BREAK, מאתר הבאגים צריך לבצע את ההוראה המקורית המאוחסנת במטמון כדי לשמר את התנהגות התוכנית. במקרים קיצוניים, יש להסיר את ה-BREAK מ-FLASH ולהחליף אותו מאוחר יותר. כל התרחישים הללו עלולים לגרום לעיכובים לכאורה בעת דריכה בודדת מנקודות שבירה, אשר יחמירו כאשר תדר שעון היעד נמוך מאוד.
לכן מומלץ להקפיד על ההנחיות הבאות, במידת האפשר:
- הפעל תמיד את המטרה בתדירות גבוהה ככל האפשר במהלך איתור באגים. הממשק הפיזי של debugWIRE מתועד משעון היעד.
- נסה לצמצם את מספר ההוספות וההסרות של נקודות שבירה, מכיוון שכל אחת מהן דורשת החלפת דף FLASH על היעד
- נסה להוסיף או להסיר מספר קטן של נקודות שבירה בו-זמנית, כדי למזער את מספר פעולות הכתיבה של עמוד FLASH
- במידת האפשר, הימנע מהצבת נקודות שבירה על הוראות של מילים כפולות
4.4.16. הבנת debugWIRE וה-DWEN Fuse
כאשר מופעל, ממשק debugWIRE משתלט על פין /RESET של המכשיר, מה שהופך אותו לבלעדי הדדית לממשק SPI, שגם הוא צריך את הפין הזה. בעת הפעלה והשבתה של מודול debugWIRE, בצע אחת משתי הגישות הבאות:
- תן לאטמל סטודיו לטפל בדברים (מומלץ)
- הגדר ונקה DWEN באופן ידני (היזהר, משתמשים מתקדמים בלבד!)
חָשׁוּב: בעת מניפולציה ידנית של DWEN, חשוב שהנתיך SPIEN יישאר מוגדר כדי למנוע צורך להשתמש ב- High-Voltagתכנות אלקטרוני
איור 4-14. הבנת debugWIRE וה-DWEN Fuse4.4.17. שיקולים מיוחדים של TinyX-OCD (UPDI).
פין הנתונים של UPDI (UPDI_DATA) יכול להיות סיכה ייעודית או סיכה משותפת, בהתאם להתקן הרסיבר היעד. פין UPDI משותף הוא סובלני ל-12V, וניתן להגדיר אותו לשימוש כ-/RESET או GPIO. לפרטים נוספים על אופן השימוש בפין בתצורות אלה, ראה ממשק פיזי של UPDI.
בהתקנים הכוללים את מודול CRCSCAN (סריקת זיכרון מחזורית) אין להשתמש במודול זה במצב רקע רציף בזמן איתור באגים. למודול OCD יש משאבי השוואת נקודות שבירה מוגבלים בחומרה, כך שהוראות BREAK עשויות להיות מוכנסות ל-Flash (נקודות שבירה של תוכנה) כאשר נדרשות נקודות שבירה נוספות, או אפילו במהלך צעדי קוד ברמת המקור. מודול ה-CRC עלול לזהות באופן שגוי נקודת עצירה זו כפגיעה בתוכן זיכרון הפלאש.
ניתן גם להגדיר את מודול CRCSCAN לביצוע סריקת CRC לפני האתחול. במקרה של אי התאמה של CRC, המכשיר לא יאתחל, ונראה במצב נעול. הדרך היחידה לשחזר את ההתקן ממצב זה היא לבצע מחיקת שבב מלאה ולתכנת תמונת פלאש חוקית או להשבית את ה-CRCSCAN לפני האתחול. (מחיקת שבב פשוטה תגרום להבזק ריק עם CRC לא חוקי, והחלק עדיין לא יאתחל.) Atmel Studio ישבית אוטומטית את נתיכים CRCSCAN בעת מחיקת שבב של התקן במצב זה.
בעת תכנון PCB של יישום יעד שבו ישמש ממשק UPDI, יש לקחת את השיקולים הבאים לפעולה נכונה:
- נגדי משיכה בקו UPDI לא יהיו קטנים יותר (חזקים יותר) מ-10kΩ. אין להשתמש בנגד נשלף, או שיש להסירו בעת שימוש ב-UPDI. ה-UPDI הפיזיקלי מסוגל לדחוף-משיכה, כך שנדרש רק נגד משיכה חלש כדי למנוע הפעלת bit start-false כאשר הקו
- אם יש להשתמש בפין UPDI בתור פין RESET, יש לנתק כל קבל מייצב בעת שימוש ב-UPDI, מכיוון שהוא יפריע לפעולה נכונה של הממשק
- אם פין UPDI משמש בתור פין RESET או GPIO, יש לנתק את כל מנהלי ההתקנים החיצוניים בקו במהלך תכנות או איתור באגים מכיוון שהם עלולים להפריע לפעולה הנכונה של הממשק.
תיאור החומרה
5.1. נוריות
ללוח העליון של Atmel-ICE יש שלוש נוריות שמציינות את המצב של הפעלות נוכחיות של ניפוי באגים או תכנות.
לוּחַ 5-1. נוריות
LED | פוּנקצִיָה |
תֵאוּר |
שְׁמֹאל | כוח מטרה | ירוק כאשר כוח המטרה בסדר. מהבהב מצביע על שגיאת כוח מטרה. לא נדלק עד שמתחיל חיבור להפעלת תכנות/ניפוי באגים. |
אֶמצַע | כוח עיקרי | אדום כאשר מתח הלוח הראשי תקין. |
יָמִינָה | סטָטוּס | מהבהב ירוק כאשר המטרה פועלת/דורכת. כבוי כאשר המטרה נעצרת. |
5.2 . פאנל אחורי
הפאנל האחורי של Atmel-ICE מכיל את מחבר ה-USB Micro-B.5.3. פנל תחתון
בלוח התחתון של Atmel-ICE יש מדבקה המציגה את המספר הסידורי ותאריך הייצור. כאשר אתה מחפש תמיכה טכנית, כלול פרטים אלה.5.4 תיאור אדריכלות
ארכיטקטורת Atmel-ICE מוצגת בתרשים הבלוק באיור 5-1.
איור 5-1. תרשים בלוקים של Atmel-ICE5.4.1. לוח ראשי של Atmel-ICE
מתח מסופק ל-Atmel-ICE מאפיק ה-USB, מווסת ל-3.3V על ידי וסת מצב מתג מטה. פין VTG משמש ככניסת ייחוס בלבד, וספק כוח נפרד מזין את נפח המשתנהtagהצד השני של הממירים ברמת הלוח. בלב הלוח הראשי של Atmel-ICE נמצא המיקרו-בקר Atmel AVR UC3 AT32UC3A4256, הפועל במהירות בין 1MHz ל-60MHz בהתאם למשימות המעובדות. המיקרו-בקר כולל מודול USB 2.0 במהירות גבוהה על-שבב, המאפשר תפוקת נתונים גבוהה אל וממנו את הבאגים.
התקשורת בין Atmel-ICE למכשיר היעד נעשית באמצעות בנק ממירי רמה המעבירים אותות בין נפח הפעולה של המטרהtagה וכרך הפנימיtagרמה e על Atmel-ICE. כמו כן בנתיב האותות זנר overvoltagדיודות הגנה e, נגדי סיום סדרה, מסננים אינדוקטיביים ודיודות הגנה ESD. ניתן להפעיל את כל ערוצי האותות בטווח של 1.62V עד 5.5V, אם כי החומרה של Atmel-ICE אינה יכולה לגרש ווליום גבוה יותרtage מ-5.0V. תדירות ההפעלה המקסימלית משתנה בהתאם לממשק היעד בשימוש.
5.4.2. מחברי יעד Atmel-ICE
ל-Atmel-ICE אין בדיקה פעילה. כבל IDC של 50 מיליליטר משמש לחיבור לאפליקציית היעד ישירות או דרך המתאמים הכלולים בערכות מסוימות. למידע נוסף על הכבלים והמתאמים, ראה סעיף הרכבת ה-Atmel-ICE
5.4.3. Atmel-ICE Target Connectors מספרי חלק
על מנת לחבר את כבל IDC של Atmel-ICE 50 מיליליטר ישירות ללוח יעד, כל כותרת סטנדרטית של 50 מיל 10 פינים אמורה להספיק. מומלץ להשתמש בכותרות מגוונות כדי להבטיח כיוון נכון בעת החיבור למטרה, כגון אלו המשמשות בלוח המתאם המצורף לערכה.
מספר החלק של כותרת זו הוא: FTSH-105-01-L-DV-KAP מבית SAMTEC
שילוב תוכנה
6.1. סטודיו אטמל
6.1.1.שילוב תוכנה בסטודיו Atmel
Atmel Studio הוא סביבת פיתוח משולבת (IDE) לכתיבה וניפוי באגים של יישומי Atmel AVR ו-Atmel SAM בסביבות Windows. Atmel Studio מספק כלי לניהול פרויקטים, מקור file עורך, סימולטור, אסמבלר ו-front-end עבור C/C++, תכנות, אמולציה ואיתור באגים על-שבב.
יש להשתמש ב-Atmel Studio בגרסה 6.2 ואילך בשילוב עם Atmel-ICE.
6.1.2. אפשרויות תכנות
Atmel Studio תומך בתכנות של מכשירי Atmel AVR ו-Atmel SAM ARM באמצעות Atmel-ICE. ניתן להגדיר את תיבת הדו-שיח לתכנות לשימוש ב-JTAGמצבי , aWire, SPI, PDI, TPI, SWD, בהתאם להתקן היעד שנבחר.
בעת הגדרת תדר השעון, חלים כללים שונים עבור ממשקים ומשפחות יעד שונים:
- תכנות SPI עושה שימוש בשעון היעד. הגדר את תדר השעון כך שיהיה נמוך מרבע מהתדר שבו מכשיר היעד פועל כעת.
- JTAG תכנות במכשירי Atmel megaAVR מתבצע על ידי ה- משמע שתדר שעון התכנות מוגבל לתדר ההפעלה המקסימלי של המכשיר עצמו. (בדרך כלל 16MHz.)
- תכנות AVR XMEGA בשני JTAG וממשקי PDI מתוכננים על ידי המתכנת. המשמעות היא שתדר שעון התכנות מוגבל לתדר ההפעלה המקסימלי של המכשיר (בדרך כלל 32MHz).
- תכנות AVR UC3 ב-JTAG הממשק מתוכנן על ידי המתכנת. המשמעות היא שתדר שעון התכנות מוגבל לתדר ההפעלה המקסימלי של המכשיר עצמו. (מוגבל ל-33MHz.)
- תכנות AVR UC3 בממשק aWire מתבצע על ידי התדר האופטימלי ניתן על ידי מהירות האוטובוס SAB בהתקן היעד. מאתר הבאגים של Atmel-ICE יכוון אוטומטית את קצב ההחזרה של aWire כדי לעמוד בקריטריונים האלה. למרות שבדרך כלל אין צורך בכך, המשתמש יכול להגביל את קצב הביאוד המרבי במידת הצורך (למשל בסביבות רועשות).
- תכנות התקן SAM בממשק SWD מתבצע על ידי המתכנת. התדר המרבי הנתמך על ידי Atmel-ICE הוא 2MHz. התדר לא יעלה על תדירות ה-CPU של היעד כפול 10, fSWD ≤ 10fSYSCLK.
6.1.3.אפשרויות ניפוי באגים
בעת איתור באגים במכשיר Atmel AVR באמצעות Atmel Studio, הכרטיסייה 'כלי' במאפייני הפרויקט view מכיל כמה אפשרויות תצורה חשובות. האפשרויות הדורשות הסבר נוסף מפורטות כאן.
תדר שעון יעד
הגדרה מדויקת של תדר שעון היעד היא חיונית כדי להשיג איתור באגים אמין של מכשיר Atmel megaAVR דרך JTAG מִמְשָׁק. הגדרה זו צריכה להיות פחות מרבע מתדירות ההפעלה הנמוכה ביותר של מכשיר היעד של הרסיבר שלך באפליקציה שניתקה באגים. ראה שיקולים מיוחדים של megaAVR למידע נוסף.
הפעלות ניפוי באגים במכשירי יעד של debugWIRE מתועדות על ידי מכשיר היעד עצמו, ולפיכך אין צורך בהגדרת תדר. ה-Atmel-ICE יבחר אוטומטית את קצב הביאוד הנכון לתקשורת בתחילת הפעלת ניפוי באגים. עם זאת, אם אתה נתקל בבעיות אמינות הקשורות לסביבת ניפוי באגים רועשת, כלים מסוימים מציעים את האפשרות לאלץ את מהירות debugWIRE לשבריר מההגדרה "המומלצת" שלה.
ניתן להפעיל הפעלות ניפוי באגים במכשירי יעד של AVR XMEGA עד למהירות המרבית של המכשיר עצמו (בדרך כלל 32MHz).
איתור באגים במכשירי יעד של AVR UC3 דרך ה-JTAG ניתן להפעיל את הממשק עד למהירות המרבית של המכשיר עצמו (מוגבל ל-33MHz). עם זאת, התדר האופטימלי יהיה מעט מתחת לשעון SAB הנוכחי במכשיר היעד.
הפעלות ניפוי באגים במכשירי יעד UC3 דרך ממשק aWire יכווננו אוטומטית לקצב השאיפה האופטימלי על ידי ה-Atmel-ICE עצמו. עם זאת, אם אתה נתקל בבעיות אמינות הקשורות לסביבת ניפוי באגים רועשת, כלים מסוימים מציעים את האפשרות לכפות על מהירות aWire מתחת לגבול שניתן להגדרה.
ניתן להפעיל הפעלות ניפוי באגים בהתקני יעד SAM דרך ממשק SWD עד פי עשרה משעון המעבד (אך מוגבל ל-2MHz מקסימום).
שמור על EEPROM
בחר באפשרות זו כדי למנוע מחיקת ה-EEPROM במהלך תכנות מחדש של היעד לפני הפעלת ניפוי באגים.
השתמש באיפוס חיצוני
אם יישום היעד שלך משבית את ה-JTAG ממשק, יש להוריד את האיפוס החיצוני נמוך במהלך התכנות. בחירה באפשרות זו מונעת נשאל שוב ושוב אם להשתמש באיפוס החיצוני.
6.2 שירות שורת הפקודה
Atmel Studio מגיע עם כלי שורת פקודה בשם atprogram שניתן להשתמש בו כדי לתכנת מטרות באמצעות Atmel-ICE. במהלך התקנת Atmel Studio קיצור דרך בשם "Atmel Studio 7.0. שורת הפקודה" נוצרו בתיקיית Atmel בתפריט התחל. בלחיצה כפולה על קיצור זה תיפתח שורת פקודה וניתן להזין פקודות תכנות. כלי השירות של שורת הפקודה מותקן בנתיב ההתקנה של Atmel Studio בתיקייה Atmel/Atmel Studio 7.0/atbackend/.
כדי לקבל עזרה נוספת בכלי השירות של שורת הפקודה הקלד את הפקודה:
atprogram –עזרה
טכניקות ניפוי באגים מתקדמות
7.1. Atmel AVR UC3 Targets
7.1.1. שימוש ב-EVTI / EVTO
פיני EVTI ו-EVTO אינם נגישים ב-Atmel-ICE. עם זאת, עדיין ניתן להשתמש בהם בשילוב עם ציוד חיצוני אחר.
ניתן להשתמש ב-EVTI למטרות הבאות:
- ניתן לאלץ את המטרה להפסיק את הביצוע בתגובה לאירוע חיצוני. אם הסיביות של Event In Control (EIC) באוגר DC נכתבות ל-0b01, מעבר גבוה לנמוך בפין EVTI יפיק מצב של נקודת שבירה. EVTI חייב להישאר נמוך למשך מחזור שעון אחד של מעבד כדי להבטיח שנקודת עצירה היא סיבית נקודת הפריצה החיצונית (EXB) ב-DS מוגדרת כאשר זה מתרחש.
- הפקת הודעות סינכרון עקבות. לא בשימוש על ידי Atmel-ICE. ניתן להשתמש ב-EVTO למטרות הבאות:
- מציין שה-CPU נכנס לניפוי באגים הגדרת סיביות ה-EOS ב-DC ל-0b01 גורמת לפין EVTO להימשך נמוך למשך מחזור שעון אחד של המעבד כאשר התקן היעד נכנס למצב ניפוי באגים. אות זה יכול לשמש כמקור טריגר לאוסילוסקופ חיצוני.
- מציין שה-CPU הגיע לנקודת שבירה או נקודת שמירה. על ידי הגדרת סיביות ה-EOC ב-Backpoint/Watchpoint Control Register תואם, מצב נקודת הפריצה או נקודת השמירה מסומן על פין ה-EVTO. יש להגדיר את סיביות ה-EOS ב-DC ל-0xb10 כדי להפעיל תכונה זו. לאחר מכן ניתן לחבר את סיכת ה-EVTO לאוסילוסקופ חיצוני על מנת לבחון את נקודת השמירה
- הפקת אותות תזמון מעקב. לא בשימוש על ידי Atmel-ICE.
7.2 יעדי debugWIRE
נקודות פריצת תוכנה 7.2.1.debugWIRE
ה-debugWIRE OCD מצטמצם באופן דרסטי בהשוואה ל-Atmel megaAVR (JTAG) OCD. משמעות הדבר היא שאין לה שום השוואת נקודות שבירה של תוכניות נגד נקודות הזמינות למשתמש למטרות ניפוי באגים. משווה אחד כזה אכן קיים למטרות של הפעלה לסמן ופעולות חד-שלביות, אך נקודות עצירה נוספות של משתמש אינן נתמכות בחומרה.
במקום זאת, מאתר הבאגים חייב לעשות שימוש בהוראת AVR BREAK. ניתן למקם הוראה זו ב-FLASH, וכאשר היא נטען לביצוע היא תגרום למעבד הרסיבר להיכנס למצב עצור. כדי לתמוך בנקודות עצירה במהלך איתור באגים, מאתר הבאגים חייב להכניס הוראה 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 כוח מטרה. |
1.13 | 08.04.2014 | JTAG תיקון תדר שעון. תיקון עבור debugWIRE עם SUT ארוך. פקודת כיול מתנד קבועה. |
1.09 | 12.02.2014 | מהדורה ראשונה של Atmel-ICE. |
8.2 .בעיות ידועות בנוגע לאטמל-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 תת חלק ב'
- 2002/95/EC (RoHS, WEEE)
הסטנדרטים הבאים משמשים להערכה:
- EN 61000-6-1 (2007)
- EN 61000-6-3 (2007) + A1(2011)
- FCC CFR 47 חלק 15 (2013)
הבנייה הטכנית File נמצא ב:
נעשה כל מאמץ כדי למזער פליטות אלקטרומגנטיות ממוצר זה. עם זאת, בתנאים מסוימים, המערכת (מוצר זה המחובר למעגל יישום יעד) עשויה לפלוט תדרי רכיבים אלקטרומגנטיים בודדים החורגים מהערכים המקסימליים המותרים בתקנים הנ"ל. תדירות וגודל הפליטות ייקבעו על ידי מספר גורמים, כולל פריסה וניתוב של אפליקציית היעד איתה נעשה שימוש במוצר.
היסטוריית גרסאות
דוק. לְהַאִיץ. |
תַאֲרִיך |
הערות |
42330C | 10/2016 | נוסף ממשק UPDI והיסטוריית שחרור קושחה מעודכנת |
42330B | 03/2016 | • פרק ניפוי באגים על שבב מתוקן • עיצוב חדש של היסטוריית שחרור קושחה בפרק היסטוריית שחרורים ובעיות ידועות • התווסף פינ-אאוט של כבל ניפוי באגים |
42330A | 06/2014 | פרסום מסמך ראשוני |
אטמל®, הלוגו של Atmel ושילובים שלו, המאפשרים אפשרויות בלתי מוגבלות®, AVR®, megaAVR®, STK®, AVR זעיר®, XMEGA®, ואחרים הם סימנים מסחריים רשומים או סימנים מסחריים של Atmel Corporation בארה"ב ובמדינות אחרות. זְרוֹעַ®, ARM מחובר® לוגו, קורטקס®, ואחרים הם הסימנים המסחריים הרשומים או הסימנים המסחריים של ARM Ltd. Windows® הוא סימן מסחרי רשום של Microsoft Corporation בארה"ב או במדינות אחרות. מונחים ושמות מוצרים אחרים עשויים להיות סימנים מסחריים של אחרים.
כתב ויתור: המידע במסמך זה מסופק בקשר למוצרי Atmel. שום רישיון, מפורש או משתמע, בהסגרה או בכל דרך אחרת, לכל זכות קניין רוחני לא ניתן במסמך זה או בקשר למכירת מוצרי אטמל. למעט כפי שנקבע בתנאים ותנאי המכירה של אטמל הממוקמים על אטמל WEBהאתר, ATMEL אינה נושאת באחריות כלשהי ומתנערת מכל אחריות מפורשת, משתמעת או חוקתית המתייחסת למוצריה, לרבות, אך לא מוגבלת, האחריות המשתמעת של סחירות, התאמה, התאמה, התאמה והתאמה. בשום מקרה אטמל לא תישא באחריות לכל נזק ישיר, עקיף, תוצאתי, עונשי, מיוחד או מקרי (כולל, ללא הגבלה, נזקים בגין אובדן ורווחים, הפרעה עסקית, או אובדן שימוש מחוץ לשימוש או אובדן) מסמך זה, גם אם יעוץ ל-ATMEL
לאפשרות של נזקים כאלה. אטמל אינה מציגה כל מצג או אחריות ביחס לדיוק או שלמות התוכן של מסמך זה ושומרת לעצמה את הזכות לבצע שינויים במפרטים ובתיאורי המוצרים בכל עת ללא הודעה מוקדמת. אטמל אינה מתחייבת לעדכן את המידע הכלול בזאת. אלא אם צוין אחרת במפורש, מוצרי Atmel אינם מתאימים, ולא ישמשו ביישומי רכב. מוצרי Atmel אינם מיועדים, מורשים או מורשים לשימוש כרכיבים ביישומים שנועדו לתמוך או לקיים חיים.
כתב ויתור על יישומים קריטיים לבטיחות, צבאיים ומכוניות: מוצרי Atmel אינם מיועדים ולא ישמשו בקשר עם יישומים כלשהם שבהם סביר להניח שכשל במוצרים כאלה יוביל לפציעה או מוות משמעותית ("בטיחות קריטי". בקשות") ללא הסכמה ספציפית בכתב של קצין אטמל. יישומים קריטיים לבטיחות כוללים, ללא הגבלה, מכשירים ומערכות תומכות חיים, ציוד או מערכות להפעלת מתקנים גרעיניים ומערכות נשק. מוצרי Atmel אינם מתוכננים ואינם מיועדים לשימוש ביישומים או בסביבות צבאיות או תעופה וחלל, אלא אם כן צוינו במפורש על ידי Atmel כדרגה צבאית. מוצרי Atmel אינם מתוכננים ואינם מיועדים לשימוש ביישומי רכב אלא אם כן צוינו במפורש על ידי Atmel כבעלי דרגת רכב.
תאגיד אטמל
1600 Technology Drive, San Jose, CA 95110 ארה"ב
T: (+1)(408) 441.0311
F: (+1)(408) 436.4200
www.atmel.com
© 2016 Atmel Corporation.
Rev.: Atmel-42330C-Atmel-ICE_User Guide-10/2016
מסמכים / משאבים
![]() |
Atmel מתכנתי Debugger Atmel-ICE [pdfמדריך למשתמש מתכנתי Debugger Atmel-ICE, The Atmel-ICE, מתכנתי באגים, מתכנתים |