الدرس ٦ : تجهيز بيئة العمل والتطوير على برنامج TrueSTUDIO

بسم الله الرحمن الرحيم
الحمد لله رب العالمين والصلاة والسلام على أشرف المرسلين، بفضل الله وتوفيقه نقدم لكم الدرس السادس بسلسلة دروس تعلم برمجة الأنظمة المدمجة والميكروكنترولر STM32 المعتمد على نواة ARM Cortex-M4

بعنوان

تجهيز بيئة العمل والتطوير على برنامج TrueSTUDIO

للبدء في كتابة البرنامج وتطويرها للميكروكنترولر نحتاج إلي بيئة عمل كاملة IDE تضمن محرر للنصوص ومجمع compiler ومجموعة من الأداوت الأخرى للقيام بإنتاج ملفات تنفيذية تعمل على معالج ARM cortex-M كذلك نحتاج أداة لبرمجة المتحكم وأداة لتحليل البرنامج وأكتشاف الأخطاء debugger.

هناك العديد من البرنامج المستخدمة لبرمجة المتحكمات التي تحتوي على معالج أرم ومنها الغير مجاني مثل برنامج Keil وهو مجاني أذا كان حجم البرنامج أقل من ٣٢ كيلو بايت، وهناك أيضا برنامج IAR for Cortex-M. أما البرامج المجانية فمنها برنامج CooCox و System Workbench for STM32 وهذه البرامج تعتمد على بيئة أكلبس Eclipse والمجمع GCC.

برنامج TrueSTUDIO

سنعتمد في هذه السلسلة على برنامج TrueSTUDIO وهو برنامج خاص لشركة Atollic وكان غير مجاني إلي أن استحوذت شركة ST على الشركة المطورة له وجعلته برنامج مجاني ويعتمد برنامج TrueSTUDIO على بيئة أكلبس Eclipse والمجمع GCC ويدعم نظام التشغيل الويندوز واللينكس ومن مميزاته وكونه صادر عن شركة تابعة لشركة ST سيكون الأفضل للتعامل مع المتحكمات STM32 كذلك يحتوي على اداة لتحليل الذاكرة والمكدس وتوضيح أستهلاك كل منهما، يدعم أيضا المتحكمات متعددة الأنوية، يحتوي على اداة لتحليل أخطاء المعالج وتتبع أخطاء الذاكرة كما انه يدعم أنظمة التشغيل بالزمن الحقيقي RTOS بالأضافة لأداة لمراجعة الأكواد البرمجية وفهرستها وادارة المشاريع.

الأن سنقوم بتحميل البرنامج من الموقع الرسمي عن طريق تتبع الرابط الأتي

ثم أختيار نظام التشغيل، سنقوم بهذه السلسلة استخدام برنامج TrueSTUDIO داخل نظام الويندوز ولذلك قد تختلف عملية التسطيب لمن أراد استخدامه تحت اللينكس.

بالخطوة التالية سنقوم بكتابة البيانات الشخصية وبعدها سنضغط على Download installer - Windows version كما موضح بالصورة الأتية

والأن سيظهر لنا رابط التحميل وبالضغط عليه ستبدأ عملية تحميل البرنامج

04

بعد أكتمال عملية التحميل سنقوم بالضغط على الملف التنفيذي للبدء بعملية التسطيب.

سنقوم الأن باختار اللغة والضغط على OK وبعدها ستظهر نافذة ترحيبية سنقوم بالضغط على Next ثم نافذة الموافقة على الرخصة سنضغط على I Agree.

06

ستظهر لنا الأن نافذة لأختيار الأدارة البرمجية المستخدمة لبرمجة المتحكم سنختار ST-Link GDB Server حيث أن لوحة ديسكفري تحتوي على برمحية ST-Link ثم نقوم بالضغط على Next.

سنقوم الأن باختيار مكان تسطيب البرنامج ثم نقوم بالضغط على Next.

ونلاحظ الأن بدء عملية التسطيب كما بالصورة الاتية وعند الأنتهاء نقوم بالضغط على Next.

وستظهر لنا نافذة للسؤال لتخصيص الملفات .project مع برنامج TrueSTUDIO يمكننا الأختيار كما نشاء ثم نقوم بالضغط على Next.

ستظهر لنا نافذة خاصة بترقية البرنامج لأصدارات أحدث سنقوم بالضغط على Next ومن ثم سنكون أكملنا عملية التسطيب

الأن سنلاحظ وجود نافذة لتسطيب التعريف الخاص ببرمجية ST-Link للبدء بعملية التسطيب سنضغط على Next.

