השג התחלת עבודה מהירה בפיתוח "Windows על Arm"

מאת ‎קנטון וויליסטון

באדיבות ‎DigiKey's North American Editors

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

עם זאת, אתגר אחד גדול ביצירת Windows על מערכות ARM‏ היה העדר ערכות פיתוח מתאימות.‏ למרות שמערכת ההפעלה (OS) קיימת כבר זמן רב על אינטרנט של דברים (IoT) ברמת-לוח ומערכות מחשוב משובצות שונות, הצעות אלו דורשות בדרך כלל הנדסת חומרה משמעותית לפני שניתן להתחיל בקידוד.

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

מאמר זה מסביר את הקריטריונים לבחירת OS המובילים לשימוש ב-Windows‏ עבור Arm‏ וסוקר את הגרסאות השונות של‏ Windows‏ שיש לשקול. אחר כך הוא מציג את ערכת הפיתוח Windows על Arm‏ EPC-R3720IQ-AWA12‏ מבית Advantech ומתאר כיצד היא מספקת סביבה חלקה להאצת הפיתוח. המאמר כולל עצות לתחילת העבודה ומצביע על כלי Microsoft שניתן להשתמש בהם עם הערכה.

מדוע להשתמש ב-Windows‏ במקום ב-Linux או במערכת RTOS‏?

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

מערכת הפעלה Windows‏ מציעה‏ גם מערכת פיתוח אקולוגית בשלה, עם כלים וממשקי תכנות יישומים (APIs) מקיפים כגון ה-NET Framework. וה-Visual Studio. מתכנתים יכולים לבחור ממגוון רחב של‏ שפות תכנות כמו ++C,‏ Python‏ ו-Node.js‏, ויכולים לגשת לשירותי Microsoft Azure‏ שונים כדי לבנות פונקציונליות מתוחכמת במהירות.

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

לעומת Windows‏ ו-Linux, מערכות RTOS‏ מדגישות יעילות. בדרך כלל חסרים להן מאפיינים מתקדמים כמו ממשקי משתמש גרפיים (GUIs) ואת המערכת האקולוגית הרחבה המסופקת על ידי מערכות הפעלה עם אפיון מלא.

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

הכרת האפשרויות של Windows

Microsoft מציעה מספר וריאציות של Windows. טבלה 1‏ מראה חלק מההבדלים העיקריים בין המהדורות השונות. עבור ה-EPC-R3720IQ-AWA12, ‏Advantech בחרה ב-Windows IoT Enterprise. אחד היתרונות של‏ Windows IoT Enterprise‏ הוא התאימות שלה עם ה-Universal Windows Platform‏ (UWP) הידידותית-למגע ויישומי Win32 מסורתיים. גמישות זו מאפשרת למפתחים לבחור את דגם היישום המתאים ביותר לצרכים שלהם.

Windows Pro Windows IoT Enterprise Windows IoT Core
התקני מטרה מחשבים שולחניים, מחשבים נישאים, טאבלטים התקנים עם אפיון מלא, לדוגמה, ממשקי אדם-מכונה התקנים פשוטים, לדוגמה, headless applications
ממשק גרפי GUI מלא GUI מלא עם אפשרויות נעילה (Lockdown) אין GUI
תמיכה ביישום Win32,‏ UWP Win32,‏ UWP יישום UWP יחיד
רישוי רישוי מסחרי סטנדרטי הסכמי OEM, רישוי מיוחד חינמי לשימוש אישי,‏ הסכמי OEM
התאמה-מיוחדת התאמה-מיוחדת מוגבלת רמה גבוהה של התאמה-מיוחדת התאמה-מיוחדת מוגבלת
מחזור חיי תמיכה עדכונים ותמיכה שוטפים אפשרויות ערוץ שירות ארוך-טווח (LTSC‏) תמיכה מוגבלת

טבלה 1‏: מהדורות שונות של Windows‏ תומכות בתרחישי שימוש ייחודיים. (מקור טבלה: Kenton Williston, מבוססת על מידע מ-Microsoft‏)

Windows IoT Enterprise מציעה גם מאפייני אבטחה מתקדמים המשפרים אמינות:

  • יכולות נעילת התקן מאפשרות למנהלי מערכת להגביל את ההתקן להרצת יישומים מורשים בלבד.
  • אתחול מאובטח (Secure boot) מבטיח שההתקן מופעל רק עם תוכנה מהימנה.
  • הצפנת BitLocker מסייע להגן על‏ נתונים רגישים.

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

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

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

מדוע להשתמש ב-Windows‏ על Arm‏?

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

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

השגת התחלת עבודה מהירה עם ערכת פיתוח Windows על Arm

כפי שצוין לעיל, אחד מהחסרונות של Windows‏ על Arm‏ היה העדר חומרה מוכנה לשימוש. ה-EPC-R3720IQ-AWA12 פותר בעיה זו על ידי אספקת קופסת PC מותקנת מראש עם Windows 10 IoT‏.

כפי שמוצג באיור 1‏, ערכת הפיתוח נתונה במארז קשיח במידות 174 x 108 x‏ 25 מילימטר (mm). מארז זה כולל תושבות הרכבה וניתן לפרוס אותו בשטח במידת הצורך.

תמונה של קופסת PC קומפקטית Advantech EPC-R3720IQ-AWA12איור 1‏: ה-EPC-R3720IQ-AWA12 היא קופסת PC קומפקטית מופעלת על ידי מעבד ARM המריץ Windows 10 IoT. (מקור תמונה: Advantech)

