הבית > תערוכה > תוכן

מערכת ניטור באגים

Mar 08, 2019

ניקוי באגים מוטבע עשוי להתבצע ברמות שונות, בהתאם למתקנים הזמינים. הערכים השונים המאפיינים את הצורות השונות של איתור באגים מוטבעים הם: האם הוא מאט את היישום הראשי, עד כמה קרוב המערכת או היישום המפותחים למערכת או היישום בפועל, כיצד הבעה הם הגורמים שניתן להגדיר עבור איתור באגים (לדוגמה, לבדוק את הזיכרון כאשר מגיע ערך מסוים של תוכנית), ומה ניתן לבדוק בתהליך איתור הבאגים (כגון זיכרון, זיכרון או רושם וכו ').


מ הפשוטה ביותר מתוחכם הם יכולים להיות מקובצים בגסות לתוך בתחומים הבאים:


ניפוי באגים אינטראקטיבי, תוך שימוש בקליפה פשוטה המסופקת על ידי מערכת ההפעלה המשובצת (למשל Forth and Basic)

ניקוי באגים חיצוני באמצעות כניסה או יציאה יציאה טורית כדי לעקוב אחר פעולה באמצעות צג או פלאש באמצעות שרת באגים כמו Debugg Remedy כי אפילו עובד עבור מערכות מרובות ליבות הטרוגניות.

מאתר באגים במעגל (ICD), התקן חומרה המתחבר למיקרו באמצעות ממשק JTAG או Nexus. זה מאפשר את הניתוח של המיקרו להיות נשלט חיצונית, אבל הוא מוגבל בדרך כלל יכולות איתור באגים ספציפיים במעבד.

אמולטור במעגל (ICE) מחליף את המיקרו-מעבד עם מקביל סימולציה, ומספק שליטה מלאה על כל ההיבטים של המיקרו.

אמולטור מלא מספק סימולציה של כל ההיבטים של החומרה, ומאפשר את כל זה להיות נשלט ושונה, ומאפשר באגים על מחשב רגיל. החסרונות הם הוצאות פעולה איטית, במקרים מסוימים עד 100 פעמים לאט יותר מאשר את המערכת הסופית.

עבור עיצובים של SoC, הגישה האופיינית היא לאמת ולבטל את העיצוב על לוח אב-טיפוס של FPGA. כלים כגון Certus משמשים להוספת בדיקות ב- FPGA RTL שהופכות אותות זמינים לתצפית. זה משמש באגים חומרה, קושחה ותוכנות אינטראקציה על פני FPGA מרובים עם יכולות דומות לנתח לוגי.

למפתחי באגים של תוכנה בלבד יש את היתרון שהם אינם זקוקים לכל שינוי בחומרה, אך עליהם לשלוט בקפידה על מה שהם מקליטים כדי לחסוך זמן ואחסון.

אלא אם כן הוא מוגבל לניקוי באגים חיצוני, המתכנת יכול בדרך כלל לטעון ולהפעיל תוכנות באמצעות הכלים, להציג את הקוד הפועל במעבד ולהפעיל או להפסיק את פעולתו. את התצוגה של הקוד עשוי להיות כמו קוד המקור HLL, קוד הרכבה או תערובת של שניהם.


מאחר שמערכת משובצת מורכבת לעתים קרובות ממגוון רחב של אלמנטים, אסטרטגיית איתור הבאגים עשויה להשתנות. לדוגמה, איתור באגים של מערכת משובצת תוכנה (ומיקרו-מעבד) שונה מאיתור באגים של מערכת משובצת שבה רוב העיבוד מבוצע על-ידי ציוד היקפי (DSP, FPGA ו- co-processor). מספר הולך וגדל של מערכות משובצות כיום משתמשות ביותר מעשרה ליבות מעבד. בעיה נפוצה עם פיתוח מרובה ליבות היא הסנכרון הנכון של ביצוע תוכנה. במקרה זה, תכנון המערכת המשובצת עשוי לרצות לבדוק את תעבורת הנתונים באוטובוסים בין ליבות המעבד, הדורשות איתור באגים ברמה נמוכה, ברמת אות / אוטובוס, עם מנתח לוגי, למשל.