|

לאחרונה יש שימוש ברכיבי FLASH מסוג NAND במקום רכיבי NOR שהיו נהוגים בעבר. רכיב זה מביא מספר יתרונות וכמובן שסובל גם ממספר חסרונות. בעקבות השימוש ברכיבי NAND כיום הצורה שבה מערכת עולה היא שונה. כאשר אנחנו בודקים את ה IMAGE של מערכת ההפעלה אנחנו פוגשים שם שני "חברים חדשים" שלא היו בעבר IPL ו SPL. כתבה טכנית זו תתמקד בשני "חברים" אלו כדי לתת לכם קצת יותר מושג על הנושא וגם בגלל שמדובר כאן בפתרון יפה של חברה ישראלית M-System.
להמשך עברו לעמוד הכתבה
כללי אומנם כתבה זו הינה טכנית, אבל כדי לפשט את הנושא אני מדלג כאן מספר נקודות ויכול להיות שבכך לא מציג את הדברים בצורה המדויקת ביותר. למרות זאת העיקרון בבסיסו נכון ויעזור לכם להבין את הנושא.
NAND ו NOR על קצה המזלג בשנים האחרונות יש שימוש ברכיבי FLASH מסוג NAND במקום רכיבי ה NOR שהיו בקובלים בעבר. לרכיבי ה NAND יש מספר יתרונות שבניהם עלות תועלת רבה של נפח האכסון וגדול פיזי קטן יותר. אבל רכיבי ה NAND סובלים מכך שאין אפשרות להריץ את התוכנה מתוך הרכיב. מושג זה נקרה XIP - eXecute-In-Place, כלומר כדי להריץ תוכנה מרכיב NAND יש צורך להעתיק את התוכנה לרכיב זיכרון אחר ולהריץ אותה משם. בדיוק מה שקורה בפיסי שלכם שמעתיק תוכנה מהדיסק הקשיח כל פעם שמריצים תוכנה.
תיחול המכשיר ברכיבי NOR כל פעם שהמכשיר מתחיל לעבור לאחר מצב שהיה ללא מתח חשמלי מתבצעת פעולת תיחול למכשיר. פעולה זו מתרחשת במכשיר שהיגע מיצרן בפעלה ראשונה שלו או לאחר Hard Reset נקי. המכשיר צריך להעלות את ה IMAGE של מערכת ההפעלה ולהריץ אותה. המכשיר מתוכנן כך שבעת קבלת זרם ראשוני הוא מתחיל להריץ תוכנית קטנה שנמצאת על רכיב ה FLASH. תוכנית זו נקראת Boot Loader שכל תפקידה בחיים הוא: * הגדרת הגדרות בסיסיות של המכשיר, * טעינת מערכת ההפעלה לזיכרון הראשי * הרצת את מערכת ההפעלה שהועתקה. ברכיבי NOR לא הייתה בעיה היות ורכיבים אלו מאפשרים XIP - eXecute-In-Place. כלומר להריץ קוד מתוך הרכיב ה FLASH. בחלק קטן בזיכרון ה FLASH של רכיב זה ממוקמת תוכנית ה Boot Loader. מי שעשה עדכון ROM בעבר יכול להיות שפגש את ה Boot Loader

תיחול המכשיר ברכיבי NAND כאמור רכיבי NAND לא מאפשרים XIP - eXecute-In-Place והיה צורך למצוא פתרון אחר לנושא. בתחילת דרכו של ה NAND היה שימוש ברכיב נוסף שתומך ב XIP שבו ישבה תוכנת ה Boot Loader, חיסרון בשיטה זו הינו הצורך בשימוש ברכיב נוסף במכשיר – שיטה זו לוקה בחסרונות כמו בזבוז מקום וחיווט של רכיב נוסף על המעגל החשמלי. הפתרון של חברת M-System היה הוספה של זיכרון קטן פנימית ברכיב עם מנגנון העתקה אוטומטי. רכיב זיכרון קטן זה מאפשר XIP כלומר ריצה של תוכנית ממנו. כעת נוספו לנו ב FLASH של רכיב ה NAND שני "חברים" החדשים שלנו ה Initial Program Loader – IPL וה Secondary Program Loader –SPL. התוכניות האלו עובדות בצורה הבאה בהתעוררות המכשיר עם מתח ראשון IPL תוכנית IPL מועתקת אוטומטית לזיכרון הפנימי, זיכרון זה הינו מאוד קטן (כ 1K ולפעמים גם פחות נכך), לכן התוכנית יכולה לבצע מספר פעולות קטן מאוד: * הגדרת ובדיקת אזור זיכרון קטן של ה RAM * העתקת ה SPL לזיכרון זה והרצת ה SPL מה RAM SPL * בדיקת את שאר זיכרון ה RAM * הגדרת ההגדרות הבסיסיות של המכשיר * טעינת מערכת ההפעלה לזיכרון * הרצת את מערכת ההפעלה שהועתקה

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