פיתוח עם או בלי מערכת הפעלה Embedded Systems

מלאו פרטים לקבלת ייעוץ





אני מאשר קבלת מבצעים ועדכונים מחברת RT-GROUP בכפוף לprivacy


לחץ לצפיה
פיתוח עם או בלי מערכת הפעלה Embedded Systems

Embedded systems פיתוח עם או בלי מערכת הפעלה (Embedded Linux)

בשנים הראשונות של פיתוח מערכות Embedded, האפליקציות היו מותאמות אישית אל הלוח והמעבד, כלומר התוכנה היוותה Single Task שהותאם לארכיטקטורה בשימוש (כגון Arm / Pic / x86 / MIPS / Sparc etc..), ה Device Drivers והאפליקציה היו כאחד, לא הייתה חלוקה לשכבות התוכנה או שכבת אבסטרקציה .
הדבר היווה בעיה בעיקר בעת הוספת Features , שינוי ארכיטקטורה וכמובן שה code-reuse לא היה ממש יעיל.

פיתוחים בסגנון הנ"ל נקראים Bare Board Application (כלומר אפליקציית לוח ערום, היות ואין שימוש במערכות הפעלה). גם כיום קיים שימוש במערכות Embedded הנ"ל במיוחד ע"י Micro-Controllers כגון : PIC \Atmel AVR \ ARM Cortex-M cores\ Freescale-ColdFire

השלב הראשון בהעלאת ה Micro-Controller הינו ה- Boot-Loader.
ה- Boot-Loader מתחיל לרוץ מרגע שה- Micro-Controller מקבל מתח ועד לרגע שכלל Peripherals בכרטיס מאותחלים והמערכת מוכנה להריץ Bare Board Application או העלאת מערכת הפעלה כגון Linux. למד עוד על כך בקורס Linux.

במערכות ה Embedded ה- Boot-Loader אחראי להעלאת כלל ה peripherals במערכת כדוגמת RS232, Timers, USB, Ethernet עבודה עם התקני Flash, RTC, Interrupt Controller ועוד .

בעבור פרויקטים מסוג Single Task אשר דורשים ביצועים נמוכים כגון עבודה עם Sensors אכן זאת האופציה מועדפת. אך בעבור פרויקטים אשר דורשים Multi-Threading וקצב עיבוד גבוהה יש צורך במערכות הפעלה.

שפת תכנות בEmbedded Systems

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

  • גודל הROM
  • מהירות התוכנה
  • ניידות
  • קלות הטמעה
  • תחזוקה פשוטה
  • קריאה ידידותית למשתמש

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

פיתוח תחת מערכת הפעלה Embedded Linux

הצורך בפיתוח מערכות Embedded בעלי מערכות הפעלה בא לידי ביטוי במיוחד כאשר יש צורך בריבוי משימות (Multi-Tasks) תוך הגנה על משאבים משותפים, יציבות, שימוש ב משאבים של ה Kernel וכן תמיכה ב Stacks –ים שונים, לדוגמא ה- Network Stack או File –Systems שונים.

השימוש במערכות הפעלה מאפשר להפריד בין האפליקציה (או האלגוריתם שאותו אנו מעוניינים לפתח) לבין החומרה וה-Driver שמפעיל אותה. במילים אחרות גם אם נבחר בפלטפורמת חומרה שונה עדיין לא יהיה צורך בשינוי מהותי אם בכלל באפליקציה (השינוי יבוא לידי ביטוי ב Kernel וה- Device Drivers).

אחת ממערכות ההפעלה הפופולאריות ביותר כיום למערכות Embedded וכן P.C. הינה Linux אשר במרוצת השנים צברה וותק והפכה לתקן דה פקטו בקרב מפתחים רבים.

Linux מבוססת קוד פתוח, מאפשרת התאמה למעבדים שונים, תומכת בתקן POSIX (Portable OS Interface Unix), מבטיחה יציבות ותומכת כמעט בכל התקני חומרה החדשים.

Linux אשר הגדירה תקן אחיד לפיתוח עבור Embedded Systems (מכאן השם Embedded Linux) הגיעה במקור מ UNIX, ארגונים רבים גילו עניין ביתרונות של Linux המשיכו את הפיתוח והתמיכה במערכת לפי רישיון GPL (General Public License) שנכתב ע"י קהילת פרויקט GNU (קהילת קוד פתוח Gnu Not Unix) – המחייב להשאיר את הקוד פתוח.

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

אולי יעניין אותך גם:

אני מאשר קבלת מבצעים ועדכונים מחברת RT-GROUP בכפוף לתקנון