كسوف للميكروكونترولر (STM32) + FreeRTOS Aware Debugger

الصورة


توضح هذه المقالة كيفية تثبيت الكسوف للميكروكنترولر + أداة تصحيح أخطاء مهمة FreeRTOS.

على سبيل المثال ، نظام التشغيل Windows ، CubeMX ، و لوحة STM32L4Discovery.

التثبيت


تثبيت:

كسوف IDE للمطورين C / C ++
تحميل الكسوف ، فك ، نسخ إلى C: / الكسوف
الشوكولاته
Chocolatey - مدير الحزم لنظام Windows ، وهو تناظرية apt-get ، يسمح لك بتثبيت البرامج من خلال وحدة التحكم.
افتح PowerShell.exe كمسؤول وقم بتنفيذ:
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1')) 
جدك
بدون JDK ، لن يبدأ الكسوف و CubeMX.
افتح PowerShell.exe كمسؤول وقم بتنفيذ:

 cinst -y jdk8 
Node.js
Node.js يحتوي على مدير حزمة npm اللازمة لتثبيت xpm.
افتح PowerShell.exe كمسؤول وقم بتنفيذ:

 cinst -y nodejs 
xpm
Xpm - xPack package manager ، يسمح لك بسرعة بتثبيت الأدوات المساعدة اللازمة لكسوف الشمس مع ثلاثة خطوط في سطر الأوامر.
أعد تشغيل PowerShell.exe كمسؤول وقم بتنفيذ:

 npm install --global xpm 
مترجم الذراع ، ونظام بناء ومصحح الأخطاء
أعد تشغيل PowerShell.exe كمسؤول وقم بتنفيذ:

 xpm install --global @gnu-mcu-eclipse/arm-none-eabi-gcc 
 xpm install --global @gnu-mcu-eclipse/windows-build-tools 
 xpm install --global @gnu-mcu-eclipse/openocd 
GNU MCU Plugin:
إطلاق الكسوف ، مساعدة -> كسوف السوق ...

أدخل "GNU MCU" في مربع البحث.

انقر فوق تثبيت.

نترك كل شيء كما هو ، انقر فوق ، مزيد ، كذلك. سوف الكسوف إعادة تشغيل. الصورة
حزمة Mcu
انتقل إلى حزم ، انقر فوق تحديث. الصورة
نختار تثبيت حزمة اعتمادا على متحكم الخاص بك: الصورة
بعد ذلك ، نذهب إلى المطبخ لوضع غلاية ، عملية التحديث ليست سريعة.
الصورة
عند ظهور الخطأ ، انقر فوق "تجاهل الكل": الصورة
Cubemx
اتبع الرابط ، تنزيل وتثبيت
ST لينك
اتبع الرابط ، تنزيل وتثبيت
برنامج الارتباط J
اتبع الرابط ، تنزيل وتثبيت


امض ST-Link إلى J-Link
اتبع الرابط ، تنزيل وتثبيت.
قم بتشغيل STLinkReflash.exe ، اقبل الاتفاقية ، حدد [1] - الترقية إلى J-Link.
في أي وقت ، يمكنك إرجاع ST-Link مرة أخرى عن طريق تحديد [3] - استعادة ST-Link. الصورة
نحن محو الذاكرة على متحكم
افتح J-flash lite عند الإطلاق ، انقر فوق OK الصورة
حدد متحكم الخاص بك واضغط على محو. الصورة

إنشاء المشروع


في مجلد المشروع ، قم بإنشاء مشروعين:
 C:\projects\armtest_cube C:\projects\armtest 

إنشاء مشروع في CubeMX
نذهب إلى CubeMX ، إنشاء مشروع جديد.
نحن ندرج FreeRTOS في المشروع ، وتبديل USE_TRACE_FACILITY -> ENABLED
الصورة
RECORD_STACK_HIGH_ADDRESS -> تمكين
الصورة
SYS -> Timebase Source ، حدد أي مؤقت غير ضروري ، على سبيل المثال TIM7
الصورة
نحن تشمل وظائف إضافية حسب الاقتضاء.
انقر فوق إنشاء رمز.
الصورة
إنشاء مشروع في الكسوف
اذهب إلى الكسوف -> جديد -> المشروع ...
اختيار مشروع جيم
الصورة
وضعنا اسم المشروع وموقعه ، حدد نوع المشروع.
الصورة
الشيء الأكثر أهمية هو الإشارة إلى النواة الصحيحة ، اعتمادًا على نوع متحكمك (انظر ورقة البيانات). بقية الإعدادات ليست مهمة.
الصورة
انقر فوق التالي ، التالي.
إذا لم يتم اكتشاف سلسلة الأدوات تلقائيًا ، فقم بالإشارة إلى موقعها.
انقر فوق "إنهاء".
الصورة
احذف كل شيء من شجرة المشروع:
الصورة
نذهب إلى مجلد مشروع armtest_cube ونسخ كل شيء ما عدا .project و .cproject في مجلد مشروع armtest.
الصورة
تحديث شجرة المشروع:
الصورة
انتقل إلى إعدادات المشروع -> خصائص ، حدد متحكم اللازمة. الصورة
نذهب إلى إعدادات رابط ، وحذف جميع ملفات Script المتاحة وإضافة ملف ld من شجرة المشروع.
الصورة
نقوم بتوصيل المكتبة بدعم من Floating Point:
الصورة
حدد تنسيق ملف الإخراج Motorola S-record
الصورة
أضف includ'y:
الصورة
أضف تعريفًا للمعالج المسبق:
الصورة
إعادة تسمية ملف بدء التشغيل "startup_stm32l476xx.s" إلى "startup_stm32l476xx.S". خلاف ذلك ، تظهر الأخطاء في التصحيح. الصورة
تشغيل -> تصحيح التكوينات الصورة
تثبيت FreeRTOS المصحح البرنامج المساعد
مساعدة -> تثبيت برامج جديدة ...
 http://freescale.com/lgfiles/updates/Eclipse/KDS 
الصورة

ملخص


تشغيل Debug ، في قائمة FreeRTOS الجديدة حدد Task List + Heap Usage.

الصورة

نحصل على عرض مرئي لحمل Heap & Stack والكعك الأخرى:

الصورة

Source: https://habr.com/ru/post/ar441810/


All Articles