- בחירת כלי פיתוח חומרה ותוכנה
- פיתוח STM8S103F3P6
- מתכנת STM8S103F3P6
- STM8S103F3P6 IDE ומהדר
- STM8S עם Arduino באמצעות Sduino
- מוריד תוכנות נדרשות
- הגדרת מהדר STVD ו- Cosmic C
- ספרייה היקפית סטנדרטית עבור STM8S103F3P6
- גיבוש התוכנית הראשונה
- העלאת הקוד מ- STVD ללוח הפיתוח STM8S באמצעות ST-Link V2
STM8 היא סדרה של בקרים 8 סיביות מן STMicroelectronics שהפך בחירה משותפת של מיקרו-בקרים עבור פיתוח המוצר עלות-רגיש. עבדתי בעבר עם AVR, PIC וכמה מיקרו-בקרי ARM Cortex אחרים, אך בוודאי ביישומים מסוימים הם הופכים להיות מוגזמים ומגדילים את עלות ה- BOM באופן משמעותי. לאחרונה, לאחר שהורדתי כמה מוצרים סיניים זולים, גיליתי שרובם מכילים מיקרו-בקר STM8. ה- IC הוא לא רק זול אלא גם ארז אותו עם הרבה תכונות ואפשרויות שהופכות אותו מתאים לשימוש ביישומים רבים ושונים. למשל, STM8S סדרת בקרים (אותה נלמד בסדרת הדרכה זו) היא בקר למטרות כלליות אך ישנן סדרות אחרות כמו STM8A לעיצוב רכב ו- STM8L לעיצובים המונעים על סוללות בעלות צריכת חשמל נמוכה המרחיבה את היישום של בקרים אלה.
בסדרת הדרכות זו נלמד כיצד לתכנת את בקרי המיקרו STM8S, ליתר דיוק את STM8S103F3P6. הסיבה להתחלה עם מספר החלק הספציפי הזה היא רק בגלל מחיר למחיר ביצועים. כמו!! רק תסתכל על זה רק תמורת 0.25 $ (כ -20 רופי) נקבל מיקרו-בקר של 8 סיביות עם מתנד פנימי של 16 מגה-הרץ, פלאש 8 קילו-בתים, ADC של 10 סיביות, UART, SPI ו- I2C. מי לא יסתקרן? כמו כן, STM8S103F3P6 פופולרי מאוד, ולכן כמתחילים, תמצא מספיק תמיכה אם אתה זקוק לעזרה מחוץ להדרכות. החל מכך, יהיה לנו רצף של מדריכים, בדומה להדרכות תכנות PIC בהן נלמד כיצד לתכנת את הבקר הזה מהבהוב בסיסי לממשקי תצוגה וחיישנים שונים. אתה יכול גם לבדוק את STM32F103C8 הדרכה ופרויקטים אם אתה מעוניין במיקרו-בקרים STM 32 סיביות.
בחירת כלי פיתוח חומרה ותוכנה
כעת, כשיש לנו דייד את המיקרו-בקר, נצטרך לבחור כלים לפיתוח חומרה ותוכנה כדי להתחיל בתהליך הלמידה שלנו. ישנן אפשרויות רבות, כאן בחרתי באפשרויות החופשיות לשימוש ונגישות לכולם בקלות.
פיתוח STM8S103F3P6
לוח הפיתוח הרשמי של מיקרו-בקר 8 סיביות של ST נקרא ערכת גילוי STM8, אך נשתמש בלוח פיתוח בעלות נמוכה אחרת שתוכלו למצוא בקלות אצל ספק מקומי או בחנות מקוונת. התמונה של לוח הפיתוח STM8S103F3P6 בה נשתמש במדריך זה מוצגת להלן.
הלוח מורכב רק ממרכיבי מינימום מוחלטים הנדרשים כדי להתחיל בפיתוח. זה ידידותי לקרש לחם ומתאים ליישומים קומפקטיים. תרשים המעגל הפנימי של לוח הפיתוח מוצג להלן.
במבט מקרוב, תבחין, מלבד בקר STM8S103F3p6, יש לנו כפתור איפוס לאיפוס הבקר. נורת מתח ומוביל בדיקה המחוברים ל- PB5 (סיכה 5 של יציאה B) ולווסת מתח AMS1117 הממיר את ה -5 V מיציאת USB ל -3.3 V עבור הבקר. ניתן גם לגרום לבקר לפעול על 5 וולט במידת הצורך. החלקים השונים בבקר מסומנים למטה. יש לנו גם 4 סיכות מתכנתים כלומר 3.3V, GND, SWIM ו- NRST שניתן להשתמש בהם כדי לתכנת ולפתור באגים בקלות את המיקרו-בקר שלנו.
מתכנת STM8S103F3P6
לתכנות הבקר שלנו נשתמש ב- ST-LINK v2 שהוא זול וזמין באינטרנט. ישנן גרסאות רבות (מתכת, פלסטיק, זהב, ורוד, לוח חשוף) של לוח ST-LINK v2 וכולן משרתות את אותה מטרה. שלי מוצג למטה אבל אתה יכול להשתמש בכל סוג של מתכנת ST-LINK, ה- pinout יהיה שונה, אז רק הקפד לקרוא את pinouts על המעטפת כראוי. יש גם ST-LINK V3 מבית ST-Microelectronics עצמה אשר יכול לשמש לניפוי באגים רציני. לא נשתמש בזה לעת עתה מכיוון שזה מעט יקר, נשמור אותו לעתיד.
STM8S103F3P6 IDE ומהדר
בחירת ה- IDE והמהדר הנכונים עבור STM8S103F3P6 מביכה, פשוט כי יש הרבה אפשרויות לבחירה. הכלים הרשמיים הזמינים עבור STM8 מיקרו-בקר מוצגים בתמונה למטה.
בצד התצורה, יש לנו את STM8CubeMx, ניסיתי את התוכנה וזה היה אכזבה מוחלטת עבורי. בניגוד ל- STM32Cube, ה- STM8Cube אינו יכול ליצור קוד באופן אוטומטי. זה יכול ליצור מיפוי סיכות למטרות הדמיה בלבד ועשוי להיות שימושי אם אתה מעביר את הקוד שלך מבקר אחד לאחר. מלבד זאת, לא הייתי משתמש בזה. אז בסדרת הדרכות זו, לא נשתמש בזה.
עבור IDE ומהדר, יש לנו הרבה אפשרויות לבחירה. שתי האפשרויות המובילות עבור IDE הן שולחן עבודה של IAR ו- ST Visual Develop (STVD), שתוכנה מרגישה כאילו הן משנות ה -90, אך לאחר זמן מה לשחק איתה, גיליתי ש- STVD היא בחירה טובה רק משום שהיא לגמרי בחינם. באופן דומה, עבור המהדר, נשתמש במהדר C Cosmic C, שוב רק בגלל שהוא לגמרי בחינם. סיבה נוספת לבחירת IDE ו- Compiler זה היא שברגע שנכיר את הסביבה, צריך להיות קל להשתמש בכל מיקרו-בקר אחר של 8 סיביות מבית ST ללא מאמץ רב. נבדוק כיצד להתקין ולהגדיר את STVD עם מהדר Cosmic C בהמשך מאמר זה.
עבור מהבהב, נשתמש בתכנות ST Visual (STVP), כלי זה יותקן באופן אוטומטי כאשר אנו מתקינים את STVD. הוא ישולב ב- IDE עצמו, ויעזור לנו לתכנת ולפתור באגים במהירות. התוכנה הסופית תהיה STMStudio שהיא תוכנת ניטור STM8. התוכנה יכולה לעזור בניפוי שגיאות בזמן אמת של STM8 ויש לה כמה תכונות מגניבות כמו ניטור ערך משתנה, תכנון גרף וכו '. לא התנסיתי מספיק בתוכנה זו. ולפחות בהדרכות הראשונות, לא נשתמש בתוכנה זו מכיוון שלא נצטרך דרישות איתור באגים גדולים.
ספריה היקפית סטנדרטית STM8S: ST מיקרואלקטרוניקה מספקת מערך ספריות כדי להקל על פיתוח הקוד למיקרו-בקרים STM8S, ספרייה זו מכונה " הספרייה ההיקפית הסטנדרטית " או בקיצור SPL. הספרייה מגניבה פרט לכך שהיא נכתבת על ידי התחשבות בכל הבקרים האפשריים במשפחת STM8S / A 8 סיביות ולא רק בבקר STM8S103F3P6 בו נשתמש. לפיכך, עלינו לבצע כמה שינויים פה ושם כדי שזה יעבוד (אותו אשתף בהמשך). אבל עדיין, אני מאמין שכדאי לנסות זאת מכיוון שהוא יכול להפוך את ההתפתחות למהירה מאוד, ולכן נשתמש בה במדריך שלנו.
אם אינך מעוניין להשתמש בספרייה, עליך לגשת ישירות לרישומי הבקר או לבצע תכנות להרכבת מתכות חשופות. שני אלה מהנים, בתנאי שיש לך זמן ללמוד ולהשתמש בזה. הרעיון שלי הוא להשתמש בספריית SPL בכל מקום שהיא עובדת היטב ואז לעבוד גם ברמת הרישום וההרכבה במידת הצורך. בואו ננסה לא להמציא את הגלגל מחדש!
STM8S עם Arduino באמצעות Sduino
הדיון באפשרויות התוכנה לעולם לא יהיה שלם אם אני לא מזכיר את התמיכה של Arduino IDE STM8S. כן, ניתן לתכנת את אותו לוח STM8S103F3P6 ישירות מ- Arduino IDE באמצעות Sduino, הודות למייקל מאייר. עם זאת, הפרויקט עדיין נמצא בשלב הפיתוח וככל הנראה ייקח קצת זמן ותמיכה בקהילה עבור Sduino כדי לספק תמיכה מלאה בפלטפורמה. עם זאת, רק תוך כמה דקות משחק עם Sduino, התחלתי לאהוב את זה ולכן החלטתי לעשות גם מאמר נפרד כיצד לתכנת את STM8S Microcontroller עם Arduino. אני אקשר את המאמר לכאן כשהוא מוכן. מאמר זה ידון מדוע ומדוע לא עליכם להשתמש ב- Arduino IDE לתכנות המיקרו-בקרים STM8S שלכם.
אז אלה הבחירות שלי לגבי תוכנה וחומרה, יידע אותי בסעיף ההערות אם אתה חושב שתוכנה אחרת הייתה אפשרות טובה יותר ומדוע. ברצוני לבחון גם אפשרויות אחרות.
מוריד תוכנות נדרשות
כעת, לאחר שהחלטנו על התוכנה בה נשתמש לצורך הדרכה זו, בואו נמשיך להוריד אותן באמצעות הקישור הבא. כל התוכנות ניתנות להורדה ולשימוש בחינם, היית צריך רק לרשום חשבון בחינם ב- ST וב- Cosmic אם עדיין לא עשית זאת.
- ST Visual Develop (STVD)
- מהדר C Cosmic C
- ספרייה היקפית סטנדרטית
- STM8Cube Mx (אופציונלי)
- STMStudio עבור STM8 (אופציונלי)
הגדרת מהדר STVD ו- Cosmic C
לאחר שהורדת את שתי התוכנות, פשוט עקוב אחר ההוראות שעל המסך להתקנתן. אני ממליץ להשאיר אותם בספריות ברירת המחדל כדי למנוע בלבול מאוחר יותר. ה- STVD IDE יותקן ללא כל מאמץ. עבור מהדר Cosmic C, עליך להשיג מפתח רישיון בחינם במהלך תהליכי ההתקנה. אתה רק צריך לספק מידע על החברה עם תעודת זהות דואר אלקטרוני, אם אתה סטודנט, רק ציין זאת. התהליכים לקבלת מפתח הרישיון הם מיידית ואוטומטית, אם כי בהוראות ההגדרה כתוב שזה עשוי לקחת יום או יומיים, קיבלתי את מפתח הרישיון באופן אוטומטי בתעודת הדואר האלקטרוני שלי ברגע שהגשתי אותו, רק וודא בדוק את הספאם. אימייל האישור שלי מוצג להלן.
בהתאם להוראות הדואר האלקטרוני, פשוט העתק את קובץ licens.lic והדבק בתיקיית המשנה "רישיון" בתיקיית ההתקנה שלך. בשבילי הנתיב היה "C: \ Program Files (x86) COSMIC \ FSE_Compilers \ CXSTM8 \ License" . פשוט הדבק את הקובץ במיקום כפי שמוצג להלן.
ספרייה היקפית סטנדרטית עבור STM8S103F3P6
כפי שנאמר קודם לכן, ST Microelectronics מספקת ספריות הנקראות SPL בהן ניתן להשתמש עבור כל בקרי המיקרו-בקרים STM8S / A 8 סיביות. באפשרותך להוריד את ה- SPL המקורי מ- ST Microelectronics ולבצע את השינויים הנדרשים או להוריד את ספריות SPL STM8S103F3P6 שלי ולהשתמש בהם ככאלה. אני ממליץ על המאוחר יותר.
SPL מקורי מבית ST Microelectronics
STM8S103F3P6 SPL
בזמן שאתה שם הקפד גם להוריד את מדריך המשתמש של SPL, אשר יהיה שימושי מאוד בעת תכנות הבקר.
גיבוש התוכנית הראשונה
עכשיו, כשהכל מוכן, ננסה להרכיב את התוכנית הראשונה שלנו כדי לבדוק אם ה- IDE, המהדר והספרייה כולם עובדים כמו שצריך. ניתן גם לבדוק את הסרטון בתחתית העמוד לקבלת הוראות מפורטות.
התחל על ידי פתיחת STVD ובחר File -> WorkSpace, בחלון הקופץ בחר "סביבת עבודה חדשה" והזן את שם הפרויקט ואת הנתיב שבו יש לשמור את התוכנית. אני מכנה את התוכנית שלי BareMinimum ושומר אותה בתיקיה על שולחן העבודה. לחץ על אישור ותקבל את תיבת הדו-שיח פרוייקט חדש כמוצג להלן.
אני שם את הפרויקט שוב כ- bareminimum ותחת שרשרת הכלים עלינו לציין את שורש שרשרת הכלים לנתיב שבו מותקן המהדר STM8 Cosmic. כתובת הנתיב המוגדרת כברירת מחדל היא "C: \ Program Files (x86) COSMIC \ FSE_Compilers \ CXSTM8" . לאחר מכן פשוט לחץ על אישור כדי לקבל את החלון "בחירת MCU".
חפש STM8S103F3P ובחר בו ולחץ על אישור. זה יפתח פרויקט חדש עבור STM8S103F3P ב- STVD, החלונות אמורים להיראות ככה בסיום.
לחץ באמצעות לחצן העכבר הימני על "קובץ המקור" ובחר "הוסף קבצים לתיקיה" כדי לכלול את כל קבצי c מספריית ה- SPL שלנו, ובדומה לחץ לחיצה ימנית על כלול קבצים כדי לכלול את כל קבצי הכותרת. אם יש לך שאלות, אתה יכול להתייחס לסרטון למטה. לאחר הוספת כל הקבצים, לחץ על בנה -> בנה מחדש את הכל ואז הידור כדי לבדוק אם המהדר ו- SPL עובדים כצפוי. אם הכל ילך כשורה, אתה אמור לראות את המסך הבא עם שגיאת תוצאה לבנות 0 ואזהרה 0.
עם זאת, כעת אנו יכולים להיות בטוחים שכל ספריות ה- SPL שלנו עובדות עם מהדר Cosmic ו- STVD. זהו הנוהל הסטנדרטי שנבצע לפי כל פרויקט חדש. ניתן גם לכלול רק את כותרות הכותרת ואת קבצי המקור הדרושים לצורך הפרויקט כדי להפחית את זמן הבנייה במידת הצורך.
העלאת הקוד מ- STVD ללוח הפיתוח STM8S באמצעות ST-Link V2
חבר את ST-Link V2 ללוח הפיתוח כמוצג להלן.
החיבורים די ישרים קדימה והחלק הכי טוב הוא שאתה לא צריך רכיבים חיצוניים. הגדרת החומרה שלי לתכנות מוצגת למטה, הרגע השתמשתי בחוטי הכותרת הנשית כדי ליצור את החיבור שלי. עם זאת, שים לב שהפינאוט של ST-Link שלך עשוי להיות שונה משלי, הקפד לעקוב אחרי הפינאוט במכשיר לפני ביצוע החיבורים.
בצע את החיבור וחבר את ההתקן למחשב שלך, התקנת מנהל ההתקן צריכה להתחיל באופן אוטומטי. אתה יכול להשתמש במנהל ההתקנים כדי לוודא אם המחשב שלך גילה את ST-LINK V2 בצורה נכונה. תבחין גם בנורת הבדיקה על הלוח מהבהבת אם זו הפעם הראשונה שמפעילה את הלוח. ברגע שליקטנו את הקוד בהצלחה ב- STVD, נקבל קובץ הרחבה "S19" מתחת לספריית הבאגים של תיקיית הפרויקט. קובץ S19 שלי מוצג למטה.
S19 זה דומה לקובץ Hex אותו יש להעלות לבקר. להעלאת התוכנית, פתח את ST Visual Visual מתכנת (STVP) שהיה צריך להתקין יחד עם STVD. ואז בחלון התצורה, בחר כפי שמוצג בתמונה למטה ולחץ על אישור.
לאחר מכן לחץ על קובץ-> פתח ונווט אל קובץ S19 שהצגנו קודם. ואז כדי להבהב את המכשיר, עקוב אחר התוכנית -> הכרטיסייה הנוכחית . אם ההבהוב הצליח, אתה אמור לראות את הפלט הבא.
כברירת מחדל, כאשר אתה רוכש את STM8S, תהיה לו תוכנית כיבוי מהבהבת עם נורית הבדיקה. כעת לאחר העלאת קוד ריק זה, ה- LED כבר לא יהבהב.
חשוב: גיליתי ש- ST-Link שלי לא איפס את הלוח באופן אוטומטי לאחר התכנות. הייתי צריך להתנתק ולחבר אותו מחדש כדי לבדוק את תפוקת התוכנית שלי. אני לא בטוח אם זו בעיה לכולם, הודע לי בסעיף ההערות. כמו כן, בדקו את הסרטון בתחתית המסביר את הפיתרון לכך.
עם זאת, בואו נסיים את ההדרכה הזו, למדנו את יסודות החומרה, הגדרנו את סביבת הפיתוח ולמדנו כיצד להרכיב ולהעלות קוד. כעת אנו מוכנים להתקדם ונשתמש בזה בכל ההדרכות הקרובות שלנו. אם יש לך שאלות, אנא פרסם אותן בפורומים שלנו והישאר מעודכן לעוד !!