RSS 1.0 FEED Powered by GM-RSS ארכיון האתר בטל רישום כתוב אלינו משאבי הפריק רישום לאיגרת פורום מייקרוסופט פורום הפריק מי אנחנו דף הבית

IPL,SPL מה הם עושים ב ROM שלנו.
Carmi - 28/01/2006
 


מחשב צריך תוכנה כדי לרוץ ולעשות את העבודה שלו. ללא תוכנה המחשב לא שווה הרבה (כמתכנת אני מקווה כך). כדי שלא יהיה צורך לטעון את התוכנה כל פעם שהמחשב מקבל מתח יש צורך ביכולת לאכסן את התוכנה במחשב גם כאשר הוא ללא מתח חשמלי. הדבר הזה נכון למכשירים רבים וגם לפוקט פיסי שלנו. בפוקט פיסי יש שימוש ברכבי מסוג FLASH עבור שמירת התוכניות כאשר אין מתח חשמלי במכשיר. על רכיב FALSH נשמר גם ה IMAGE של מערכת ההפעלה ומשם היא עולה לאחר Hard Reset.

CPUCHIP1 (4k image)

לאחרונה יש שימוש ברכיבי 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

BOOTLOADER123 (28k image)

תיחול המכשיר ברכיבי 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
* הגדרת ההגדרות הבסיסיות של המכשיר
* טעינת מערכת ההפעלה לזיכרון
* הרצת את מערכת ההפעלה שהועתקה

BOOTLOADER321 (39k image)

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

הערות: 4 הערות

משה

כמו שכתבתי "זה הסבר פשטני של התהליך והיות וכך אינו מדויק לחלוטין אבל יאפשר הבנה של הנושא"

להסיר ספק יש אפשרות גישה ישירה לרכיב ה FLASH ל R/W

נרשם על ידי אלי כרמי בתאריך 29/01/2006, בשעה 01:31PM לפי שעון ישראל

כרמי,

משהו מוזר לי בכתבה - אני לא מעיר מתוך ידע ב-SPL/IPL אלא מתוך הקשה לוגית.

אם המטרה של ה-SPL/IPL היא לאפשר XIP - אזי הם משמשים מעין read/write cache לזכרון ה-NAND שלא מאפשר גישה ל-BYTE/WORD בודד אלא לבלוק. ולכן - כאשר אתה נגש ב-NAND לכתובת מסוימת, M-SYSTEMS מעתיקים את הבלוק לזכרון ה-RAM, מאפשרים לך לשנות אותו ואז הם מחזירים אותו חזרה כבלוק.

שוב - אם אני טועה - אתך הסליחה :)

משה

נרשם על ידי משה בתאריך 29/01/2006, בשעה 01:03PM לפי שעון ישראל

כל הכבוד על הכתבה.
רק דל במכשיר הדגל הקודם שלהם X50V שמו NOR והשדרוג לWM 2005 צולע.
נרשם על ידי DvSi בתאריך 28/01/2006, בשעה 07:31PM לפי שעון ישראל

כל הכבוד על ההסבר המושקע!~!
נרשם על ידי nadavi בתאריך 28/01/2006, בשעה 05:17PM לפי שעון ישראל

[ הקודם: "מדריך למשתמש המתחיל ב PE כתבה 2: אוזניות ה BT ושימוש בחיוג הקולי" ] [לעמוד הראשי] [ הבא: "OpenNETCF בגירסת בטה חדשה 2.0" ]

Powered By Greymatter





חפש   
חפש באתר עם גוגל   
Google
Web pocketpcfreak.com
חברות התומכות באתר
Onroad
iGo Website
PocketPCNetL (5k image)
Visual CE
Pocket Gear
חפש מוצר באמזון
Search Now:
הגרלות באתר
פרסים ומעמדים
Helio Diamant and Saar Avigour are Microsoft MVPs
אתרים חברים
Pocket PC Thoughts
Pocket PC Writer Net