מערכות שצריכות לעבוד על סוללה למשך זמן ארוך מאוד חייבות להיות חסכוניות במידה קיצונית, ויצירה של מערכות כאלה דורשת חשיבה מכוּונת-חיסכון לאורך כל שלבי הפיתוח. הנה מספר שיטות, כללי אצבע וכלי עבודה שיוכלו לעזור לכם במשימה.
כשהדרישות מהמערכת דוחקות אותנו ממש לפינה, אפשר לפעמים לסחוט עוד כמה מחזורי שעון אפילו מדבר בסיסי כמו פקודת switch בשפת C. ולפעמים אי אפשר. בואו נצלול לעומק שני קומפיילרים כדי לגלות אם, מתי ואיך אופטימיזציה קיצונית שכזו יכולה לעבוד.
לכבוד חג המולד, PCBWay צירפו למשלוחי המעגלים המודפסים שלהם קיט מתנה להלחמה בדמותו של רודולף – אייל הצפון בעל האף האדום הבוהק, שמאיר את הדרך למזחלת של סנטה קלאוס וכל זה. הנה כמה פרטים, הבחנות ומסקנות מהקיט.
האם יש שיטה קצת פחות מובנת-מאליה לחסוך בסוללה של הקינדל ולהאריך את זמן הקריאה בין טעינות? פוסט על קשר פוטנציאלי מעניין בין חוויית השימוש במוצר, התוכנה והחומרה שלו.
נתונה רשימה של קואורדינטות גאוגרפיות של נקודות ציון. הרשימה ארוכה מכדי לאחסן אותה בזיכרון המיקרו-בקר, ואנחנו צריכים לזהות בזמן אמת – על סמך מידע שמגיע ממודול GPS – אם אנחנו קרובים לאחת מנקודות הציון האלה. איך עושים זאת בצורה יעילה וחסכונית במשאבים?
לפני שלוש שנים, בעודי לומד מה-Datasheet את התכונות הבסיסיות של המיקרו-בקר ATtiny85, גיליתי שאני יכול להפעיל אותו על בסיס אות שעון חיצוני בקצב איטי עד כדי גיחוך של 1Hz. בדיון הזעיר שהתנהל בנושא העליתי את הרעיון של עבודה בקצב איטי עוד יותר – עליית שעון אחת ביום, או 0.000011574Hz – כדי ליצור מערכת שמדליקה לד מדי שבת, כאשר אות השעון מבוסס איכשהו על המחזור הטבעי של יום ולילה.
הרעיון הזה מטופש מכדי להשאיר אותו לנצח בגדר תיאוריה, נכון? 🙂
לפני כמה ימים נחת על שולחני ספר שרציתי לקרוא כבר הרבה מאד זמן: Hacker's Delight (מהדורה שניה). זהו למעשה אוסף של שיטות, טריקים וקונצים לאופטימיזציה של פעולות לוגיות ומתמטיות בתוכנות מחשב – מידע שימושי לכל מתכנת שעובד "קרוב לברזלים", ובמיוחד למתכנתי מיקרו-בקרים. הנה דוגמה לתועלת של טריקים חשבוניים… עוד לפני שקראתי דף אחד בספר.
בעולם משחקי המחשב, Elite (משנת 1984) נחשב אחד מפורצי הדרך הגדולים, גם מבחינת אופי המשחק וגם מבחינה טכנית. השחקנים הטיסו את החלליות שלהם ביקום שהיה הרבה, הרבה יותר מדי גדול בשביל הזיכרון של המחשב; והטריק שאיפשר זאת יכול ללמד אותנו לא מעט גם היום.
כמה זמן לוקח למיקרו-בקר להכפיל שני מספרים? מסתבר שאפילו לשאלה פשוטה כל כך, התשובה אינה פשוטה – והיא מדגישה את הירידה לפרטים ואת צורת החשיבה הדרושות כדי להשיג מקסימום ביצועים במערכות Embedded.