ארכיון הקטגוריה: MSP430

קורס מקוון על MSP430FR6989: סקירה וביקורת

אתר udemy.com מציע קורס חינמי בשם "מיקרו-בקרים ושפת C" (באנגלית כמובן), שמתבסס על לוח הפיתוח MSP430FR6989 Launchpad של חברת TI. מה לומדים בקורס הזה, ולמי הוא יכול להתאים?

צילום מסך מ-udemy.com
צילום מסך מ-udemy.com

להמשיך לקרוא קורס מקוון על MSP430FR6989: סקירה וביקורת

סיפורי אופטימיזציה: אקראיות זולה

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

צילום מסך מתוך Yar's Revenge, באמולטור Atari 2600 ל-PC
צילום מסך מתוך Yar's Revenge, באמולטור Atari 2600 ל-PC

להמשיך לקרוא סיפורי אופטימיזציה: אקראיות זולה

המלצה זריזה: קורס אלקטרוניקה מקוון – EE40LX

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

צילום מסך של דף הקורס הראשי ב-edx.org
צילום מסך של דף הקורס הראשי ב-edx.org

הקורס התחיל ב-20 בינואר והתאריך האחרון להגשת העבודות הוא תחילת מאי, זאת אומרת שעוד יש לכם זמן להיכנס לעניינים. גם אם זה לא מסתדר, סביר להניח שהקורס יחזור בעתיד – אז שווה לחכות. אין לי שום אינטרס אישי בהמלצה הזו, פשוט מדובר בקורס מצוין לחובבים. שימו לב, יש רשימת רכיבים שצריך להשיג כדי לבנות את המעגלים, כולל לוח MSP430G2 Launchpad של TI, אבל לרובנו יש ממילא רכיבים כאלה או דומים בהישג יד, ועם קצת יצירתיות אפשר להתגמש ולהסתדר. בהצלחה!

חבורת מופרעים (או: איך מיקרו-בקרים מנהלים פסיקות)

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

להמשיך לקרוא חבורת מופרעים (או: איך מיקרו-בקרים מנהלים פסיקות)

מבוא לאופטימיזציה (עם דוגמאות)

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

תמונת רקע באפס זיכרון

הנה דוגמה בסיסית לאופטימיזציה של זיכרון. בסרטון הבא מוצג יישום קטן שכתבתי עבור ה-MSP430 Launchpad, שמציג על גבי מסך LCD זול של Nokia 5110 מלבנים מעופפים מעל רקע פיקסלים אקראי.

להמשיך לקרוא מבוא לאופטימיזציה (עם דוגמאות)

פרויקט 99: התוכנית להפחתת מתחים

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

התוכנית הגדולה ביותר היא פרויקט 99 – ההמרה של מארז מחשב TI99 עתיק למשהו נחמד עם ארדואינו, מסך ורמקול לצלילים. רציתי גם לעשות משהו משמעותי עם לוח ה-MSP430 Launchpad הזול (שהפך לאחרונה לנגיש יותר לתכנות), וגם להכין מודול זיכרון ראוי לשמו עם שבבי זכרון ייעודיים. התוכנית האחרונה התעכבה בגלל שהג'וקים שיש לי תואמים רק 3.3V, ואילו הארדואינו נותן 5 וולטים קטלניים.

לאחרונה, המארז הזנוח נעץ בי מבטים יותר ויותר מאשימים, עד שהבנתי פתאום: המחשב המקורי היה של חברת TI, אז למה לא לחבר אליו לוח ומיקרו-בקר שגם הם של TI? ואם אשתמש ב-Launchpad שעובד במתח נמוך יותר של 3.3V, כבר אפשר לחבר אליו בכיף את שבבי הזכרון ההם!

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

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

עדכונים עוד יבואו…

MSP430 יורד אל העם, קצת

לפני חצי שנה(!) בערך כתבתי פוסט על לוח MSP430 Launchpad של חברת TI, זה שנמכר במחיר המגוחך של $4.30 כולל משלוח מהיר עד הבית. הבטחתי שכאשר יהיה לי משהו קונקרטי להוסיף בעניינו, אעשה זאת. הזמן חלף ואיכשהו הנושא נדחה שוב ושוב ושוב: סביבת הפיתוח הלא-לגמרי-ידידותית של הלוח, והצורך לשנן שמות של רגיסטרים אקזוטיים עבור הפעולות הבסיסיות ביותר, לא עשו יותר מדי חשק להסתער על המתחרה האדמדם של הארדואינו.

אבל כעת, משהו השתנה. דיון בפייסבוק הקהילתי הביא לידיעתי את Energia, סביבת פיתוח חינמית ל-Launchpad שתיראה מוכרת לכל חובב ארדואינו:

Energia IDE
סביבת הפיתוח של Energia עם תוכנית לדוגמה

להמשיך לקרוא MSP430 יורד אל העם, קצת

הַיי, TI!

ובכן, נכנעתי ללחץ החברתי ולמחיר המפתה, ורכשתי את ערכת הפיתוח למתחילים MSP430 Launchpad של חברת TI (טקסס אינסטרומנטס). הערכה נקנתה ישירות מהאתר ($4.30 ליחידה, כולל הכל), והגיעה תוך ימים ספורים עד הבית עם שליח של FedEx. הנה מה שמצאתי באריזה המפוארת:

להמשיך לקרוא הַיי, TI!