בלב ערכת הפיתוח נמצאת מערכת-על-שבב (SoC)‏ MIMX8ML8DVNLZAB של NXP Semiconductors המבוססת על מעבד ארבע-ליבות Arm Cortex-A53, שמסוגל לרוץ בתדר 1.8 גיגה-הרץ (GHz) (הוא רץ בתדר ‎1.6 GHz על ה-EPC-R3720IQ-AWA12). ה-SoC‏ כוללת יחידת עיבוד נוירונית‏ (NPU) של 2.3 טרה פעולות לשנייה (TOPS), מה שעושה אותה למתאימה היטב עבור עומסי עבודה של בינה מלאכותית (AI) ולמידת מכונה (ML) בקצה‏.

לערכת הפיתוח יש 6 גיגה-בייט (GBytes)‏ של זיכרון, ‎16 Gbytes‏ אחסון, ואפשרויות הרחבה באמצעות חריצים‏ עבור Mini-PCIe,‏ M.2,‏ Micro SD ו-Nano SIM‏. בנוגע לחיבוריות, ערכת הפיתוח מציעה שתי נקודות חיבור Gigabit Ethernet‏ (GbE‏), נקודת חיבור אחת USB 2.0‏, נקודת חיבור אחת USB 3.2 Gen 1, נקודת חיבור אחת‏ HDMI ונקודת חיבור טורית התומכת ב-CAN FD.

כינון ערכת הפיתוח

כינון ערכת הפיתוח EPC-R3720IQ-AWA12 הוא תהליך פשוט. הנקודות הבאות מפרטות את שלבי המפתח, החל מהכינון הבסיסי:

  1. יש לחבר‏ צג, לוח מקשים ורשת באמצעות נקודות החיבור HDMI‏, USB‏ ו-Ethernet‏, בהתאמה.
  2. ערכת הפיתוח תתחיל אוטומטית את תהליך הכינון של ה-Windows 10 IoT‏ עם האתחול (Boot) הראשון. ברגע שזה הושלם, תוצג למשתמש הסביבה השולחנית של ה-Windows‏.
  3. המשתמש חייב להוריד ולהתקין Visual Studio מאתר האינטרנט של Microsoft‏ כדי לכונן את סביבת הפיתוח. במהלך ההתקנה, המשתמש חייב לבחור את הרכיבים הדרושים עבור פיתוח יישומי Windows IoT‏ וכל עומסי עבודה נחוצים אחרים, כגון NET. או UWP.
  4. יש להתקין את כל ערכות פיתוח התוכנה (SDKs) וזמני ההרצה הנדרשים. לדוגמה, אם יש צורך ב-NET 6. או NET 7., יש להוריד את זמני ההרצה המתאימים מפורטל המפתחים של Microsoft או דרך ה-Installer של Visual Studio.
  5. לאחר התקנת הכלים הנחוצים, יש להגדיר את תצורת ה-Visual Studio לפיתוח Windows IoT‏ כדי להבטיח שמותקנות הגרסאות הנכונות של‏ ה-Windows SDK וכלים.

בהתאם לצרכי היישום, ייתכן שתידרשנה תצורות נוספות:

  1. יש לחבר אנטנה למחבר המובנה של ערכת הפיתוח אם יש צורך ברשת אלחוטית. עבור קישוריות סלולרית, יש להקצות ולהתקין כרטיס SIM.
  2. יש לבדוק כל התקן היקפי המחובר באמצעות חריץ ה-2.M או נקודות חיבור I/O אחרות, כדי להבטיח שמנהלי-ההתקנים והתוכנות הדרושים מותקנים עבור התקנים היקפיים אלה.
  3. אם היישום כולל קישוריות ענן, יש להגדיר תצורה של ה-Azure IoT Hub המתאימה או של שירותי ענן אחרים. פעולה זו כרוכה בהגדרת חשבון Azure, יצירת משאבים באמצעות Azure‏, וקביעת התצורה של ערכת הפיתוח לתקשורת עם משאבים אלה.

המשתמש יכול כעת לעבור לפיתוח ופריסה של יישומים. ניתן להתחיל בפיתוח על ידי יצירת פרויקט חדש או פתיחת פרויקט קיים ב-Visual Studio. ניתן לפתח, להריץ ולבדוק יישומים ישירות על ההתקן.

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

סיכום

Windows על Arm מציעה יתרונות משכנעים רבים עבור התקני IoT מורכבים. ערכת הפיתוח EPC-R3720IQ-AWA12 מעניקה למפתחים מסלול מהיר ליצירת יישומים עבור מערכת הפעלה זו‏, והחומרה יכולה לשמש גם ישירות לפריסה במקרים מסוימים. כמתואר, צעדים ראשונים עם ערכת הפיתוח הם‏ תהליך פשוט, שמאפשר למפתחים להתחיל פיתוח יישומים עם כינון מינימלי.

מקורות:

  1. צעדים ראשונים עם Windows 10 IoT Enterprise תוך שימוש ב-Advantech EPC-R3720,‏ PC משובץ מבוסס-Arm עם NXP i.MX 8M Plus"
DigiKey logo

מיאון אחריות: דעות, אמונות ונקודות מבט המובעות על ידי מחברים שונים ו/או משתתפי פורום באתר אינטרנט זה לא בהכרח משקפות את הדעות, האמונות ונקודות המבט של חברת DigiKey או את המדיניות הרשמית של חברת DigiKey.

אודות כותב זה

Image of Kenton Williston

קנטון וויליסטון

קנטון וויליסטון קיבל .B.S בהנדסת חשמל בשנת 2000 והחל את הקריירה שלו כאנליסט בנצ'מרק מעבדים. מאז הוא עבד כעורך בקבוצת EE Times ועזר להשיק ולהוביל מספר פרסומים וכנסים המשרתים את תעשיית האלקטרוניקה.

אודות מוציא לאור זה

DigiKey's North American Editors