جدول المحتويات:
- الخطوة 1: قم بتنزيل كل ما تحتاجه
- الخطوة الثانية: تثبيت البرنامج
- الخطوة 3: إعداد مشروع نموذجي
- الخطوة 4: انتهى
فيديو: ابدأ في تطوير STM32 على نظام Linux: 4 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:36
في Instructable ، سأوضح لك مدى سهولة البدء في تطوير برامج STM32 على Linux. لقد بدأت في استخدام Linux كجهاز رئيسي منذ عامين ولم يخذل ذلك. كل شيء يعمل بشكل أسرع وأفضل من النوافذ. بالطبع هو أقل ملاءمة من وقت لآخر ، لكنه يجبرك على تعلم الأشياء بشكل أعمق حتى تتمكن من استخدامها.
على أي حال ، في هذه التعليمات ، جزء من سلسلة أبدأها هنا وعلى موقع youtube يدور حول كيفية بدء تشغيله. يرجى التأكد من مشاهدة مقطع فيديو youtube الخاص بي وكذلك حيث أشرح كل شيء كقطعة واحدة ويمكنك الترميز بجانبي.
سأوضح لك في هذه السلسلة كيف يمكنك التطوير باستخدام محرر نصوص فقط مثل المفكرة أو SublimeText أو Atom ، لذلك لن تحتاج إلى أي برنامج احتكاري أو IDE. هذه عظام عارية كما هي وسهلة بشكل مدهش.
الخطوة 1: قم بتنزيل كل ما تحتاجه
تحتاج إلى تنزيل ثلاثة أجزاء لكي يعمل كل شيء:
- مترجم دول مجلس التعاون الخليجي ل ARM
- ملفات البرامج الثابتة STM32
- الأداة المساعدة St-Link
- مشروع عينة
المترجم هو الجزء الرئيسي من البرنامج الذي يجمع كود C الخاص بنا مع جميع ملفات المكتبة الأخرى إلى لغة الآلة التي يمكن أن يفهمها متحكم stm32. قم بتنزيل أحدث إصدار تم تجميعه مسبقًا من هذا المترجم.
المجلد الذي يحتوي على البرنامج الثابت STM32 هو الذي يحتفظ بجميع ملفات بدء التشغيل والأساسية اللازمة لتشغيل المعالج الرئيسي. سنستخدم المكتبة الطرفية القياسية التي تجاوزها HAL. أنا أحب StPeriphLibrary أكثر لأن الشركات التي تعمل على هذه المعالجات تستخدمها لأنها قوية وقديمة ومدعومة. كما أنها أكثر وعورة. لا يقطع العمل الذي يتعين عليك القيام به لتهيئة جهاز طرفي أو تشغيل مصباح LED ، ولكنه يجبرك على معرفة كيفية عمل هذه المعالجات. مع ذلك لديك المزيد من المعرفة بالأعمال الداخلية مما يجعل برمجة أي مهمة منطقية.
آخر قطعة من البرنامج يتم تنزيلها هي أداة st-link. يتم الاحتفاظ بها على جيثب ويتم استخدامها لنقل الملفات الثنائية المترجمة إلى المعالج باستخدام stlink IC على اللوحة التي تعمل كمبرمج / مصحح أخطاء SWD / JTAG.
كما قدمت نموذجًا لمجلد مشروع أتحدث عنه لاحقًا ويمكنك تنزيله. إنه داخل مجلد VIDEO1 الأول.
الخطوة الثانية: تثبيت البرنامج
بعد تنزيل جميع الملفات ، أقترح عليك وضعها داخل مجلد مشترك حيث يتم استخدامها جميعًا معًا لنفس الغرض. لقد وضعت جميع المجلدات داخل مجلد يسمى "Embedded" في دليل HOME الخاص بي.
سنبدأ بأسهل مكتبات STM32. يمكن ترك المجلد الذي قمت بتنزيله هناك. فقط تأكد من البحث لمعرفة مكان تخزين الملفات المناسبة. لذلك يمكنك تغيير وتحرير MakeFile الرئيسي حتى يعمل مع النظام الأساسي الخاص بك.
الثاني الأسهل هو المترجم. لا تحتاج أيضًا إلى فعل أي شيء حيال ذلك ، لكننا سنجعل من المترجم وظيفة يمكن الوصول إليها عالميًا حتى تتمكن من استدعاء المترجم من أي مجلد بغض النظر عن المسار. يمكن تنفيذ جميع الخطوات في الجهاز الطرفي أو في واجهة المستخدم الرسومية ، لكني أحب استخدام Terminal لأنه عندما تحصل على الخبرة يصبح الأمر أسرع وأسهل وأشجعك على استخدام الجهاز أكثر ، إذا كنت تخشى ذلك. فيما يلي الخطوات:
- انتقل إلى مجلد منزلك "/ home / YOURUSERNAME /" أو "~ /" أو اكتب cd في Terminal
- افتح ملف ".bashrc" بكتابة: nano.bashrc
- مرر لأسفل حتى نهاية الملف وأضف هذا السطر: export PATH = $ PATH: ~ / Embedded / gcc-arm-none-eabi-8-2018-q4 / bin
- الخروج عن طريق الحفظ: CTRL + X ، انقر فوق Y ، ENTER
- قم بتشغيل الأمر: source.bashrc لتحديث مصادر المحطة الطرفية
- تحقق مما إذا كان كل شيء يعمل عن طريق كتابة: arm-none-eabi-gcc --version ، يجب أن يعرض أحدث إصدار من المترجم
لتثبيت st-link ، قم باستخراج الأرشيف الذي قمت بتنزيله في المجلد Embedded. ثم اتبع هذه الخطوات:
- تشغيل: جعل
- انتقل إلى المجلد "build / Release": cd build / Release
- اكتب ls وسترى ملفين قابلين للتنفيذ يسمى "st-flash" و "st-util"
- انقل هذين إلى الدليل الأصلي stlink: mv st-flash st-util../../
-
يمكنك ، إذا كنت ترغب في استخدام هاتين الوظيفتين بشكل عام ، تحرير ملف ".bashrc" مرة أخرى عن طريق إضافة:
تصدير PATH = $ PATH: ~ / Embedded / stlink /
هذا كل شئ! لديك كل ما تحتاجه. اذهب الآن لتحصل على محرر النصوص المفضل لديك. استخدم فقط معيارًا واحدًا أكثر ذكاءً مثل SublimeText أو Atom ، وهو ما أستخدمه.
الخطوة 3: إعداد مشروع نموذجي
سنقوم الآن بإنشاء نموذج مشروع يمكنك استخدامه لبدء كل مشروع. إنه مثل قالب مع كل الإعدادات الرئيسية التي تم التعامل معها بالفعل.
يمكنك تنزيله على MEGA الخاص بي ، يكون الرابط في الخطوة الأولى من هذا التوجيه وتحت كل مقطع فيديو على youtube خاص بي. يوجد بالداخل ملف main.c فارغ مع بعض ملفات بدء التشغيل لهذا المعالج وملف Makefile. Makefile هو الذي يخبر المترجم C بمكان العثور على مترجم arm ، وكيفية التحويل ، وأين توجد جميع المكتبات. للحصول على هذه الملفات المناسبة لمشروعك ، يمكنك الانتقال إلى مجلد مكتبة STM32 والبحث عن مجلدات "مشروع" أو "أمثلة". سترى من الداخل هذه الملفات ونسخها: main.c و Makefile و XXX_conf.h و system_XXX.c ، كما ستحتاج إلى ملف رابط stm32_flash.ld الذي يمكن العثور عليه في المجلد:
"/ FLASH_Program / TrueSTUDIO / FLASH_Program /" الموجود داخل نموذج المجلد أو ابحث فقط عن الملف.
يمكن العثور على Makefile عبر الإنترنت أو نسخه من مجلدي ، لكنك ستحتاج إلى تغيير بعض الأشياء. دعونا نلقي نظرة على ملف التكوين الخاص بي وما يمكنك تغييره.
# مسار مجلد stlink لتحميل الكود على اللوحة
STLINK = ~ / Embedded / stlink # ضع ملفات المصدر هنا (*.c) SRCS = main.c system_stm32f4xx.c # Libraries source files #SRCS + = stm32f4xx_rcc.c #SRCS + = stm32f4xx_gpio.c # سيتم إنشاء الثنائيات باستخدام هذا الاسم (.elf ،.bin ،.hex) PROJ_NAME = test # ضع دليل رمز مكتبة STM32F4 هنا ، قم بتغيير اسمك إلى STM_COMMON الخاص بك = / home / matej / Embedded / STM32F4-Discovery_FW_V1.1.0 # إعدادات المترجم. فقط قم بتحرير CFLAGS لتضمين ملفات الرأس الأخرى. CC = arm-none-eabi-gcc OBJCOPY = arm-none-eabi-objcopy # أعلام المترجم CFLAGS = -g -O2 -Wall -Tstm32_flash.ld CFLAGS + = -DUSE_STDPERIPH_DRIVER CFLAGS + = -ml-endian -mthumb -mcpu = cortex-m4 -mthumb-interwork CFLAGS + = -mfloat-abi = hard -mfpu = fpv4-sp-d16 CFLAGS + = -I. # تضمين ملفات من مكتبات STM CFLAGS + = -I $ (STM_COMMON) / Libraries / CMSIS / تضمين CFLAGS + = -I $ (STM_COMMON) / Libraries / CMSIS / ST / STM32F4xx / تضمين CFLAGS + = -I $ (STM_COMMON) / المكتبات / STM32F4xx_StdPeriph_Driver / inc CFLAGS + = -I $ (STM_COMMON) / Utilities / STM32F4-Discovery # تضيف ملف بدء التشغيل لإنشاء SRCS + = $ (STM_COMMON) / Libraries / CMSIS / ST / STM32F4xx / Source /iof4-start / TrueSTUD. s OBJS = $ (SRCS:.c =.o) vpath٪.c $ (STM_COMMON) / Libraries / STM32F4xx_StdPeriph_Driver / src \. PHONY: proj all: proj proj: $ (PROJ_NAME).elf $ (PROJ_NAME).elf: $ (SRCS) $ (CC) $ (CFLAGS) $ ^ -o $ @ $ (OBJCOPY) -O ihex $ (PROJ_NAME).elf $ (PROJ_NAME).hex $ (OBJCOPY) -O ثنائي $ (PROJ_NAME).elf $ (PROJ_NAME).bin clean: rm -f *.o $ (PROJ_NAME).elf $ (PROJ_NAME).hex $ (PROJ_NAME).bin # فلاش STM32F4 burn: proj $ (STLINK) / st-flash write $ (PROJ_NAME).bin 0x80000000
- يمكنك تحرير السطر الأول لتغيير المسار إلى مجلد الأداة المساعدة stlink
-
يمكنك تغيير الخط إلى وجهة المجلد الخاص بك مع المكتبات و YOURUSERNAME
STM_COMMON = / home / YOURUSERNAME / Embedded / STM32F4-Discovery_FW_V1.1.0
- تحقق أيضًا من القسم حيث ترتبط جميع المكتبات. يمكن أن يتغير هذا اعتمادًا على النظام الأساسي الذي تستخدمه ، لذا يرجى التحقق من التغييرات في شجرة الملفات. يمكن تغيير أي شيء آخر يتضمن أي مسارات لملفات معينة ، مثل السطر التالي مع ملف بدء التشغيل.
بعد قيامك بتحرير كل هذه الأشياء داخل Makefile ، يمكنك التحقق مما إذا كان يعمل عن طريق فتح Terminal داخل دليلك وكتابة: make. إذا كان يجمع كل شيء دون مشكلة ، فأنت جاهز. إذا لم يكن الأمر كذلك ، فابحث عن أخطاء المترجم وقم بتحرير ملف Makefile.
أيضًا ، عندما أستخدم Atom ، أضع قطعتين من التعليمات البرمجية جنبًا إلى جنب. عادةً ما يكون main.c و Makefile على اليسار لأنك تحتاج فقط إلى تعديل Makefile مرة واحدة والمكتبات على اليمين. يمكنك أن ترى في الصورة أنني فتحت المجلد الذي يحتوي على ملفات.c و. h لكل مكتبة. تستطيع أن ترى كل هذا في أشرطة الفيديو.
الخطوة 4: انتهى
الآن بعد أن قمت بتكوين Makefile وعمل المترجم ، يمكنك استخدام هذا المجلد لجميع المشاريع كقالب ، لذا تأكد من حفظ نسخة من هذا المجلد.
كما يمكنك اختبار برامج st-flash و st-info عن طريق توصيل لوحة التطوير الخاصة بك والكتابة في Terminal:
st-info --probe
يمكنك رؤية النظام الأساسي الذي يتعرف عليه برنامج stlink وعائلة IC جنبًا إلى جنب مع ذاكرة التخزين المؤقت وأشياء أخرى. يمكنك كتابة:
ش المعلومات
لرؤية جميع المعلمات المتاحة.
الآن يمكنك البدء في البرمجة. في الفيديو التالي القابل للتعليمات والفيديو ، سأوضح لك أساسيات GPIO والساعات. هذان هما الأساسيات لكل شيء آخر حيث أن كل شيء تقريبًا تتفاعل معه اللوحة قد تجاوز GPIO وكل شيء يعمل على مدار الساعة وسترى نمط برمجة هذه المعالجات.
حتى ذلك الحين ، شكرًا لك على التحقق من إرشاداتي ومقطع فيديو youtube الخاص بي ، إذا لم تكن قد فعلت ذلك بعد.
موصى به:
نظام فرز الألوان: نظام قائم على الأردوينو مع حزامين: 8 خطوات
نظام الفرز اللوني: نظام قائم على اردوينو مع حزامين: يتم نقل و / أو تغليف المنتجات والعناصر في المجال الصناعي باستخدام خطوط مصنوعة باستخدام أحزمة ناقلة. تساعد هذه الأحزمة في نقل العنصر من نقطة إلى أخرى بسرعة محددة. قد تكون بعض مهام المعالجة أو تحديد الهوية
نظام مجلس تطوير المتحكم PIC: 3 خطوات
نظام مجلس تطوير وحدة التحكم الدقيقة PIC: هذا المشروع مخصص لتصميم واستخدام أداة تطوير PIC التي تتسم بالمرونة لتناسب مجموعة واسعة من المشاريع الإلكترونية القائمة على الموافقة المسبقة عن علم ، وغالبًا ما يكون من الأسهل تطوير مشاريع المتحكم الدقيق باستخدام أدوات التطوير ؛ التي تسمح للمستخدم
تطوير ESP32 على نظام Windows الفرعي لنظام Linux: 7 خطوات
تطوير ESP32 على نظام Windows الفرعي لنظام Linux: ESP32 عبارة عن لوحة تحكم دقيقة منخفضة التكلفة ومنخفضة الطاقة من Espressif. يحظى بشعبية كبيرة بين المصنّعين بسبب تكلفته المنخفضة والأجهزة الطرفية المدمجة ، والتي تشمل WiFi و Bluetooth. ومع ذلك ، تتطلب أدوات التطوير الخاصة بـ ESP32 لغة en
تطوير التطبيقات باستخدام دبابيس GPIO على DragonBoard 410c مع أنظمة تشغيل Android و Linux: 6 خطوات
تطوير التطبيقات باستخدام دبابيس GPIO على DragonBoard 410c مع أنظمة تشغيل Android و Linux: الغرض من هذا البرنامج التعليمي هو إظهار المعلومات اللازمة لتطوير التطبيقات باستخدام دبوس GPIO في التوسعة منخفضة السرعة DragonBoard 410c. يقدم هذا البرنامج التعليمي معلومات لتطوير التطبيقات باستخدام دبابيس GPIO مع SYS على Andr
نظام التشغيل Mac OS 7 على نظام التشغيل Windows: 4 خطوات
نظام التشغيل Mac OS 7 على نظام التشغيل Windows: ستتعلم في هذا الدليل كيفية تثبيت نظام التشغيل Mac OS 7 على Windows. لا تقلق ، لدي كل الملفات التي تحتاجها.:) قم بتنزيل هذا من APPLE ….. لن تحتاجه ولكن فقط حتى تحصل Apple على الفضل في نظام التشغيل. لذا يرجى التنزيل إذا كنت ستفعل