15

ستظهر لنا النافذة الاتية سنتخار Install

وهناك أيضا نافذة أخرى لتعريف المنفذ التسلسلي

والأن سنلاحظ تسطيب التعريفات بنجاح ومن ثم سنضغط على Finish

سنقوم الأن بالضغط على أيقونة البرنامج لفتحه لأول مرة وستظر لنا الرسالة الاتية لاختيار مكان العمل، نقوم باختيار المكان المناسب ثم نضغط على OK.

ستفتح لنا الأن النافذة الرئيسية للبرنامج، سنضغط على الزر في أقصى اليسار كما هو موضح بالصورة الاتية لاخفاء نافذة الأخبار واستعادة النافذة العادية

تسطيب برنامج STM32 ST-LINK utility

أداة صغيرة مجانية من شركة ST تتيح لنا برمجة الميكروكنترولر مباشرة كذلك يمكننا التعامل مع الذاكرة كما يمكننا أيقاف او تشغيل المتحكم، تدعم اداة ST-LINK utility الكثير من انواع الملفات التنفيذية منها Motorola S19 و Intel HEX وملفات binary.

الأن سنقوم بتتبع الرابط الأتي لتحميل برنامج STM32 ST-LINK utility

سنذهب لأخر الصفحة ونضغط على Get Software كما موضح بالصورة الاتية

يجب الموافقة على اتفاقية الترخيص ثم تسجيل الدخول أو عمل حساب جديد على موقع شركة ST للتحميل.

سيبدأ الأن تحميل البرنامج وعند الأنتهاء سنقوم بفك ضغط الملف لينتج لنا الملف التنفيذي STM32 ST-LINK Utility v4.2.0 setup.exe سنقوم بالضغط عليه لبدء عملية التسطيب.

26

ستظهر لنا نافذة ترحيبية سنقوم بالضغط على Next.

27

يجب الأن الموافقة على اتفاقية الترخيص بالضغط على Yes.

28

سنختار المكان المطلوب تسطيب البرنامج به ثم نضغط على Next.

29

وعند أكتمال عملية التسطيب نقوم بالضغط على Finish.

30

والان سنجد أيقونة البرنامج على سطح المكتب عند الضغط عليها سيكون شكل البرنامج كما يلي

سنقوم الأن بتوصيل بوردة ديسكفري بمفذ USB ونلاحظ ان الويندوز يقوم بالبحث عن التعريفات.

ننتظر حتى انتهاء العملية والتأكد من ظهور وسط تخزين USB كما بالصورتين الأتيتين.

34

نقوم الأن بتشغيل برنامج ST-LINK utility والضغط على زر Connect to the target وبعدها سنلاحظ بيانات الميكروكنترولر موجودة على اليمين كما سيظهر لنا محتوى ذاكرة الفلاش.

كما نلاحظ أضاءة الليدات على البوردة فالضوء الأحمر LD2 دليل على وجود مصدر للطاقة أما الليد LD1 فيكون أحمر في حالة عدم الأتصال مع الكمبيوتر ويضىء بالأخضر مع الأحمر بالتتابع في حالة توصيل البوردة أي بعد الضغط على زر Connect to the target.

والان ببرنامج ST-LINK utility نلاحظ اصدار برمجية ST-LINK الموجودة بالبوردة ST-LINK Firmware version : V2J27M15. سنقوم الأن بعملية تحديث لاصدارة ST-LINK عن طريق الدخول لقائمة ST-LINK ثم Firmware update.

ستظر لنا نافذة برنامج التحديث سنقوم بالضغط على Device connect ويرجى قطع الأتصال مع البوردة من برنامج ST-LINK utility أولا.

وسنلاحظ وجود أصدار جديد من برمجية ST-LINK سنقوم بعملية التحديث عن طريق الضغط على Yes.

ستبدأ الأن عملية التحديث

وعند الأنتهاء ستظهر لنا الرسالة الأتية

41

تسطيب برنامج STM32CubeProgrammer

42

هناك أيضا برنامج مشابه جديد من شركة ST يدعم الويندوز واللينكس والماك للتعامل مع الميكروكنترولر يسمى STM32CubeProgrammer يمكن تحميله من خلال الرابط الأتي.

بعد التحميل يتم فك الضغط وتشغيل الملف الاتي SetupSTM32CubeProgrammer-1.0.0.exe وهو الملف الخاص بالويندوز في حالة وجود نظام تشغيل مختلف يرجى استخدام الملف الأخرى.

