בואו נדבר על ייצור קוד אוטומטי
מ-MATLAB ל-C !
פיתחנו אלגוריתם ממש טוב ב-MATLAB, ואנחנו ממש גאים בו, אבל בסופו של דבר, לא נוכל להשתמש באלגוריתם בצורתו הנוכחית על גבי המוצר הסופי שלנו – ונצטרך לחשוב על פתרונות ההטמעה שמתאימים לנו עבור המוצר המוגמר, מעבר לרמת הפיתוח הראשוני.
בפוסט זה, אני רוצה להציג לכם את היכולת של MATLAB לייצר קוד C קריא ונייד בצורה אוטומטית, שמתאים לעבודה כקוד מכונה, ללא תלות ב-MATLAB כלל!
כך, במקום לכתוב שורות על גבי שורות של קוד באופן ידני, מפתחים ומהנדסים יכולים להיעזר בפתרונות ייצור הקוד האוטומטי על מנת לייעל את תהליך הפיתוח ולהגיע לשלב המוצר המוגמר הרבה יותר מהר.
היתרון פה הוא ברור: אנחנו יכולים ליהנות מפיתוח האלגוריתם בצורה נוחה בשפה עילית, לייצר קוד בצורה אוטומטית, ואותו להריץ על גבי חומרות שונות. ואת הקוד אותו אנו מייצרים, נוכל לשלב כחלק מהקוד של הפרויקט כולו.
בסרטון הקצר הבא מוצגת הדרך בה ניתן לייצר קוד ++C\C מ-MATLAB:
מהרגע שייצרנו את קוד ה-++C/C שלנו באמצעות ה-MATLAB Coder, יש לנו 4 דרכי פעולה עיקריות בהן נוכל לנקוט על מנת להשתמש בו
- אינטגרציה של אלגוריתמי ה-MATLAB שלנו לתוך סביבת C קיימת, כגון סימולטור או חבילות תוכנה שונות וזאת ע"י שימוש בקוד כקוד מקור (source code) או בספריות סטטיות.
- יצירת אב-טיפוס של אלגוריתמי MATLAB על גבי הדסקטופ כ-exe (standalone executables) למטרות ביצוע בדיקות או לבניית proof-of-concept.
- יצירת קבצי MEX לשם האצת אלגוריתמי MATLAB. קבצי MEX אלו הם קבצים שקוראים לקוד ++C/C המקומפל, כך שנוכל לייצר ולהריץ אותם מתוך סביבת ה-MATLAB ולהאיץ את הביצועים של הקוד שלנו.
- הטמעת קוד ה-C וביצוע וורפיקציות על גבי מעבדי Embedded, כחלק מהתכנון והפיתוח של המערכת השלמה.
אגב, חשוב לי להרגיע אתכם! גם אם אתם מרגישים ממש לא בטריטוריה שלכם כשמדובר על קידוד בשפת C, ישנם כלים מובנים לצורך ביצוע תאימות בין קוד ה-MATLAB שלכם לקוד C המיוצר, כך שתוכלו לדבג ולהבין עבור כל שורה לאן היא משויכת בקוד ה-C התואם.
דו"ח Traceability למעקב והשוואה בין קוד MATLAB המקורי לבין קוד C שמיוצר
בוובינר הבא (01:01:15), תוכלו לשמוע בפירוט על תהליך המרת הקוד מ-MATLAB לקוד ++C\C, תוך פירוט דוגמאות וטיפים פרקטיים ליצירת קוד תוכנה אופטימלי:
יכולות נוספות שחשוב להכיר הן שימוש ב-Embedded Coder לייצור קוד C\C++ מאופטם עבור חומרות ספציפיות שונות, וכן גם ה-Simulink Coder , לייצור קוד C\C++ מ-Simulink.
מעבר ליצירת קוד, פתרון הטמעה נפוץ נוסף הוא עיטוף קוד ה-MATLAB כאריזה לתוך שפת תכנות אחרת, באמצעות ה-MATLAB Compiler.
הבחירה בין הפתרונות השונים תלויה בזרימת העבודה שלנו ובדרישות המערכת, ולכן חשוב להבחין מתי נכון להשתמש בכל אחד מהפתרונות, כלומר מתי נכון לנו לייצר קוד נפרד לחלוטין מ-MATLAB, ומתי נכון לנו לארוז את קוד ה-MATLAB שלנו.
בטבלה הבאה מוצגת ההשוואה בין MATLAB Coder לבין MATLAB Compiler, כך שתוכלו לבחור את הפתרון המדויק עבורכם:
רוצים עוד מידע על פתרונות ההטמעה שלנו? מוזמנים ליצור אתנו קשר ונשמח לייעץ לכם לגבי הפתרון המתאים עבורכם.
שיהיה בהצלחה!