שְׁאֵלָה:
כלי פיתוח ARM Cortex-M3?
mba7
2009-12-11 23:19:49 UTC
view on stackexchange narkive permalink

אני מתכנן לעבור לארכיטקטורה NXP Cortex M3 ואני קצת אבוד בין כלי הפיתוח הקיימים.

Keil הוא יקר ואני לא יודע אם זה שווה את זה. ניסה איזה מהדר יכול לתת עצות כלשהן?

מצאתי שהמהדר הזה http://www.code-red-tech.com/red-suite-2.php זה נראה טוב ולא יקר. כל מי שניסה את זה או יודע על זה יכול לתת לי מידע נוסף?

זהו המהדר המסופק עם לוחות LPCXpresso ומשתמש ב- gcc עם Eclipse IDE. כלי Rowley CrossWorks טובים בהרבה.
באיזה אופן הם טובים יותר? אני שואל כי יש לי את הלוח LPCXpresso והכלים עובדים היטב אז אני תוהה איך הכלים האחרים טובים יותר?
אנחנו לא יכולים להפוך את זה ל- CW?
יש לשקול מחדש את רוב האפשרויות בשנת 2012 מאחר ו- Microsoft Visual Studio 2012 תומך ב- ARM כיעד מהמחלקה הראשונה.
עבור פרויקטים קטנים, גרסת הניסיון של מהדר Keil היא בחינם.
שְׁלוֹשׁ עֶשׂרֵה תשובות:
#1
+17
Andrew
2009-12-14 05:05:53 UTC
view on stackexchange narkive permalink

שיחקתי בזמן האחרון בזמני הפנוי עם STM32 (גם Cortex M3) והשתמשתי בהפצת CodeSourcery של GCC, מה שהסתדר די טוב.

עמית שעבד עם מיקרו ARM בעבר אמר לי מקצועית שהוא מרוצה משרשרת הכלים IAR, אם כי אני לא יודע מה העלות ואיך התמיכה בקורטקס.

IAR היא חברה המתמחה במהדרים ככל שיכולתי לדעת. אני משתמש בהם בעבודה ויש להם כמה הטבות, וכמה חסרונות. אני חושב שהתמיכה שלהם די מצוינת, אבל אנחנו משתמשים ב- MSP430, אבל נראה שהם מכסים כל מעבד שאני מסתכל עליו.
#2
+16
Toby Jaffey
2010-07-02 05:06:32 UTC
view on stackexchange narkive permalink

אני משתמש בקומפילדרים צולבים של CodeSourcery (Lite) עבור לינוקס כדי לתכנת את TI Stellaris Microcontrollers. הם עובדים עם כל Cortex-M3. הם לגמרי בחינם, עם קבצים בינאריים עבור Windows ו- Linux.

הנה מתכון קצר (דביאן / אובונטו) להתקנה:

הורד את שרשרת הכלים ( כל גרסה תעשה, אבל אני משתמש בזה)

התקן את סביבת הריצה של Java (עבור המתקין הארור)

  sudo apt-get install sun-java6-jre ia32- libs  

התקן

  chmod 755 arm-2009q3-68-arm-none-eabi.bin./arm-2009q3-68-arm-none- קונסולת eabi.bin -i  

הוסף ספריית סל מהדר צולבת ל- PATH שלך

  echo 'export PATH = $ PATH: ~ / CodeSourcery / Sourcery_G ++ _Lite / bin / '>> ~ / .bashrc. ~ / .bashrc 

כדי לטעון קוד ולאתר באגים, תזדקק ל OpenOCD ולא ל- gdb או לאחד מממשקי המשתמש.

אתה תזדקק גם ל מתאם JTAG.

אני משתמש גם בכלי CodeSourcery באחד השיעורים שלי, עם ערכת dev Stellaris LM-3s6965. הוויקי שלנו (קישור לשרשרת כלים) נמצא כאן: http://claymore.engineer.gvsu.edu/egr326/LM3S6965#Toolchain:_Windows_and_Linux (ראו גם הוראות ההתקנה של MacOS X למטה.) הערכה מגיעה עם הדגמה מוגבלת בזמן. מכלי ה- GUI שלהם, אך כלי שורת הפקודה אינם מוגבלים.
#3
+9
ttt
2010-03-14 05:19:23 UTC
view on stackexchange narkive permalink

