שְׁאֵלָה:
תכנות מיקרו-בקרים: JTAG, SPI, USB אוי אוי !?
jdiaz
2009-11-14 09:51:48 UTC
view on stackexchange narkive permalink

שמתי לב, בכל הקשור למיקרו-בקרים, יש כמה דרכים לתכנת אותם. אני די מכיר את ה- USB שכן ניתן לתכנת את ה- Arduino שלי באמצעות USB.

מהו ממשק JTAG או SPI?

בסופו של דבר אני יודע שממשקים אלה מספקים אמצעי להבהב את השבב עם הוראות חדשות, אך במה הם שונים? האם ישנם יתרונות זה מזה?

חָמֵשׁ תשובות:
#1
+40
bpijls
2009-11-14 15:49:23 UTC
view on stackexchange narkive permalink

מיקרו בקרי ATMEGA כמו זה בארדואינו שמגיעים היישר מהמפעל ניתנים לתכנות רק באמצעות ממשק SPI או JTAG.

SPI מייצג ממשק היקפי סידורי ומהווה דרך עבור מיקרו-בקרים לתקשר זה עם זה או עם העולם החיצון. זה נקרא לפעמים גם 3 חוטים כי הוא משתמש בשלושה חוטים כדי לתקשר. כדי לתכנת שבב, תזדקק למתכנת מיוחד שקורא פקודות מ- USB כדי להניע את קווי ה- SPI כדי לתכנת את השבב. נראה כי פופולרי הוא USBTinyISP מ- Adafruit. מבוא טוב מאוד לתכנות SPI הוא ב SparkFun. היישומים הפופולריים ביותר לתכנות שבבי AVR של Atmel הם avrdude (קו cmd), ponyprog (לא עובד עם מתכנתים חדשים יותר) ובמקרים מסוימים AVR Studio (אם המתכנת שלך תומך בכך). היתרון של תכנות SPI הוא שתוכל לתכנת כל שבב Atmel היישר מהמפעל, כך שלא תמיד תזדקק לארדואינו בפרויקטים שלך.

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

כדי לתכנת שבב באמצעות USB, יהיה עליך לתכנת אותו תחילה באמצעות "bootloader" באמצעות SPI או JTAG. לאחר הטעינה עם מטען האתחול, המערכת תתוכנת מכל מחשב באמצעות ממיר USB-Serial. החיסרון הוא ש- Bootloader תופס שטח זיכרון מסוים ושיטה זו אינה מאפשרת לך לראות את מצב השבב בזמן שהוא פועל.

אמנם מדויק ברעיון שמאתחל טורי אינו זמין ב- ATMEGA חדש (אם כי הוא נמצא במיקרו-בקרים רבים אחרים), אך הטענה כי יש להשתמש ב- SPI או JTAG אינה נכונה. ATMEGAs תומכים גם במצב תכנות מקבילי במתח גבוה, שיש לו יכולת לנסוע יתר על המידה בכמה הגדרות נתיכים שהופכות את שיטות התכנות הפופולריות יותר במעגל לבלתי ניתנות לביצוע. JTAG לא תוכנן לתכנות מיקרו אלא לבדיקת לוחות PC על ידי שעון ערכים אל תוך רישומי סיכות IO ומחוצה להם. הרחבתו לצורך תכנות או ניפוי פונקציות ליבה הייתה פריצה מאוחרת יותר.
תכנות SPI ותכנות מערכת / תכנות טוריות שונות. גם אני הייתי רגיל לעובדה שרבים מהקטמונים הקטנים יותר של Atmega MCU היו בעלי סיכות תכנות טוריות בממשק SPI, אך ננשכתי על ידי העובדה כי בחלק מה- Atmega MCU גדולים יותר, סיכות תכנות סדרתיות לא היו על ממשק SPI.
#2
+31
tyblu
2010-12-29 16:57:32 UTC
view on stackexchange narkive permalink

