ABA


"שאלה בקשר ל Firmware."
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #6843 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 6843
T_M_W

   21:23   30.08.03   
אל הפורום  
  שאלה בקשר ל Firmware.  
 
  
באיזה שפת תיכנות כותבים Firmware למכשיר אלקטרוני?

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


תודה רבה!!!

"כל טוּב לאדוני"


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  אסמבלי ולעיתים C אבל גם דברים אחרים. dryice 31.08.03 20:14 1
     תודה רבה לך, יש לי עוד כמה שאלות, T_M_W 01.09.03 01:01 2
         יש תוכנות אסמבלר, שממירות אסמבלי לשפת מכונה dryice 01.09.03 13:26 3
             OK - תודה רבה! T_M_W 04.09.03 11:46 4

       
dryice

   20:14   31.08.03   
אל הפורום  
  1. אסמבלי ולעיתים C אבל גם דברים אחרים.  
בתגובה להודעה מספר 0
 
   מדובר במערכות embedded ולרוב עם דרישות real-time ממש לא פשוטות.
מה גם שהמערכות שהם רצים על הם הרבה פעמים מחשבים מאוד מוגבלים,
לכשכותבים bios, לא רק שצריך לכתוב אסמבלי, וצריך לעשות הרבה
במספר פקודות קטן(גם מהירות וגם אין מקום לשמור הרבה מידע)
אלא שכותבים אסמבלי ללא פסיקות, כותבים הכל ממש מאפס.

יש המון מערכות embedded מסוגים שונים, ואפשר למעשה לכתוב
את התוכנה שהם מריצים בכל שפה, או בכמה שפות, אבל שפות נפוצות
יהיו אסמבלי,C ובאופן מפתיעה מעט עדה.

הרבה פעמים המערכות עליהם רצים התוכנות מאוד מוגבלות, אין mmu
לפעמים בכלל אין מערכת מרובת תהליכים או מערכת הפעלה בכלל.
זה מכריח אותך להכנס לדברים בסיסיים למדיי.
יש מכונות כמו routers שלרוב יש עליהם איזו מיני מערכת הפעלה
מאוד מוגבלת, ועליה מריצים כל מיני דברים.

אין איזו שיטה קסומה להכין firmware, לכל מכשיר יש דרישות
יחודיות ויש לתוכנה דרכים שונות להתממשק עם דברים אחרים.
הרבה פעמים האסמבלי של המכונה הוא יחודי, אבל בימינו אנשים
נוטים להעדיף COTS ולהשתמש באיזה שהוא אסמבלי מוכר.

הBIOS של המחשב מכיל קוד מכונה נקי של המחשב עליו הוא מורכב,
זה צריך להגדיר הרבה מאוד פסיקות וכל מיני שירותים בסיסיים
של התממשקות עם החומרה. והוא בסופו של דבר צריך לעשות את ה
bootstrapping ולהעלות את מערכת ההפעלה. למעשה הוא טוען
את הMBR לכתובת מסוימת בזכרון(כתובת קבועה) וקופץ לשם לתת
לקוד בMBR להתחיל לרוץ.
הMBR מכיל מעבר לקוד,כל מיני טבלאות מעניינות,אבל ההתחלה ממש
של הMBR היא לרוב פשוט פקודת jmp לקטע שמכיל הקוד ממש.

DRYICE


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
T_M_W

   01:01   01.09.03   
אל הפורום  
  2. תודה רבה לך, יש לי עוד כמה שאלות,  
בתגובה להודעה מספר 1
 
  
אפשר לערוך קובץ BIN ולשנות את ערכו? איך יוצרים כזה קובץ בכלל? עם איזה מהדר?


תודה רבה!

"כל טוּב לאדוני"


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dryice

   13:26   01.09.03   
אל הפורום  
  3. יש תוכנות אסמבלר, שממירות אסמבלי לשפת מכונה  
בתגובה להודעה מספר 2
 
   ויש כל מיני, למעשה יש כל מיני מעבדים שונים, ועבור כל מעבד
יש לפחות גרסא נפרדת של האסמבלר.
כמובן שאם כותבים בC אז צריך עוד קומפיילר.

קצת קשה להכנס לפרטים ועדיין להישאר ברמה הכללית ביותר,
אני לא יכול לענות תשובה חכמה שתכסה גם bios וגם firmware
של router וגם firmware של הטלפון הסלולרי...

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


DRYICE


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
T_M_W

   11:46   04.09.03   
אל הפורום  
  4. OK - תודה רבה!  
בתגובה להודעה מספר 3
 
   "כל טוּב לאדוני"


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net