فهرست مطالب:
- مرحله 1: هر آنچه را که نیاز دارید بارگیری کنید
- مرحله 2: نصب نرم افزار
- مرحله 3: راه اندازی یک پروژه نمونه
- مرحله 4: تمام شد
تصویری: شروع توسعه STM32 در لینوکس: 4 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:52
در این دستورالعمل ، من قصد دارم به شما نشان دهم که شروع برنامه های STM32 بر روی لینوکس چقدر آسان است. من 2 سال پیش از لینوکس به عنوان ماشین اصلی خود استفاده کردم و ناامید نشدم. همه چیز سریعتر و بهتر از پنجره ها کار می کند. البته هر از گاهی راحت تر نیست ، اما شما را مجبور می کند چیزها را عمیق تر بیاموزید تا بتوانید از آن استفاده کنید.
به هر حال ، در این قسمت قابل آموزش ، بخشی از سری که من اینجا شروع می کنم و در یوتیوب درباره نحوه شروع آن است. لطفاً ویدیوی یوتیوب من را نیز مشاهده کنید که در آن همه چیز را به عنوان یک بخش توضیح می دهم و می توانید در کنار من کدگذاری کنید.
در این مجموعه به شما نشان خواهم داد که چگونه می توانید با استفاده از یک ویرایشگر متن مانند دفترچه یادداشت ، SublimeText یا Atom توسعه دهید ، بنابراین نیازی به نرم افزار اختصاصی یا IDE ندارید. این به اندازه استخوان های برهنه است و به طرز شگفت انگیزی آسان است.
مرحله 1: هر آنچه را که نیاز دارید بارگیری کنید
برای کارکردن همه چیز باید سه قسمت را بارگیری کنید:
- کامپایلر GCC برای ARM
- فایل های سیستم عامل STM32
- ابزار St-link
- پروژه نمونه
کامپایلر اصلی ترین نرم افزاری است که کد C ما را با سایر فایل های کتابخانه به زبان ماشین که کنترلر stm32 ما می تواند درک کند ، کامپایل می کند. آخرین نسخه از پیش تنظیم شده این کامپایلر را بارگیری کنید.
پوشه حاوی سیستم عامل STM32 ، پوشه ای است که تمام فایل های راه اندازی و اصلی مورد نیاز برای عملکرد پردازنده اصلی را در خود نگه می دارد. ما از کتابخانه استاندارد جانبی که از HAL پیشی گرفته است استفاده خواهیم کرد. من StPeriphLibrary را بیشتر دوست دارم زیرا شرکت هایی که روی این پردازنده ها کار می کنند از آنها استفاده می کنند زیرا قوی و قدیمی است و پشتیبانی می شود. همچنین ناهموارتر است. این کار کارهایی را که باید برای راه اندازی یک دستگاه جانبی یا روشن کردن LED انجام دهید کاهش نمی دهد ، اما باعث می شود شما نحوه کار این پردازنده ها را بیاموزید. با این کار ، شما اطلاعات بیشتری در مورد عملکردهای داخلی دارید ، بنابراین برنامه ریزی برای هر کاری را حس می کنید.
آخرین قطعه نرم افزاری که بارگیری می شود ابزار st-link است. در github نگهداری می شود و برای انتقال فایل های باینری کامپایل شده به پردازنده با استفاده از IC stlink روی برد که به عنوان برنامه نویس / اشکال زدایی SWD / JTAG استفاده می شود ، استفاده می شود.
همچنین من یک نمونه پوشه پروژه ارائه کرده ام که بعداً در مورد آن صحبت می کنم و می توانید آن را بارگیری کنید. داخل اولین پوشه VIDEO1 است.
مرحله 2: نصب نرم افزار
پس از بارگیری همه پرونده ها ، پیشنهاد می کنم آنها را در یک پوشه مشترک قرار دهید زیرا همه آنها با هم برای یک منظور استفاده می شوند. همه پوشه ها را داخل پوشه ای به نام "Embedded" در فهرست اصلی خود قرار دادم.
ما با ساده ترین کتابخانه های STM32 شروع می کنیم. پوشه ای را که بارگیری کرده اید می توانید همانجا بگذارید. فقط مطمئن شوید که در اطراف گشت و گذار کنید تا ببینید فایل های مناسب در کجا ذخیره می شوند. بنابراین می توانید MakeFile اصلی را تغییر داده و ویرایش کنید تا با پلتفرم شما کار کند.
دومین آسانترین کامپایلر است. شما همچنین نیازی به انجام کاری ندارید ، اما ما کامپایلر را به یک تابع قابل دسترسی جهانی تبدیل می کنیم تا بدون توجه به مسیر ، کامپایلر را از هر پوشه ای فراخوانی کنید. همه مراحل را می توان در ترمینال یا در gui انجام داد ، اما من دوست دارم از ترمینال استفاده کنم زیرا وقتی تجربه می کنید سریعتر و آسان تر می شود و من شما را تشویق می کنم که اگر از ترمینال می ترسید بیشتر از ترمینال استفاده کنید. در اینجا مراحل:
- به پوشه اصلی خود "/home/YOURUSERNAME/" یا "~/" بروید یا cd را در ترمینال تایپ کنید
- فایل ".bashrc" را با تایپ کردن: nano.bashrc باز کنید
- به انتهای فایل بروید و این خط را اضافه کنید: export PATH = $ PATH: ~/embbedded/gcc-arm-none-eabi-8-2018-q4/bin
- خروج با ذخیره: CTRL+X ، روی Y ، ENTER کلیک کنید
- دستور را اجرا کنید: source.bashrc برای بازخوانی منابع ترمینال
- بررسی کنید آیا همه چیز با تایپ کردن کار می کند: arm-none-eabi-gcc --version ، باید آخرین نسخه کامپایلر را نمایش دهد
برای نصب st-link ، بایگانی را که بارگیری کرده اید در پوشه جاسازی شده استخراج کنید. سپس این مراحل را دنبال کنید:
- اجرا کنید: بسازید
- به پوشه "build/Release" بروید: cd build/Release
- ls را تایپ کنید و دو فایل اجرایی با نام "st-flash" و "st-util" را مشاهده خواهید کرد.
- این دو را به پوشه اصلی stlink منتقل کنید: mv st-flash st-util../../
-
اگر می خواهید از این دو عملکرد به صورت جهانی استفاده کنید ، می توانید مجدداً فایل ".bashrc" را با افزودن موارد زیر ویرایش کنید:
PATH صادرات = $ PATH: ~/جاسازی شده/stlink/
فقط همین! شما هر آنچه را که نیاز دارید در اختیار دارید. حالا بروید ویرایشگر متن مورد علاقه خود را بگیرید. فقط از یک استاندارد استفاده کنید ، هوشمندتر مانند SublimeText یا Atom ، این چیزی است که من استفاده می کنم.
مرحله 3: راه اندازی یک پروژه نمونه
اکنون یک نمونه پروژه ایجاد می کنیم که می توانید از آن برای شروع هر پروژه استفاده کنید. مانند یک الگو است که تمام تنظیمات اصلی قبلاً انجام شده است.
می توانید آن را در MEGA من بارگیری کنید ، پیوند در اولین قدم این دستورالعمل آموزشی و در زیر هر ویدیوی یوتیوب من قرار دارد. داخل فایل خالی 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 = ~/Embedded/stlink # فایلهای منبع خود را در اینجا قرار دهید (*.c) SRCS = main.c system_stm32f4xx.c # فایلهای منبع کتابخانه #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 += -mittle -endian -p = cortex-m4 -mthumb-interwork CFLAGS += -mfloat-abi = سخت -mfpu = fpv4-sp-d16 CFLAGS += -I. # شامل فایلهای کتابخانه های STM CFLAGS += -I $ (STM_COMMON)/کتابخانه ها/CMSIS/شامل CFLAGS += -I $ (STM_COMMON)/کتابخانه ها/CMSIS/ST/STM32F4xx/شامل CFLAGS += -I $ (STM_COMMON) کتابخانه ها/STM32F4xx_StdPeriph_Driver/inc CFLAGS += -I $ (STM_COMMON)/Utilities/STM32F4 -Discovery # افزودن فایل راه اندازی برای ساخت SRCS += $ (STM_COMMON)/کتابخانه ها/CMSIS/ST/STM32p4mx/start/STx32x4xx/منبع/ 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) خود $ (PROJ_NAME).bin clean: rm -f *.o $ (PROJ_NAME).elf $ (PROJ_NAME). hex $ (PROJ_NAME).bin # فلش STM32F4 رایت: proj $ (STLINK)/st -flash $ بنویسید PROJ_NAME).bin 0x80000000
- شما می توانید خط اول را برای تغییر مسیر به پوشه ابزار stlink خود ویرایش کنید
-
با کتابخانه ها و YOURUSERNAME می توانید خط مقصد پوشه خود را تغییر دهید
STM_COMMON =/home/YOURUSERNAME/Embedded/STM32F4-Discovery_FW_V1.1.0
- همچنین قسمتی را که همه کتابخانه ها در آن پیوند دارند بررسی کنید. این بسته به پلتفرمی که استفاده می کنید می تواند تغییر کند بنابراین لطفاً تغییرات را در درخت فایل بررسی کنید. همیشه می توان مسیرهایی را برای دسترسی به فایل های خاص ، مانند خط بعدی با فایل راه اندازی تغییر داد.
بعد از اینکه همه این موارد را در Makefile ویرایش کردید ، می توانید با باز کردن یک ترمینال در فهرست خود و تایپ کردن: make ، بررسی کنید که آیا کار می کند یا خیر. اگر همه چیز را بدون مشکل کامپایل می کند ، شما تنظیم شده اید. در غیر این صورت ، خطاهای کامپایلر را بررسی کرده و Makefile را ویرایش کنید.
همچنین ، وقتی از Atom استفاده می کنم ، دو قطعه کد را در کنار هم قرار می دهم. معمولاً main.c و Makefile در سمت چپ ، زیرا فقط یکبار Makefile و کتابخانه های سمت راست را ویرایش کنید. در تصویر می بینید که من پوشه حاوی فایل های.c و.h را برای هر کتابخانه باز کرده ام. همه اینها را می توانید در فیلم ها مشاهده کنید.
مرحله 4: تمام شد
اکنون که Makefile را پیکربندی کرده اید و کامپایلر در حال کار است ، می توانید از این پوشه برای همه پروژه ها به عنوان یک الگو استفاده کنید ، بنابراین مطمئن شوید که یک کپی از این پوشه را ذخیره کرده اید.
همچنین می توانید برنامه های st-flash و st-info را با وصل کردن برد توسعه و تایپ کردن در ترمینال آزمایش کنید:
st-info --probe
می توانید پلتفرمی را که نرم افزار stlink تشخیص می دهد و خانواده IC را همراه با حافظه پنهان و سایر موارد مشاهده کنید. می توانید تایپ کنید:
st-info
برای مشاهده همه پارامترهای موجود
حالا می توانید برنامه نویسی را شروع کنید. در فیلم آموزشی و آموزشی بعدی ، من اصول GPIO و ساعت ها را به شما نشان خواهم داد. این دو اصل برای هر چیز دیگری هستند زیرا تقریباً هر چیزی که برد با آن ارتباط برقرار می کند بیش از GPIO است و همه چیز در ساعت کار می کند و شما الگوی برنامه نویسی این پردازنده ها را مشاهده خواهید کرد.
تا آن زمان ، اگر هنوز این کار را نکرده اید ، ویدئوی آموزشی و یوتیوب من را بررسی می کنید ، متشکرم.
توصیه شده:
توسعه برد Drivemall: 5 مرحله
توسعه برد Drivemall: در این آموزش مراحل اولیه ایجاد یک برد سفارشی Arduino را خواهیم دید. نرم افزارهای مورد استفاده KiCad برای طراحی برد و Arduino IDE برای ایجاد و بارگیری سیستم عامل برای برد است
سرور کوچک لینوکس - VoCore2 - شروع به کار: 9 مرحله
سرور کوچک لینوکس - VoCore2 - شروع به کار: VoCore2 Ultimate یک قطعه کوچک مینیاتوریزه است و برای برنامه های کنترل جاسازی شده ارزش توجه دارد. این آموزش به شما کمک می کند نحوه: پیکربندی تنظیمات دستگاه ، افزودن دسترسی ایمن به اینترنت و کنترل گراز را یاد بگیرید
نحوه نصب لینوکس (مبتدیان از اینجا شروع کنید!): 6 مرحله
نحوه نصب لینوکس (مبتدیان از اینجا شروع کنید!): لینوکس دقیقاً چیست؟ خوب ، خواننده عزیز ، لینوکس دروازه ای برای دنیایی از امکانات کاملاً جدید است. دیگر زمان هایی که OSX از داشتن یک رایانه لذت می برد ، گذشته است. نمادهای احمقانه امنیتی در ویندوز 10 از بین رفته است. حالا نوبت شماست
شروع کار با Stm32 با استفاده از Arduino IDE: 3 مرحله
شروع به کار با Stm32 با استفاده از Arduino IDE: STM32 یک برد قدرتمند و محبوب است که توسط Arduino IDE پشتیبانی می شود. اما برای استفاده از آن شما باید بردهای stm32 را در Arduino IDE نصب کنید بنابراین در این دستورالعمل نحوه نصب و راه اندازی بردهای stm32 را توضیح خواهم داد. برای برنامه نویسی آن
توسعه ESP32 در زیر سیستم ویندوز برای لینوکس: 7 مرحله
ESP32 توسعه در زیر سیستم Windows برای لینوکس: ESP32 یک برد میکروکنترلر کم هزینه و کم مصرف از Espressif است. این دستگاه به دلیل هزینه کم و لوازم جانبی داخلی که شامل WiFi و بلوتوث است ، در بین سازندگان محبوب است. با این حال ، ابزارهای توسعه ESP32 نیاز به یک ابزار یونیکس مانند