שאלה: מה זה BSP?

galgal21

New member
שאלה: מה זה BSP?

לפי מה שקראתי פרוש הדבר Board support package?
האם מישהו יכול לפרט קצת יותר?
 

jgut

New member
בהינתן בורד מסויים

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

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

לחלופין אם קונים בורד מוכן אז מקובל שהוא מגיע עם דרייברים לכל ה peripherals בתור דוגמא.
 
כן כשמרימים מוצר embedded על בורד חדש, צריך לעשות התאמות בשכבת הדרייברים שמתאמת בין מערכת ההפעלה לבין הרכיבים שעל הבורד: החל מהרכיבים הבסיסיים כמו הקריסטל שנותן תדר שעון, דרך זכרונות ה RAM שצריך לזהות ולאתחל, ועד לרכיבים מתקדמים כמו רכיבי התקשורת וכו׳.

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

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