למרות שאשמח לצלול לשיטות התכנות השונות הקיימות, למישהו אחר כבר יש. הנה המדריך של מצלמת דין בנושא AVRFreaks, שיטות תכנות AVR:

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

שיטה 1: בתכנות מערכת (ISP)

נתמך על ידי: רוב גדול ממכשירי ה- AVR (ראה הודעות בהמשך)
מתכנתים נתמכים: AVRISP MKI / II , JTAG MKII, STK500, STK600, דרקון, שיבוטים AVRISP, מתכנתים AVR910, AVRONE

תכנות מערכת היא אולי השיטה הנפוצה ביותר לתכנות פלאש, EEPROM, נתיך ונעילה של קו ה- AVR של כל הכוח. ספק שירותי האינטרנט יכול לתכנת AVR בקצב שעון גבוה במיוחד (בהנחה שה- AVR היעד פועל בתדירות גבוהה והתכנתים תומכים בו) והיא שיטת הבחירה כמעט לכל חובבי ה- AVR. יש הרבה, הרבה שיבוטים AVRISP ותכנתים AVR910 בשוק בנוסף פשוט לעשות. -זה בעצמך דונגלים שמתחברים ליציאה המקבילה של המחשב שלך.

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

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

שיטה 2: JTAG

נתמך על ידי: ראה עזרה לכלי AVRStudio עבור MKI ו- MKII תמיכה במכשירים
מתכנתים נתמכים: JTAG-ICE, JTAG-ICE MKII, Dragon, JTAG-ICEclones, AVRONE, STK600 (תכנות בלבד)

מבחינה טכנית JTAG היא מערכת לבאגינג מודעות , לא שיטת תכנות. ובכל זאת, ממשק ה- JTAG מאפשר תכנות של AVR שתומך בכך.

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

יחידות ה- JTAG-ICE הרשמיות של ATMEL הוחלפו על ידי JTAG-ICEMKII, התומך בחדשים יותר ונתמכים באופן נרחב ברחבי פרוטוקול ניפוי באגים ב- AVRrange DebugWire וכן בתכנות בשיטת ספק שירותי האינטרנט (ראה לעיל).

שיבוטים JTAG-ICE זמינים עבור מחירים נמוכים, אולם התאימות המוגבלת שלהם עם קומץ AVR בלבד מגבילה את התועלת שלהם. ללא קשר לכך, אם שלך AVR תומך בממשק JTAG ה- JTAG-ICE נותר שיטת ניפוי ותכנות ניפוי נחמד מאוד.

שיטה 3: DebugWire

נתמך על ידי: הרבה AVR קטנים יותר
מתכנתים נתמכים: JTAG-ICE MKII, Dragon, AVRONE

שוב DebugWire הוא ממשק ניפוי באגים ולא מתכנת, אך ניתן להשתמש בו כדי לטעון בתוכניות לתוכנות AVR נתמכות. ממשק ה- dW משתמש בסיכת AVR יחידה (קו / RESET) עבור כל תקשורת, מה שהופך אותו לאידיאלי עבור מכשירי AVR בעלי ספירה נמוכה.

שיטה 4: Bootloader

נתמך על ידי : רוב ה- AVR החדשים יותר
מתכנתים נתמכים: לא /

שוב טכנית לא שיטת תכנות. Bootloader הוא תוכנית AVR קטנה שיושבת במשתמש מגזר שמור להגדרה של הפלאש הרגיל. מעמיסי אתחול משתמשים בתכונות לשינוי הפלאש עצמו הזמינות במכשירי הווידאו החדשים יותר כדי לאפשר לתכנת את ה- AVR עצמו באמצעות נתוני תכנית הנטענים ממקור חיצוני. Bootloaders עשויים למקור את הנתונים שלהם מכל מיקום כלשהו (למשל פלאש נתונים חיצוני או SDcard) אולם ללא ספק הסוג הקל ביותר של Bootloader מתקשר עם aPC דרך יציאת ה- RS-232 (סדרתי) של AVR.

