חדשות היום

כלי פיתוח NUCLEO & STM32Cube

עברו כבר כמעט 7 שנים מאז ההכרזה על משפחת STM32 של חברת STMicroelectronics וההובלה בשוק המיקרו בקרים מבוססי ליבת CortexMx עדיין ברורה. ST ממשיכה בחדשנות והכריזה על מספר כלים חדשים גם חומרתים וגם תוכנתיים שתפקידם להמשיך ליצור פשטות בתהליכי הפיתוח וגם להיות זולים מאוד.
משפחת הכלים הראשונה בתחום החומרה נקראת NUCLEO (תמונה מספר 1) והם בעצם ערכות פיתוח חדשות וזולות מאוד (פחות מ-10 דולר) שבעזרתם ניתן להגיע לאב טיפוס במהרה על בסיסי משפחת STM32 מכול סוג כלומר כל סוגי הליבות הקיימות היום CortexM3 ,CortexM4 וגם CortexM0 ו-CortexM0+ החדשה ביותר וגם להוסיף התקנים מיוחדים שמתחברים בצורה פשוטה לכרטיס.
ערכות ה-NUCLEO פשוטות וזולות מאוד והן תואמות את מחבר ה-ARDUINO הפופולארי (Arduino הוא שם לכלי פיתוח חומרה עם מחבר יעודי שפותח לפני שנים בשיתוף עם תוכנה מסוג קוד פתוח. השילוב בין החומרה לתוכנה יצרה קהילה גדולה של מפתחים ששיתפו ביניהם את הקוד ויצרו מערכת שגרמה לפיתוח מהיר מאוד של מערכות משובצות מחשב).
השילוב של המעבדים המובילים של משפחת STM32 כחלק ממערכת הפיתוח הזולה של ה-NUCELO עם מחברים לכל הפינים
ה-I/O חיבורי כניסה ויציאה מהמעבד) ושילוב מחבר ה-Arduino אינם מספיקים ולכן ST הוסיפו את ה-ST-Link ה-Debugger/Prorammer ובאמצעות כבל USB פשוט ניתן להתחיל בפיתוח בשילוב
ה-IDE’s הנפוצים (Integrated Development Enviroment) כגון: IAR EWARM ,Keil MDK, mbed, GCC-based IDEs (Atollic TrueStudio) וגם ניתן להתממשק לאירגון mbed.org שכולל פיתוח חינמי על בסיס האינטרנט.
כפי שניתן לראות בתמונה מספר 2, ערכות ה-NUCLEO הקיימות היום כוללות את “הקצפת” של הרכיבים ממשפחת STM32 כאשר החלוקה היא לפי סוג המשפחה וגודל הזיכרון.
Low Power:
NUCLEO-L053R8 -> Ultra-low-power ARM Cortex-M0+ MCU with 64 Kbytes Flash, 32 MHz CPU, USB, LCD
NUCLEO-L152RE -> Ultra-low-power ARM Cortex-M3 MCU with 512 Kbytes Flash, 32MHz CPU, USB, 2xOp-amp
Mainstream :
NUCLEO-F030R8 -> Entry level ARM Cortex-M0 Value line MCU with 64 Kbytes Flash, 48 MHz CPU
NUCLEO-F072RB -> Entry-level ARM Cortex-M0 MCU with 128 Kbytes Flash, 48 MHz CPU, USB, CAN and CEC functions
NUCLEO-F302R8 ->- Analog and DSP with FPU ARM Cortex-M4 MCU with 64 Kbytes Flash, 72MHz CPU, 12-bit ADC 5 MSPS, Comparator, Op-Amp
NUCLEO-F103RB -> Mainstream Performance line, ARM Cortex-M3 MCU with 128 Kbytes Flash, 72 MHz CPU, motor control, USB and CAN
NUCLEO-F334R8 -> Analog and DSP with FPU ARM Cortex-M4 MCU with 64 Kbytes Flash, 72 MHz CPU, CCM, 12-bit ADC 5 MSPS, comparators, op-amp, hr timer
High Performance :
NUCLEO-F411RE -> STM32 Dynamic Efficiency MCU, High-performance and DSP with FPU, ARM Cortex-M4 MCU with 512 Kbytes Flash, 100 MHz CPU, Art Accelerator
NUCLEO-F401RE -> STM32 Dynamic Efficiency MCU, ARM Cortex-M4 core with DSP and FPU, up to 512 Kbytes Flash, 84MHz CPU, Art Accelerator
חברת ST מפתחת משפחה רחבה של לוחות הרחבה שיתחברו ל-NUCLEO בהתאם לשימושים הנרחבים הנדרשים היום כגון BlueTooth Smart
(),
NFC , Motor Control ועוד.
ערכת התוסף הראשונה נהפכה מאוד מהר לפופולארית ביותר שנקראת X-NUCLEO-IDB04A1.
ערכה זו כוללת את פתרון ה-BLE BlueTooth Low Energy של ST עם רכיב
ה-BlueNRG. ה-BlueNRG הינו מערכת על שבב (SoC-System On Chip) הכוללת מעבד CortexM0 ומקמ”ש (מקלט\משדר) BlueTooth Low Energy עם המפרט (מודגשת בתחתית העמוד) כפי שניתן לראות בתמונה מספר 3 ערכת
ה-NUCLEO מתחברת למחבר () של ה-BlueNRG כאשר שני הערכות עולות פחות מ-20 דולר ויוצרות ערכות פיתוח אידיאלית ל-IoT – Internet of Things, האינטרנט של הדברים. דוגמאות לערכות השלמה נוספות (Shields) שקיימות היום ניתן לראות בתמונות מספר 4 ו-5.
חומרה חדשה אינה מספיקה ולכן ST פיתחה את . הוא בעצם פלטפורמת פיתוח חינמית עבור משפחת ה-STM32 שתפקידו לפשט ולהאיץ את פיתוח התוכנה. אם בעבר הפיתוח היה כולל שילוב של מספר רב של גורמים ואינטגרציה שלהם היום בעזרת ה-Cube ניתן לפתח בצורה פשוטה, גרפית וקלה. היא כוללת גנרטור
C- קוד ואתחול גרפיים. ה -STM32CubeMX הוא כלי גרפי המספק הדרכה למשתמשים וצעד אחר צעד על ידי קבוצה של רכיבים משובצי תוכנה שחוסכים שילוב תוכנות ממקורות מרובים ה-STM32CubeMx הוא בעצם תוסף לתוכנת ה-MicroXplorer הוותיקה. התוכנה כוללת שכבה חדשה של הפשטת חומרה Hardware Abstraction Layer () שגם יוצר פשטות בהעברת קוד מתת משפחה אחת לשנייה. המערכת מבוססת תוכנת קוד פתוח – Eclipse-based development environments.
ישנו אשף בכלי הפיתוח שמפשט את התהליך ומתחיל בתצורה גרפית של הרכיב שבה ניתן לבחור את המיפוי של כל רגלי הרכיב לפי התצורה הראויה וגם לקבל תשובה האם יש קונפליקטים בין ההתקנים לפינים. לאחר מכן ניתן להוסיף את תצורות השעון ולקבל את מערך החומרה הרצוי. כמו כן ניתן לקבל את מצב צריכת ההספק של הרכיב. בנוסף לשכבת ה-HAL ניתן להוסיף את
ה-Middleware הרצוי כגון מערכת הפעלה בזמן אמת RTOS ,USB ,TCP/IP ועוד וכך מתקבלת שכבה מלאה שעליה ניתן לכתוב את קוד האפליקציה. זאת ניתן לראות בפשוט בתמונה מספר 7.
ה-STM32Cube תומך ב-IDE’s הנפוצים היום כמו IAR ,Keil ו-GCC השונים וישנם גם דוגמאות של סביבות מוכנות בהתאם לאפליקציות שונות בשילוב עם ערכות החומרה התואמות (Shield).

אמיר שרמן, ארו גרמניה

תגובות סגורות