אפילו כיום, כשכל חברת שבבים דוחפת לשוק לוחות פיתוח זולים, הקיטים מבוססי ה-PSoC 4 של חברת Cypress הם יוצאי דופן בזכות מחירם המגוחך: 4 דולר בלבד. הקונה הישראלי הטיפוסי יצטרך להוסיף לכך דמי משלוח משמעותיים, אך אם תהיו מוכנים לספוג אותם, או שתגלו קומבינה אחרת להשיג את הלוח, הנה מה שמצפה לכם.
האריזה
כדי לחסוך, כנראה, בעלויות, מארז הקיט של CY8CKIT-049-42XX (זהו השם הרשמי) הוא לא יותר מאשר חתיכת קרטון עבה, עם שקע בשביל לוח הפיתוח עצמו ומעליו מדבקה עם חלון שקוף. בצדו השני של הקרטון יש מעט מידע לתחילת העבודה, וכן מיפוי שימושי של כל הפינים בלוח:
החומרה
כפי שניתן לראות, הקיט מורכב למעשה משני מודולים שניתן, אם רוצים, להפריד ביניהם: הלוח עם המיקרו-בקר, ומודול לתכנות ודיבוג דרך חיבור USB.
המיקרו-בקר שמותקן בקיט שבתמונות הוא CY8C4245AXI-483 (שימו לב, יש קיט כמעט זהה ששמו נגמר ב-41XX, עם מיקרו-בקר טיפה פחות משוכלל). זהו מיקרו-בקר 32 ביט מסוג ARM Cortex-M0, בעל 32KB זיכרון פלאש ו-4K זיכרון SRAM, במהירות שעון של עד 48MHz ועם 36 פיני GPIO (קלט/פלט כלליים). כלומר, לפחות על הנייר, מיקרו-בקר זה חזק משמעותית מה-ATmega328 שבלוחות תואמי הארדואינו Pro Mini הסיניים הזולים, ועדיין הקיט כולו עולה בערך כמו תואם Pro Mini בתוספת מתאם USB.
התוכנה וסביבת הפיתוח
כשמחברים את הקיט כמו שהוא ל-USB, מופעלת כמובטח תוכנת ה-Blink הצרובה מבעוד מועד, הלד הכתום במודול התקשורת מאיר כאינדיקציה למתח החשמלי, והלד הכחול במרכז הלוח מהבהב פעם בשניה.
ומה מעבר לזה? אם תרצו לתכנת את הלוח ולא רק להסתכל עליו מהבהב, יהיה עליכם להוריד את סביבת הפיתוח PSoc Creator (קובץ התקנה בגודל כ-580 מגה, בתהליך שמחייב משום מה התקנת תוכנה נפרדת ל"ניהול ההורדה") וכן את התוכנה של Cypress ל-USB-Serial. לאחר ההתקנה והעדכונים אפשר להפעיל את PSoC Creator, ואז מתקבל משהו כזה:
ומה הלאה? כאן העניינים מתחילים להסתבך. בקישור זה יש מדריך לתחילת העבודה עם סביבת הפיתוח, וביצעתי את כל השלבים להעלאה, קימפול וצריבה של פרויקט לדוגמה, אבל בתגובה לניסיון הצריבה קיבלתי את ההודעה הבאה:
ובינתיים לא מצאתי לה פיתרון. המשך יבוא… אני מקווה 🙁
[אחרי שעה קלה] אכן, נמצא הפתרון. מסתבר שמתאם הצריבה אינו "שקוף" מבחינת המשתמש אלא מחייב יחס מיוחד. הוא מיועד לשימוש בלוחות שיש בהם Bootloader, ובגלל שיטת העבודה של סביבת הפיתוח צריך לקמפל את הפרויקט עצמו בתוספת Bootloader חדש (שיחליף את הישן) – זה נעשה אוטומטית בפרויקט לדוגמה שאפשר להוריד כאן בתחתית הדף – וכן צריך להגיד ללוח לבצע אתחול עם ה-Bootloader ולא כרגיל.
את זה עושים על ידי לחיצה על לחצן SW1 הזעיר שעל הלוח לפני שמחברים אותו למחשב. עם החיבור, הלד הכחול יהבהב די מהר, וזה אומר שה-Bootloader נטען ומחכה. אפשר לעזוב את הלחצן. כעת, בסביבת הפיתוח, צריך לאתר את קובץ ה-HEX המקומפל ולשלוח אותו ללוח דרך הטופס Tools->Bootloader Host.
זהו תהליך מגושם ומכוער למדי למי שרגיל לעבוד עם ארדואינו, אבל אחרי שעוברים פעם אחת ביסודיות על החלק המתאים במדריך להתחלת העבודה, העסק נעשה הרבה פחות מאיים ואפשר להתחיל להתרכז בדברים החשובים באמת – למשל, שסביבת הפיתוח הזו מציעה תכנות ויזואלי של הלוח.
מה זה אומר? זה טוב או רע? ואיך עוברים לתכנות נורמלי? את כל זאת ועוד אנסה לגלות בפוסטים עתידיים…