Bootloaders מוגבלים בכך שהם צורכים פלאש. שטח (הגבלת גודל הפלאש הזמין ליישום ה- AVR) והם אינם מסוגלים כדי לשנות את fusebits של ה- AVR.

טעמי אתחול זמינים באופן נרחב באינטרנט להורדה, אך הם סובלים מבעיית "עוף וביצה"; אתה זקוק לסוג אחר של מתכנת המופיע כאן בכדי לתכנת את מטען האתחול מלכתחילה. בדרך כלל זה נפתר על ידי בנייה של מחבר יציאות מקביל פשוט (ראה סעיף ספק שירותי האינטרנט) או על ידי רכישת מכשיר רדיו שעבר כבר טעינה באמצעות מטען אתחול (למשל AVRButterflyboard). p>

שיטה 5: תכנות מקבילי למתח גבוה (HVPP)

נתמך על ידי: רוב הרמקולים הלא TINY (למעט יוצאים מהכלל)
מתכנתים נתמכים : STK500, STK600, Dragon, Homebrew Dongles, AVRONE

High Voltage ParallelProgramming היא שיטת תכנות שמשמשת לעתים רחוקות בגלל הטרחה שהיא דורשת להגדיר. מבוזר, תכנות HVPP משמשות בדרך כלל ל"החייאת "מכשירי AVR שהוגדרו שיבוטים בצורה שגויה באמצעות שיטת תכנות אחרת.

הן ה- STK500 והן ה- Dragons תומך ב- HVPP. במהלך HVPP, הסיכה של היעד / RESET מוגדלת לערך גבוה באופן חריג של 12V אשר מפעיל את המעגל הפנימי המקביל לתכנות. ה- / RESET הוא הסיכה היחידה של ה- AVR (במכשירי AVR הנתמכים על ידי HVPP) הניתנת לגידול בטוח לרמה זו.

אתה יכול להכין משלך HVPP להשתמש בתוכניות מקוונות כגון זו.

שיטה 6: תכנות סידורי במתח גבוה (HVSP)

נתמך על ידי: רבים ממכשירי TINY רבים (למעט חריגים)
מתכנתים נתמכים: STK500 , STK600, Dragon, Homebrew Dongles, AVRONE

HVSP דומה ל- HVPP, למעט העברת הנתונים מבוצעת באופן סידורי ולא במקביל. זוהי שיטת התכנות החלופית המשמשת במכשירי AVR רבים מסדרת TINY אשר חסרים מספיק סיכות ל- HVPP.

שיטה 7: PDI

נתמך על ידי: XMEGA AVRs
מתכנתים נתמכים: STK600, AVRONE, JTAG MKII, Dragon, AVRISP MKII

PDI הוא ממשק התכנות החדש שמבוסס על פרוטוקול debugWire, עבור קו ה- AVR של XMEGA. זה לא משמש כרגע בכל בקרי AVR מיקרו אחרים של 8 סיביות.

שיטה 8: TPI

