FW Mem Guard 0.3.3 — התחלה מהירה

פתיחת עזרה מתוך VS Code: פתח את חלונית הפקודות → FW Mem Guard: Open User Guide ובחר עברית, אנגלית או Support. המדריך נפתח בלשונית בעורך, ללא צורך בדפדפן או בחיבור לאינטרנט.

המפרסם: FW Mem Guard — fwmemguard. מזהה ההרחבה: fwmemguard.fw-mem-guard. אם מותקנת הרחבת הפיילוט הישנה fw-mem-guard-pilot.fw-mem-guard, השבת אותה לפני הבדיקה כדי למנוע פקודות כפולות. פתח את קובץ הפרויקט הקיים באמצעות Open Project. בחירות שנשמרו בהרחבה הישנה עשויות לא לעבור; קובצי הפרויקט עצמם נשארים ללא שינוי.

מדריך התקנה ושימוש — 0.3.3 Pre-release. אין צורך ב־Python או במתקין מנוע נפרד.

מדריך זה מלווה את חבילות 0.3.3 כ־Pre-release עבור Windows x64, Mac Apple Silicon ו־Mac Intel. גרסת ההרחבה וגרסת המנוע 0.1.0-pilot.1 הן גרסאות נפרדות.

1. התקנה

חפש בחלונית Extensions את fwmemguard.fw-mem-guard ובחר את גרסת ה־Pre-release שמוצעת בחנות. אם קיבלת חבילת מועמדת לבדיקה, התקן את קובץ ה־VSIX המתאים בטבלה.

Computer VSIX
Windows x64 fw-mem-guard-0.3.3-win32-x64.vsix
Mac Apple Silicon fw-mem-guard-0.3.3-darwin-arm64.vsix
Mac Intel fw-mem-guard-0.3.3-darwin-x64.vsix

בחר את החבילה שמתאימה למחשב שעליו פועל VS Code. בדיקות שורת הפקודה והחבילות ב־Mac עברו על macOS 15.7.9. התאימות לגרסאות 13 ו־14 טרם אומתה; המטא־נתונים והמדריך הכלול בחבילות 0.3.3 עדיין מציינים יעד 15.0. ראו פרטי האימות ל־Mac. בחלונית Extensions לחץ … ואז Install from VSIX. בחר את הקובץ המתאים ואשר טעינה מחדש אם תתבקש. ודא שמוצגת גרסה 0.3.3. עבור WSL ב־Windows מתקינים את חבילת Windows בצד המקומי.

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

2. בדיקת הדגמה

פתח תיקייה שאתה שולט בתוכנה ואשר אמון בה אם תתבקש. לחץ Ctrl+Shift+P (ב־Mac: Cmd+Shift+P) והפעל FW Mem Guard: Run Demo. התוצאה הצפויה היא BUDGET_EXCEEDED וקוד 2 — חריגה מכוונת בדוגמה.

3. הגדרת פרויקט פעם אחת

  1. הפעל Set Up / Update Project.
  2. בחר Map ו־ELF תואמים של בניית הבסיס, ואחריהם Map ו־ELF תואמים של הבנייה הנוכחית. השתמש בבניות שהסתיימו ובקבצים נפרדים לבסיס ולנוכחי.
  3. בדוק את כתובות ההתחלה והסיום, הקיבולת וכיסוי מקטעי VMA/run ו־LMA/load בשתי הבניות. אם קיים אזור מתאים יחיד, תופיע הצעה שדורשת אישור מפורש. אם כמה אזורים חופפים מתאימים, בחר במפורש. אזור לא מתאים מציג את שם המקטע והכתובת שאינם מכוסים. נתמך אזור פעיל אחד מכל סוג.
  4. הזן גודל מרבי וגידול מרבי בבתים לכל אזור. גידול 0 פירושו שאסור לגדול; הוא אינו מבטל את הבדיקה.
  5. בדוק את הסיכום ולחץ Validate and Save. שמור בשם חדש כגון board.fwmg.json. בשמירה חדשה נשמרת סיומת אחת. יצירת פרויקט אינה דורסת קובץ קיים.

4. עבודה יומיומית ושינוי תקציב

לאחר בנייה שהסתיימה הפעל Compare Builds או Repeat Last Comparison. קובצי הבסיס צריכים להישאר קבועים.

לשינוי ספים בלבד הפעל FW Mem Guard: Edit Budgets. אם אין פרויקט פעיל, בחר פרויקט קיים. הזן ארבעה ערכים ולחץ Validate and Save. לא יופיע חלון לבחירת שם חדש.

לשינוי קבצים או החלפת הבסיס במכוון השתמש ב־Set Up / Update Project → Update active project. לפתיחה מחדש השתמש ב־Open Project. גם פרויקט ישן עם סיומת כפולה נשאר קריא; אין צורך ליצור פרויקט חדש כדי לערוך תקציבים.

5. עבודה מתוך WSL

  1. התקן את הרחבת WSL של Microsoft ופתח את תיקיית הפרויקט בחיבור להפצת Linux שלך.
  2. ודא שמופיע WSL: … בפינה השמאלית התחתונה. ייתכן שנדרש אישור אמון נפרד לתיקייה.
  3. בחר את ארבעת הקבצים בבוחר הקבצים המרוחק ושמור את הפרויקט באותה מערכת קבצים.
  4. בדוח DETAILS ודא שהנתיבים מתחילים ב־vscode-remote://wsl. הקידוד %2B תקין.

