אינציקלופדיה של רדיו אלקטרוניקה והנדסת חשמל אתחול מקטעי זיכרון נוספים בתוכניות עבור מיקרו-בקרים ממשפחת MCS-51. אנציקלופדיה של רדיו אלקטרוניקה והנדסת חשמל אנציקלופדיה של רדיו אלקטרוניקה והנדסת חשמל / מיקרו-בקרים למיקרו-בקרים מודרניים יש זיכרון נתונים לא נדיף (EEPROM) מובנה, מידע שבו לפעמים צריך להזין לפני שהמכשיר מתחיל לעבוד. התמונה (קושחה) של זיכרון זה חייבת להיווצר במהלך פיתוח התוכנית. זה יכול להיעשות, למשל, assemblers עבור מיקרו-בקרים של משפחות PICmicro ו-AVR. הם נותנים למתכנת אפשרות לארגן קטע זיכרון נוסף ולהגדיר בו את הנתונים הראשוניים לכתיבה ל-EEPROM. מרכיבים למיקרו-בקרים עם ליבת MSC-51 מאפשרים גם לחלק את הזיכרון למספר חלקים, אך רק באחד מהם - קטע קוד ההפעלה - אפשרי אתחול. בכל השאר, מותר לשמור תאי זיכרון ולכתוב להם נתונים רק במהלך ביצוע התוכנית. הדרך לצאת מהמצב יכולה להיות קבלת הפנים, המתוארת להלן. המהות שלו היא השימוש בהרכבה מותנית, וכתוצאה מכך האתחול של קטע הקוד מתרחש בדרכים שונות, בהתאם לתנאי התרגום. ניתן להשתמש בקבצי HEX שהתקבלו כדי לתכנת לא רק את ה-EEPROM הפנימי של המיקרו-בקר, אלא גם שבבי זיכרון חיצוניים. קטעים נוספים שנוצרו באופן מלאכותי (כל מספר מהם מותר) ממוקמים בטקסט התוכנית לפני קטע הקוד האמיתי. תוויות המוגדרות באחת מהן יהיו ידועות בכל הקטעים הבאים, כולל קטע הקוד בפועל. אבל קישורים בכיוון ההפוך אסורים. אין הגבלות על הסוג והמיקום הפיזי של זיכרון נוסף. דוגמה לתוכנית עם שני מקטעים מאותחלים נוספים, המכונים בדרך כלל EEPROM ו-FLASH, מוצגת בטבלה. 1. לאחר שמירתו בקובץ example.asm, נשתמש ב-ASEM-51 assembler, אותו ניתן "להוריד" בחינם בכתובת . קודם כל, הפעל את ה-assembler בשורת הפקודה asem example.asm eeprom.hex/define:EEPROM מעבד את השורות הראשונות של טקסט התוכנית, הוא יציב את התוויות iEeprom, ptrWord ו-prtBufE בטבלת הסמלים שלו, ואת הנתונים שצוינו על ידי הנחיות DB ו-DW בקובץ הפלט eeprom.hex (טבלה 2). לאחר מכן ייבדק אורך הקטע. אם הערך של מונה התוכנית חורג מגודל ה-EEPROM הקיים פיזית (במקרה זה - 640 תאים), תוצג הודעת שגיאה. אם נפח הקטע קטן כמובן, ניתן לשלול את השיק. ניתן לחזות בדיקות דומות במקטעים אחרים. לאחר מכן, ההרכב יתקל בהנחיית IFNDEF EEPROM. מכיוון שסמל בשם זה מוגדר בשורת הפקודה ( /define:EEPROM פרמטר), כל השורות הבאות של התוכנית, עד להנחיית ENDIF, יתעלמו והתרגום יסתיים שם. הפעל את השידור החוזר של אותה תוכנית משורת הפקודה asem example.asm flash.hex/define:FLASH הוא שונה מהקודם רק בהגדרה של סמל FLASH במקום EEPROM. השלב הראשון של התרגום יתקדם בדיוק כפי שתואר לעיל, והנתונים של קטע ה-EEPROM ייכתבו לקובץ הפלט. עם זאת, הוראת IFNDEF EEPROM לא תפריע לתהליך הפעם, וההנחיה הבאה של ORG 0 תאפס את מונה התוכנית. האסמבלר יתחיל לכתוב את הנתונים המיועדים לקטע FLASH לתוך קובץ הפלט מכתובת אפס. השידור יופסק על ידי הוראת IFNDEF FLASH. הצורה הסופית של קובץ flash.hex מוצגת בטבלה. 3. אנו מגדירים את התרגום של הקטע האמיתי של קוד ההפעלה על ידי הפקודה asem example.asm קודם כל, קטעים נוספים יורכבו מחדש, וכל התוויות המוגדרות בהם יוכנסו לטבלת הסמלים של אסמבלר, שתאפשר הפניה אליהם מקטע הקוד. ההנחיה ORG 0 ממש בתחילתה תאפס שוב את מונה התוכניות. השידור ימשיך כרגיל. בקובץ example.hex שהתקבל (טבלה 4), קוד ההפעלה של התוכנית מתחיל מהשורה הרביעית, אחרי השורות הזהות לאלו שהופיעו בקובצי HEX הקודמים. הנוכחות של מידע מיותר בדרך כלל אינה מפריעה לטעינה נכונה של הקוד לאזורי הזיכרון המתאימים של המיקרו-בקר. במאגר של התוכנית השולטת בתכנות, הנתונים הנכונים, כאשר הכתובות תואמות, "עוקרות" את אלה שהוזנו קודם לכן. ורק אם הקטע החדש קצר יותר מהקודם, ה"זנב" שלו יישמר במאגר. מסיבה זו, רצוי לתאר קטעים בתכנית בסדר עולה לפי אורכם. לחלק מהמתכנתים אין מאגר ביניים או שולטים בקפדנות בנתוני הקלט, ואינם מאפשרים חפיפת כתובות. במקרה הראשון, התכנות יהיה שגוי, במקרה השני, הוא לא יתחיל כלל עד לביטול ה"שגיאות". אתה יכול להסיר ידנית שורות נוספות מקובץ HEX באמצעות כל עורך טקסט. אתה יכול גם לעשות זאת באופן אוטומטי על ידי הפעלת שתי פקודות ברציפות: hex2bin example.hex bin2hex example.bin הראשונה תיצור תמונה בינארית של הנתונים הכלולים בקובץ example.hex ותמקם אותו בקובץ example.bin. השני יבצע את הטרנספורמציה ההפוכה ויצור קובץ example.hex חדש ללא סלסולים. ניתן "להוריד" את התוכנות הדרושות בכתובות ו . מחבר: ש' צ'קונוב, איזבסק ראה מאמרים אחרים סעיף מיקרו-בקרים. תקרא ותכתוב שימושי הערות על מאמר זה. חדשות אחרונות של מדע וטכנולוגיה, אלקטרוניקה חדשה: עור מלאכותי לחיקוי מגע
15.04.2024 פסולת חתולים של Petgugu Global
15.04.2024 האטרקטיביות של גברים אכפתיים
14.04.2024
עוד חדשות מעניינות: ▪ LED SOLERIQ S 13 OSRAM Opto Semiconductors ▪ אוזניות כפולות של Plantronics Explorer 50 ▪ מעבורת מחשב All-in-One X50V5 עדכון חדשות של מדע וטכנולוגיה, אלקטרוניקה חדשה
חומרים מעניינים של הספרייה הטכנית החופשית: ▪ קטע של האתר רדיו - למתחילים. בחירת מאמרים ▪ מאמר חץ וקשת. היסטוריה של המצאות וייצור ▪ מאמר איזו חיה שרדה על שלוש ספינות שטבעו במלחמת העולם השנייה? תשובה מפורטת ▪ מאמר חיטוי ציוד, חצרים, הובלה ▪ מאמר מלט לאבנים ולוחות. מתכונים וטיפים פשוטים ▪ מאמר עפרונות כקרניים. ניסוי פיזי כל השפות של דף זה בית | הספרייה | מאמרים | <font><font>מפת אתר</font></font> | ביקורות על האתר www.diagram.com.ua |