ארכיטקטורת תוכנה משובצת מחשב , מה זה אמבדד ?
מספר ארכיטקטורות תוכנה משמשות בתכן מערכות משובצות.
חוג בקרה פשוט
תכן שבו לולאה מרכזית אשר קוראת לשיטות, שכל אחת מהן מנהלת חלק מהחומרה או התוכנה.
ריבוי משימות מקדים
במערכת אמבדד כזו קוד נמוך רמה ממתג בין מטלות או חוטים באמצעות טיימר (המחובר לפסיקה). ברמה הנמוכה הזו של המערכת בדרך כלל מצוי הגרעין (ה"קרנל") של מערכת ההפעלה. הגרעין מכניס לתמונה את המורכבויות של ניהול מספר מטלות אשר רצות באופן תפיסתי במקביל.
ריבוי משימות שיתופי
מערכת שהיא מערכת ריבוי משימות לא מקדים דומה למערכת בעלת חוג בקרה פשוט למעט העובדה שהלולאה חבויה בתוך ה-API. המתכנת יכול להגדיר אוסף מטלות וכל מטלה מקבלת את הסביבה הפרטית שלה שבה היא יכולה לרוץ. היתרון בגישה זו הוא שהוספת קוד חדש נעשית פשוטה יותר. כל שצריך המתכנת לעשות הוא לכתוב מטלה חדשה.
מערכת הנשלטת על ידי פסיקות
מטלות המבוצעות על ידי המערכת מונעות על ידי אירועים (events) הנורים ממקומות שונים. פסיקה (Interrupt) יכולה להיות מיוצרת למשל על ידי טיימר בעל תדר מוגדר מראש או על ידי בקר פורט סיריאלי שמקבל בייט. מערכות נשלטות פסיקות משמשות כאשר יש צורך בתגובה מהירה לאירועים והקוד המטפל באירועים הוא קצר ופשוט. לרוב מערכות כאלו יריצו גם מטלה פשוטה בלולאה ראשית אולם המטלה הזו לא יכולה להיות רגישה מאוד לעיכובים בלתי צפויים שיגרמו מטיפול באירועים שונים. לפעמים מטפל הפסיקות ידאג לנתב מטלות ארוכות יותר לתור. מאוחר יותר, כאשר מטפל הפסיקות סיים, יטופלו המטלות הארוכות על ידי הלולאה הראשית. שיטה זו מביאה את המערכות קרוב יותר לגרעין (kernel) מרובה מטלות.
מאחר שקוד של מטלות החולקות נתונים משותפים עשוי לגרור חוסר נכונות של הנתונים בעקבות תחרות, יש לדאוג לסנכרן את הגישה לנתונים המשותפים באמצעות סמפור או תור הודעות למשל.
על מנת לחסוך מהמתכנתים את הצורך לכתוב שירותים ברמות גרעין מערכת ההפעלה נפוץ בקרב ארגונים השימוש במערכות הפעלה בזמן אמת (RTOS). כך המתכנתים מקדישים את רוב הזמן לפונקציונליות ההתקן. כך הדבר לפחות במערכות גדולות ומורכבות. במערכות קטנות לא ניתן להשלים עם היתירות שקיימת במערכת זמן אמת גנרית בשל מגבלות זיכרון ביצועים וזמן סוללה המאפיינות מערכות זעירות. בחירת ה RTOS היא אומנות בפני עצמה שכן לכל מערכת הפעלה מאפיינים ייחודיים לדוגמה ההבדל בין "זמן אמת רך" לבין "זמן אמת קשה".
נדלתקם ? את תחום המאבדד אפשר ללמוד ב קורס פיתוח אמבדד רובוטרוניקס מאפשר ללמוד את התחום עם ערכת פיתוח בצורה מקצועית ומהירה