המנוע פועל ב־Windows; הקבצים המלאים נקראים דרך VS Code לצורך אימות מקומי. אין צורך להתקין Python או מנוע Linux ב־Ubuntu. לאחר סגירת חיבור או חלון, התחבר מחדש, פתח את הפרויקט הקיים והריץ שוב. לשלב קריאת הקלט יש מגבלת זמן של 30 שניות וכפתור Cancel. לאחר ביטול או חריגה מהזמן, תשובה מאוחרת לא תתקבל כתוצאה. התחבר מחדש והריץ שוב. בקשת הקבצים הפנימית של VS Code עשויה להמשיך; אין כאן מניעה של סגירת חלון העורך. המגבלה אינה כוללת בחירת קבצים, הרצת מנוע או שמירה. ההגדרה בהגדרות המשתמש: fwMemGuard.inputReadTimeoutSeconds, בין 1 ל־300 שניות.

6. משמעות התוצאה

7. ייצוא דוח לפניית תמיכה

לאחר השוואה שהסתיימה או Analyze, הפעל FW Mem Guard: Export Report for Sharing. הדוח נפתח תחילה בלשונית חדשה ולא שמורה בעורך; לא נוצר קובץ דוח בדיסק. עיין בתוכן ורק אז בחר Save As ושמור בשם result.fwmg-report.json, אם החלטת לשתף אותו. הפקודה זמינה החל מגרסה 0.3.2; היא אינה קיימת בגרסה 0.3.1.

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

דוח Demo מסומן כהדגמה; דוח Analyze אינו קובע עמידה בתקציב. התחלת פעולה חדשה בפרויקט או בפרופיל מנקה את התוצאה הזמינה לייצוא, גם אם הפעולה נכשלה או בוטלה. עזרה ו־Output משמרים אותה. לאחר טעינה מחדש צריך להריץ שוב. דוח שכבר נפתח או נשמר הוא תמונת מצב ואינו מתעדכן אוטומטית.

מגבלות ותקלות שכיחות

לפנייה לתמיכה לאחר בדיקה שהסתיימה, אפשר לצרף דוח מצומצם: הפעל Export Report for Sharing, עיין בלשונית שנפתחה ורק אז שמור ושלח לכתובת שבדף Support. לאחר כישלון אין דוח חדש לייצוא; תאר את השגיאה ובדוק כל טקסט אבחון לפני שליחתו. אין צורך לצרף קובצי Map/ELF או קוד מקור.

עד 64 MiB לכל ELF ועד 32 MiB לכל Map; GNU Arm ELF32 little-endian ו־GNU ld בלבד. ללא SSH, Containers, Linux native, IAR/Keil או ייחוס לאובייקטים וסמלים. כל תוכן ה־ELF נקרא; אין לבצע strip רק כדי לעקוף את מגבלת הגודל.

אי־התאמה בין Map ל־ELF: בחר תוצרים של אותה בנייה שהסתיימה. קובץ חסר או ריק: תקן את התוצרים והריץ Repeat. קובץ פרויקט כבר קיים: Open Project ואז Edit Budgets. חסימת אמון: Workspaces: Manage Workspace Trust, לתיקייה שאתה מכיר בלבד. פירוט התקלות נמצא ב־Open Output.

Manual Profile Comparison מיועד ל־JSON של המנוע שנבדק מראש, ולא לקובץ פרויקט .fwmg.json, ופועל רק מקומית. במסלול WSL המחובר אין צורך בהגדרת UNC. במסלול החלופי של חלון Windows מקומי מול UNC יש לאשר רק את מארח WSL המסוים ב־security.allowedUNCHosts, בלי לבטל את ההגנה.

תמיכה: fwmemguard.support@gmail.com

כל עוד קריאה קודמת לאותו URI עדיין תלויה, ניסיון חוזר יידחה בהודעה מפורשת ולא יפתח העברה נוספת. לאחר שהבקשה מסתיימת והחיבור מתאושש, הרץ שוב; הקלט ייקרא מחדש.

אם הודעת הקריאה התלויה אינה נעלמת, שמור עבודה והפעל Ctrl+Shift+P → Developer: Reload Window. לאחר חידוש חיבור WSL, פתח את הפרויקט הקיים והשווה שוב. טעינה מחדש אינה מתקנת חיבור שאינו זמין.

דוגמת תוצאה ומשמעות הסכומים

BUDGET_EXCEEDED
Configured budget exceeded.

FLASH  +51,200 bytes  (720,896 -> 772,096)
RAM  +27,136 bytes  (176,640 -> 203,776)

BUDGET CHECKS — effective limits for this run
FLASH allocated sections: 772,096 <= 1,048,576 bytes — OK
FLASH growth: 51,200 > 16,384 bytes — EXCEEDED
RAM allocated sections: 203,776 <= 262,144 bytes — OK
RAM growth: 27,136 > 4,096 bytes — EXCEEDED

Accounting: configured linker profile; allocated output-section bytes.
Object/symbol attribution: not available.

אלה נתוני ההדגמה המצורפת. הדוח מציג כל ערך וסף שנבדק. נתון מאותחל ב־RAM נספר פעם אחת ב־RAM ופעם אחת עבור תמונת הטעינה ב־Flash. שמירת heap/stack אינה מדידת שימוש בזמן ריצה. התאמה מבנית בין Map ל־ELF אינה הוכחת מקור משותף או snapshot אטומי. האימות המודרך נמצא כעת בהרחבה ואינו חוזה CLI עצמאי לאימות Map/ELF.

לבקשת תמיכה פתח Open User Guide ובחר Support; ייפתח דף תמיכה נפרד. העתק את כתובת התמיכה לתוכנת הדואר שלך. אין העלאת דוחות, טלמטריה או קובצי firmware באופן אוטומטי.