الان ستظهر لنا النافذة الاتية وسنقوم بالضغط على زر Next.

بعدها ستظهر نافذة تعريفية سنضغط أيضا على زر Next.

بالنافذة التالية سنقوم بالموافقة على اتفاقية الترخيص ومن ثم Next.

سنختار الأن مكان تسطيب البرنامج ثم نضغط على زر Next.

بالنافذة التالية سنختار STM32CubeProgrammer ثم Next.

ستبدأ الأن عملية التسطيب ويتم طلب تسطيب التعريفات.

بعد الأنتهاء سنقوم بالضغط على Next.

وبعدها ستظهر نافذة لطلب عمل اختصارات على سطح المكتب سنضغط على Next وفي النافذة التي تليها نضغط على Done.

وبعد الأنتهاء من التسطيب سنقوم الأن بفتح البرنامج والأتصال بالبوردة وسيكون شكله كما يلي.

وبهذا نكون أنتهينا من تجهيز البرامج والأدوات اللازمة للبدء بالعمل والمرة القادمة نستكمل الشرح مع أول برنامج وهو لأنارة الليد ببوردة ديسكفري ان شاء الله والي اللقاء.

شرح الدرس في صورة فيديو

2 Likes

في إنتظار جديدكم إن شاء الله
وفقك الله لما فيه الخير.

هستأذن حضرتك في نشر لينك دروس الموقع على الفيس بوك.

جاري حاليا تجهيز فيديوهات للدروس السابقة وبعدها هيكون هناك درس جديد وجزاك الله خيرا على متابعتك واتمنى انك تكون استفدت

ولي سؤال هل عندك بوردة بيها معالج أرم للتطبيق عليها؟

Ahmed Eldeep

1 Like

عندي STM32F103
وفيه معايه ESP32 بس معرفش فيها ARM ولا لأ » جديده ولم ابحث فيها جيدا

كويس جدا المهم انك تقدر تطبق الدروس عملي
سؤال كمان ازاى عرفت عن الدروس؟

1 Like

عملت Advanced search من جوجل عن STM32 للمواقع العربيه

1 Like

شكرا على الشرح الجيد

هل سيتم التطرق لهذه الموضوعات
image

اهلا مهندس نادر

بالنسبة للموضوعات التي سنتطرق لها في الدروس هتكون المكونات الاساسية الموجودة في الميكروكنترولر زى UART ADC DMA CAN SPI I2C والشرح هيكون لاساسيات البروتوكول وكيفية تطبيقه مع مثال بسيط لتوضيح فكرة العمل. سنتكلم كمان عن NVM و Bootloaders.

أما الموضوعات الخاصة بال Design و Autosar فلن يتم التطرق لها

1 Like

تم اضافة شرح الدرس في صورة فيديو

السلام عليكم
جزاك الله خيرا م/أحمد ع المجهود الرائع ربنا يتقبل منك
لما بسطب الstm32cube بيظهرلي ايرور ماسج
و مش عارف احله فممكن اقتراح للحل
image

وعليكم السلام

ممكن يكون الملف اللي حملته تالف جرب تحمله مرة تانية من موقع شركة ST
لو مازلت المشكلة موجودة تاكد ان لديك جافا Java SE Run Time Environment 1.8 او احدث وممكن تعمل تحديث للجافا من موقع شركة اوراكل http://www.oracle.com

هو فعلا مش بيتفك الارشيف مع اني نزلته من مره فبحثت عن حل فلقيت 7-zip واتفك بعد كده وانا برنه لقيته بيقول نزل جافا نزلته لما جه يرن حصلت المشكله اللي ف الصوره فنزلت الJarfile حاولت تاني زي ماحضرتك بتقول بس مش عارف ايه المشكله :disappointed:
حضرتك كنت قايل اننا مش هنشتغل عليه اد كده بس فالفيديو السابع كنت شغال بيه فهل لو انا مشتغلتش بيه مش هستفيد وكاني مش بتابع ولا اتابع مع حضرتك فالجزئيه دي وبعد كده ابقي اطبق :disappointed:
شكرا لحضرتك

1 Like

معنى ان الارشيف مش بيتفك فاكيد فيه مشكلة او ناقص لازم تتاكد ان الارشيف تمام وتنزله من الموقع الشركة

1 Like

تسلم باش مهندس انا متابع الدروس من الاول خالص جديد انا ع الموضوع هاذا

1 Like


جرب استخدام STM32CubeProgrammer