התחלתי להשתמש באחד כזה (לוח המפתחים של MBED). נקודות המכירה הגדולות מבחינתי היו שאני יכול לקודד ב- C או C ++, חיבור ישר מול USB וסביבת פיתוח מקוונת חלקה (אין צורך בהתקנת כלים מקומית כלל!).

http : //mbed.org/

חמש דקות אחרי תיבת הפתיחה הייתה לי תוכנית מדגיקה מהבהבת ('שלום העולם' של העולם המשובץ) שמריצה את הדברים הבאים:

  #include "mbed.h" DigitalOut myled (LED1); int main () {while (1) {myled = 1; המתן (0.2); myled = 0; המתן (0.2); }}  

זהו זה! מעל התוכנית המלאה!

היא מבוססת על ARM Cortex M3, זיכרון מהיר ושפע לפרויקטים משובצים (100mhz, 256k פלאש & 32k RAM). לכלי ההתקדמות המקוונים יש ספרייה טובה מאוד והרבה דוגמאות ויש פורום פעיל מאוד. שפע של עזרה בחיבור מכשירים ל- MBED וכו '

למרות שיש לי ניסיון רב במערכות משובצות (ARM 7/9, Renases M8 / 16/32, Coldfire, Zilog, PIC וכו') עדיין מצאתי את זה מערכת קלה ומרעננת להתמודד עם יכולת רצינית.

לאחר ששיחקתי בה לראשונה על קרש בסיסי קניתי לוח בסיס מהבחורים האלה: http: //www.embeddedartists. com / products / lpcxpresso / xpr_base.php? PHPSESSID = lj20urpsh9isa0c8ddcfmmn207. יש לזה ערימה של מכשירי קלט / פלט (כולל OLED מיניאטורי ומד תאוצה 3axis). מאותו אתר קניתי גם אחד מלוחות המעבד LCPExpresso שהוא זול, פחות כוח / זיכרון מה- MBED אך מושלם לעבודות קטנות יותר (עדיין מפטיש את הזבל של מעבדי PIC / Atmega). לוח הבסיס תומך הן ב- LCPExpresso והן ב- MBED. רכישת לוח המעבד LCPExpress הביאה לי גם איתור באגים JTAG מצורף וסביבת התקנים לא מקוונת (ערכת dev מבוססת GCC / Eclipse של Code Red). זה מורכב בהרבה מסביבת ה- MBED המקוונת המקוונת, אך היא התקדמות הגיונית לאחר שרכשת ניסיון עם ה- MBED.

בהתייחס לנקודה המקורית שלי, שים לב שבקר ה- MBED מסוגל הרבה יותר מאשר בקר ה- LPCExpresso, אבל הוא הרבה יותר פשוט לשימוש ולמידה איתו.

ישנו גם פרויקט ה- gcc4mbed המצוין של אדם גרין המאפשר לקמפל לא מקוון (על חשבון גודל קוד גדול יותר): https://github.com/adamgreen/gcc4mbed
#4
+9
old_timer
2010-07-20 05:32:17 UTC
view on stackexchange narkive permalink

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

llvm הוא עוד אחד טוב (השתמש clang לא llvm-gcc !!), אני יודע שצד הזרוע משתפר כל הזמן, גרסה 27 הפיקה קוד מהיר יותר מה- gcc הנוכחי לבדיקה מסוימת. מצאתי באג בצד האגודל כשעבדתי על אמולטור האגודל שלי (thumbulator.blogspot.com) שתוקן מייד. החלק הטוב ביותר ב- llvm הוא שברירת מחדל הוא מהדר צולב, ללא צורך בעבודה או בבניית ניסיון נוסף. בשנים הקרובות אני רואה אותם חותכים עמוק יותר ל- gcc פנימה ומעבירים gcc על ידי הידור צולב / מוטמע.

ניסיתי פעם אחת את הכלי האדום עם הלוח lpcxpresso, התוצאה הסופית היא בהחלט אף פעם לא משתמש בקוד אדום ומתלבט אם לרשום גם lpc. יממוו. אם אתה צריך להשתמש בתשלום עבור כלי הייתי הולך עם שלד רק בגלל שהם נקנו בזרוע וחלק מהחבילה הוא מהדר ה- rvct. כמובן שמקור קוד הוא בית תמורה גם אם אינכם עומדים במגבלות הלייט או בוחרים לקבל תמיכה, בהיותכם gcc יש לו את התמיכה הטובה ביותר ללא ספק מכל המהדרים. לפני זמן לא רב, כאשר הצלחתי לנסות אותם מטא-כלי וכלי הזרוע פוצצו את gcc ככל שאיכות הקוד הופק. gcc מעלה ומטה גרסאות מסוימות של 3.x מייצרות קוד טוב יותר מ- 4.x, נראה שהן לא משתפרות בכל מהדורה, אבל הן עשו או אולי קוד המקור הוסיף תמיכה ב- thumb2 לא מזמן, שגרסאות 3.x לא / לא יהיה.

`אם אתה צריך להשתמש בתשלום עבור כלי, הייתי הולך עם קייל רק בגלל שהם נקנו בזרוע` - האם ניסית את המהדרים של קייל? לא התרשמתי לפחות מכלי Keil 8051. הם מרגישים כמו דינוזאורים לעומת תחרות מבוססת GCC או חבילת LLVM / Clang, IMHO.
#5
+8
Leon Heller
2009-12-18 01:26:04 UTC
view on stackexchange narkive permalink

אני משתמש בתוכנת Rowley לפיתוח ARM ו- MSP430:

http://www.rowley.co.uk

זה מצוין. Cortex-M3 נתמך.

אני מנסה את גרסת הניסיון ואני חושב שזו תהיה הבחירה שלי. זה מתועד היטב ולא יקר במיוחד (רישיון אישי במחיר של 150 $)
ערכת הכלים של רולי מעולה והתמיכה מעולה.
#6
+7
stbtra
2010-12-01 04:49:23 UTC
view on stackexchange narkive permalink

אני משתמש ב- Yagarto + Eclipse + J-link edu debugger. (שרשרת הכלים של Gnu)

http://www.yagarto.de/

#7
+5
Nate
2010-07-02 04:37:26 UTC
view on stackexchange narkive permalink

הצלחתי די טוב באמצעות IAR רשתות מהדר / ניפוי באגים לצורך פיתוח ה- ARM שלי. הם מציעים כלי פיתוח יציבים יחסית, הכוללים סביבת C ++ Embedded (שנראית נדירה במקצת). - בהתאם לגודל בסיס הקוד שלך, הם מציעים גם חומרה / תוכנה נהדרות "ערכות KickStart" עם גרסאות מוגבלות בגודל הקוד של הכלים שלהן.

#8
+4
mikeselectricstuff
2010-12-01 05:23:48 UTC
view on stackexchange narkive permalink

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

כן, הם חתכו את בית הספר שלי בעסקה טובה, הוא עדיין היה באלפים אחרי הורדת מחירים של 95%.
#9
+4
nemik
2011-06-29 01:56:32 UTC
view on stackexchange narkive permalink

ביליתי את הימים האחרונים בהכנת שרשרת הכלים GNU CodeSourcery במלואה עבור מיקרו EFM32G במערכת ההפעלה X. זה היה שווה את זה. בהשוואה לרבים מהבאגים מבוססי ה- GUI שניסיתי (בעיקר מבוססי Eclipse); Makefiles, GCC ו- GDB הם הגשמת חלום; בנוסף הכל עובד מסוף לינוקס או מק שלי.

החלק היחיד שמוצץ הוא מתאם J-Link המובנה בלוח. תוכנית ה- GDBServer של Windows ו- Linux של J-Link מקור סגור. גרוע מכך, גרסת לינוקס נמצאת הרבה יותר מאחור. אז כדי ש- GDB יעבוד, אני צריך להריץ תמונת Windows VMWare שמטרתה היחידה היא להריץ את ה- GDBServer (מכיוון ש- Linux היא מקולקלת).

אה ובנוסף לא לעבוד כראוי, J שרת ה- GDB המבוסס על לינוקס של LINK נקשר ל- 127.0.0.1 ומקשיב רק לחבילות עם היעד; אז יש להתעסק עם iptables והעברה כדי לגרום לזה להתחבר ממכונה מרוחקת. מְגוּחָך; סגר צריך לבצע את הפעולה שלהם.

אני מסכים ש- jlink הוא כאב מלכותי בלינוקס, אבל אני חושב שתוכל לגרום לו לעבוד באמצעות LD_LIBRARY_PATH. כמו כן תוכל לתקן את בעיית הכתובת המחייבת, באמצעות העברת SSH, או באמצעות LD_PRELOAD או דומה בכדי לעטוף את שיחות הרשת ולשנות את כתובת הרשת. אבל זה פתטי כאשר כלים יקרים קשה יותר לעבוד איתם מאשר כלים זולים כמו ST-LINK שעבורם תוכננו נהגים פתוחים לחלוטין.
#10
+4
Timmmm
2014-06-12 16:26:52 UTC
view on stackexchange narkive permalink

אני משתמש ב- QtCreator וב- GNU Tools ARM Embedded. עובד טוב.

יתרונות:

  • לגמרי בחינם (ומקור פתוח)
  • QtCreator הוא מעולה C ++ IDE נהדר עם השלמת קוד עבודה, קישורי סמל , refactoring וכו '.
  • QtCreator תומך באגים מתכתיים חשופים (כן - ניתן למקם גרפיות נקודות, לבצע צעדים ולבדוק משתנים). (מצריך קישור JTAG או SWD ל- MCU שלך, אך זה לא היה קשה כמו שחשבתי.)
  • לא ליקוי חמה או מבוסס ליקוי חמה.

חסרונות:

  • התמיכה בברמטאל היא חדשה מאוד והיו לי לא מעט בעיות עם זה - להתגבר בסופו של דבר בעזרתו המעולה של הכותב ברשימת התפוצה של QtCreator.
  • אולי קצת קשה יותר להגדיר מאשר Keil או קוד אדום.

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

אני עובד על הדרכה כיצד להגדיר את זה עם שבב ARM אחר - ה- Cortex-M0 מבוסס nRF51822.

זה כנראה שווה להוסיף קצת יותר פרטים על מה שאתה אוהב, כמה תכונות טובות וכו 'כדי להפוך את התשובה ליותר שימושית.
אתה יכול להציע מתווה גס ??
#11
+2
BobEmbed
2011-06-24 13:07:08 UTC
view on stackexchange narkive permalink

אני משתמש בכלי CooCox, הוא מעולה אך חופשי לשימוש, ולא מוגבל לכל גודל קוד. http://www.coocox.org/

#12
+1
Chintalagiri Shashank
2013-01-27 01:30:24 UTC
view on stackexchange narkive permalink

אני משתמש ב- arm-eabi-gcc ושרשרת הכלים הנלווית אליו מותקנת באמצעות התסריט זימון זרוע כלים. התסריט מגדיר את הסביבה לביצוע עבודות מתכת חשופות ב- ARM. המקור החופשי והפתוח שלה וכל זה ועבד אמין עבורי. השתמשתי גם ב- IAR לשם כך, ובהחלט עדיף בכך שהוא מאפשר לך לבצע איתור באגים הרבה יותר ידידותי ולעשות דברים בדרך IDE, אבל בסך הכל אני מרגיש יותר בנוח עם gcc, אם בלי שום סיבה אחרת כי אני לא צריך להצדיק את ההוצאה לאף אחד.

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

#13
+1
ITguy
2013-07-03 06:08:42 UTC
view on stackexchange narkive permalink

אני משתמש ב- Emprog ThunderBench. זה מעולה, כנראה הטוב ביותר שאי פעם השתמשתי בו.

מה שהכי אהבתי בו הוא שהוא, במקביל, מהדר C / C ++ ARM cortex, ניפוי באגים ו- IDE.

נראה עוד שילוב של GCC + Eclipse.


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