נתמך על ידי: 6 פינים TINY AVRs (ATTINY10 וכו ') מתכנתים נתמכים: STK600, Dragon, AVRISP MKII

TPI הוא ממשק תכנות זעיר ביותר עבור קו TINY של AVRs עם סיכות מוגבלות, כמו ATTINY10 עם 6 פינים. LikedW, TPI משתמשת בחלק הקווי של המכשיר / RESET בממשק התקשורת, אך שם הדמיון מסתיים. מכיוון שמעגל ה- TINY AVR משוחרר במעגל ניפוי באגים על שבב, פרוטוקול ה- TPI משתמש בממשק תכנות חדש של שלושה פינים, בפרוטוקול חצי דופלקס. מכיוון שצריך להעלות את קו / RESET ל- + 12V לתכנות כאשר מוגדר סיכת RSTDSB של המכשיר, זה נתמך כרגע רק על ידי לוח התיכנות החדש STK600.

סעיף שאלות נפוצות על בונוס!

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

  2. הכנתי דונגל יציאה מקביל. האם אוכל להשתמש בו עם AVRStudio?
    אני לא מפחד שלא. AVRStudio לא יכול להתקשר עם כל הדונגלים "המטומטמים" - הוא דורש מכשיר תכנות חכם - המכיל מיקרו-בקר עצמו - לפענוח פרוטוקול התקשורת שהוא שולח. דונגלים פשוטים ללא מיקרו-בקר חייבים להיות "דופקים קצת" (כלומר האותות המתאימים המדומים דרך הפלאג דרך המחשב) עצמו.

  3. אז הדונגל שלי חסר תועלת אז?
    לא. אתה עדיין יכול לתכנת באמצעות דונגל מתוצרת בית באמצעות כלי תוכנה שלישי לתכנות תכנות. AVRDude הוא שורת פקודה טובה, ידועה וחינמית - והיא כלולה בחבילת WinAVR.

  4. מה האפשרויות שלי אם אני רוצה שהמתכנת שלי יעבוד עם AVRStudio?
    בחר מתכנת המשתמש בפרוטוקול הנתמך על ידי AVRStudio. זה יכול להיות פרוטוקול "AVR910" פשוט (הוצא משימוש) או יישום מותאם אישית של הפרוטוקול המשמש את STK500 / AVRISP. שים לב כי מתכנתים אלה דורשים בקר מיקרו בהם, מה שמוביל לתופסת 22. ניתן לפתור זאת באמצעות התנהלות ה- AVR המתוכנתת מראש של המתכנת בזמן הרכישה באמצעות הקושחה המתאימה, או על ידי התנהגות ה- AVR שתוכנתה מראש באמצעות מטען הרגלים.

  5. אוקי, אני רוצה השתמש ב- bootloader. איך אני מכניס את זה לשם מלכתחילה ?!
    כדי להשתמש במאתחל ב- anAVR, ראשית עליך לתכנת את מנהל האתחול. אם אין לך מתכנת קיים (אפילו פלאג מטומטם פשוט יספיק עבור התכנות הראשוני), ניתן לרכוש באופן חלופי AVR שתוכנת מראש עם מטען אתחול מספקים אחדים.
    Atmelalso מייצרת את demoboard Butterfly, שה- MEGA169 AVR שלו נטען מראש עם מטען אתחול תואם AVR-Studio.

  6. עזרה! התעסקתי עם הנתיכים והתעסקתי במכשיר ה- AVR שלי תוך שימוש ב- ISP! הטעות הנפוצה ביותר היא שינוי נתיכי בחירת השעון להגדרה לא חוקית. נסה לשים שעון חיצוני על סיכת ה- XTAL1 של AVR ובדוק אם זה עוזר.
    אם לא, השתמש באחת משיטות המתח הגבוה. אלה יתקנו כל תצורה שגויה, כולל כל אחד שמעורב במקור השעון כאשר שיטות המתח הגבוה מספקות שעון משלו ל- AVR לתכנות.

  7. כיצד אוכל להתממשק עם המתכנת שלי?
    איזו תוכנה אתה משתמש לממשק עם המתכנת שלך תלויה בסוג המתכנת שבו אתה משתמש.
    דונגלים פשוטים "מטומטמים" דורשים תוכנת צד שלישי, כגון PonyProg או AVRDude. אלה אולי שורת פקודה או כלי GUI - חפש באינטרנט ותוכלו להתאים לצרכים שלך.
    ניתן להשתמש במתכנתים ובמעצבי אתחול המבוססים על פרוטוקול AVR910 בתוך AVRStudio. בתפריט כלים בחר את האפשרות "AVRProg" לפתיחת מסך GUI לממשק לתוכנת שלך. כחלופה, כלי צד שלישי כמו AVRDude תואמים גם ל- AVR910.
    כלים רשמיים משולבים היטב ב- AVRStudio, במיוחד במקרה של גרסאות איתור באגים (JTAG / Dragon / וכו '). מתפריט AVRStudioTools בחר בתפריט המשנה "ProgramAVR ..." ולחץ על הפריט "התחבר". מהחלון החדש בחר בכלי שלך ובממשק החיבור שלו ולחץ על אישור.
    כמו במקרה של הדונגלים המטומטמים ומתכנתים AVR910, הכלים הרשמיים עשויים לשמש גם עם תוכנת תכנות חלקית שלישית.

  8. ol>

    (C) Dean Camera, 2009. כל הזכויות שמורות. לא להעתקה באתר כלשהו שאינו AVRFreaks.net ללא הרשאה מפורשת מראש. Sup>

משוחזר עם אישור מפורש מראש, כמובן! Sup >

#3
+5
Kortuk
2009-11-15 14:51:53 UTC
view on stackexchange narkive permalink

ברצוני להוסיף עוד דבר אחד לדיון.

SPI הוא ממשק נפוץ מאוד עבור שבבים. הרמיזה ל -3 חוטים היא מצב ה- SPI שבו אינך משתמש בסיכת הבחירה של השבב.

I2C היא התחרות העיקרית לממשק מכיוון שהיא משתמשת רק בחוטים 2 ולא משנה מספר השבבים, בעוד ה- SPI דורש חוט נוסף לכל ממשק, אך הוא איטי יותר.

בעת ההוראה אני מחשיב ללמד על ממשקים אחת המשימות החשובות ביותר.

Wiki קהילתי זמין לאלה שרוצים להרחיב המידע שלי.

מעולם לא שמעתי על שימוש ב- I2C כממשק תכנות פלאש מקורי במיקרו-בקר, אם כי אין סיבה שזה לא יכול להיות נקודת הכניסה למאתחל אני מניח ...
@vicatcu, פשוט הוספתי אותו כממשק נפוץ מאוד.
#4
+3
JohnC
2009-11-14 15:36:52 UTC
view on stackexchange narkive permalink

מבחינה כוללת ממשקים אלה נבדלים רק באילו מתכנתים ואילו מיקרו-בקרים תומכים בהם. כל עוד יש לך התאמה בין המתכנת לבקר המיקרו לא הייתי דואג.

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

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

#5
+2
old_timer
2012-01-17 02:13:28 UTC
view on stackexchange narkive permalink

כפי שאתה מזכיר סדרתי, נעשה שימוש בספיי (2 חוטים, 3 חוטים?), USB, jtag, swd וכו '.

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

ב- AVR למשל ה- PDI, שלדעתי אנשים מכנים כאן spi, אולי לא. נראה לפחות ב- xmega שה- pdi וה- jtag החיצוני ניזונים לממשק pdi משותף באופן פנימי. אז סיכות ה- pdi נותנות לך גישה ישירה לכך במקום ה- jtag התקורה. כל עוד ממשק זה עובד כאשר תוכנה בפלאש תלתה את הליבה, אז זה יהיה הממשק האידיאלי עבור המשפחה הזו. הפרוטוקול מתפרסם ופשוט יחסית, ומובנה בחומרה. יש לו את החיסרון של אוטובוס נתונים דו כיווני, כמו i2c.

לזרוע יש jtag עם פחות חוטים שנקראים swd, שהם לא בהכרח רוצים לפרסם בגלוי. כלי הקוד הפתוח מיישמים זאת. זה בתיאוריה jtag סדרתי, אותות ה- jtag השונים נשלחים ברצף על חוט אחד איכשהו במקום במקביל לחוטים רבים. בתוך החלק אני מניח שהוא מקביל שוב ומזין היגיון רגיל של jtag. יש בכך את החיסרון בכך ש- ARM רוצה לשמור עליו סודי למחצה, ו- ARMs jtag debuggers הם כאב מלכותי להשתמש בכל מקרה. אז זו הרבה עבודה. אם / כאשר אופנוקד יעבוד את זה אז זה יכול להיות סיפור אחר. אתה גם צריך לדאוג לסיכות מחודשות ולמה שקורה עם ליבה תלויה.

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

כלי Jtag עלו בעבר אלפי דולרים, עכשיו הם לא, תמורת כ- $ 15 אתה יכול להשיג לוח פריצה של ftdi ולהחזיר אותו למטרה באמצעות אופנוקד. תמורת 50 דולר פלוס מינוס חלק תוכלו להשיג פתרון USB מבוסס ftdi שעובד מהקופסה עם openocd. אתה יכול לקבל קישור j לא מסחרי במחיר של 75-80 דולר. וישנם רב אלפי הדולרים המהירים, בטוחים אך לא שווים את הכסף באופן כללי. אתה קונה כאלה כשאתה תאגיד ענק עם הרבה מזומנים לפוצץ ורוצה לשלם עבור תמיכה. כשאתה משלם את המחירים האלה אתה מקבל את המוצר הרצוי ותקבל תשובות לשאלות תמיכה טכנית באופן מיידי. כמו לינוקס בחינם לעומת חלונות או RHEL למשל, תמיכת לינוקס היא בחינם אבל אתה מקבל את מה שאתה מקבל. בכל מקרה זה הופך את jtag להרבה יותר אטרקטיבי, בהיותי הפיתרון החזק ביותר באופן כללי, אני ממליץ להשיג את הכלים האלה מתי ואיפה אתה יכול (היכן שווה).

אתה צריך שיהיה לך כלים jtag בארסנל באגים ופיתוח שלך כאשר היכן שהמחיר סביר. ל- sparkfun יש usb מבוסס ftdi ללוחות סדרתיים ואת החלקים ftdi ניתן להחזיר למפוצצים גדולים, אתה יכול להשתמש בהם עבור spi או i2c או pdi או jtag או ממשקים אחרים. באופן אידיאלי להשיג לוחות המיועדים לאוטובוס / החלק בו אתם מעוניינים ולהשתמש בתוכנת קוד הפתוח / חופשי הנלווית אליו. כמו כן, נעשה שימוש בלוחות סדרתיים אלה, באופן אידיאלי עם אספקה ​​של 3.3 וולט ו -5 וולט (כ- 15 דולר לכל אחד מהם אתה משתמש לילי פאדים ומיני ארדואינו וכו ') לחיבור ליציאות טוריות עבור המיקרו השונים שיש להם סוג כלשהו של פרוטוקול סדרתי. אני קל יותר לכתוב מטעין משלי על בסיס פרוטוקולים אלה, במיוחד כמו אנשי הארדואינו / AVR שבהם מתפרסם מקור האתחול והוא קבוצת משנה משמעותית מהתקן המשוער שהם תומכים בו. YMMV.

בקיצור, אין פיתרון אחד טוב, לכולם יש יתרונות וחסרונות. היו מוכנים לתמוך לפחות בשניים מהם. usb וסידורי או usb ו- jtag או jtag וסידורי וכו 'פשוט הניחו רפידות או הצמדו חורים על הלוח ולא בהכרח אכלסו. להתפתחות האישית או המעבדתית שלך יש חבילת כלים מלאה ותהיה מוכן לעבור מאחד לשני תוך כדי שבבי לבנים ועליך לשחזר לוחות או כשאתה מפתח מטען אתחול משלך, קושחת USB וכו '.



שאלה ותשובה זו תורגמה אוטומטית מהשפה האנגלית.התוכן המקורי זמין ב- stackexchange, ואנו מודים לו על רישיון cc by-sa 2.0 עליו הוא מופץ.
Loading...