دوره توسعه نرم افزار جاسازی شده با استفاده از C++ کاربرد برنامه نویسی شی گرا (OOP) را در سیستم های جاسازی شده نشان می دهد. C++ زبان منتخب است زیرا دارای امکاناتی است که پیاده سازی OOP را آسان می کند و همچنین امکان برنامه نویسی در سطح سخت افزار را فراهم می کند. همانطور که C++ از ویژگی های غنی و خارق العاده ای برخوردار است، استفاده نادرست از آن آسان است و این ممکن است باعث نفخ کد شود. در این دوره، ویژگی های خاصی از زبان انتخاب شده است تا اطمینان حاصل شود که برنامه های توسعه یافته از موارد زیر پیروی می کنند:
سادگی
خوانایی
قابلیت نگهداری
مفاهیم اصلی OOP مانند انتزاع، کپسولاسیون و چندشکلی پوشش داده شده است. هدف این دوره ارائه این سبک از برنامه نویسی تا حد امکان ساده و دوستانه است، بنابراین وراثت پوشش داده نمی شود. به منظور ایجاد کتابخانه و توسعه برنامه نسبتاً سریعتر، از APIهای STM32Cube HAL استفاده می شود و برنامه نویسی در سطح ثبت مستقیم به حداقل کاهش می یابد. از برد STM32F401RE Nucleo در طول این دوره و Keil uVision5 MDK و STM32CubeIDE برای توسعه نرم افزار و اشکال زدایی استفاده می شود. از آنجایی که این دوره عمدتاً از HAL استفاده میکند، پس هرکسی که این دوره را میگذراند، میتواند از یک میکروکنترلر STM32 متفاوت استفاده کند و به دلیل قابل حمل بودن HAL، همان کد را اجرا کند (با کمی تغییرات).
بیشتر نرم افزارهای تعبیه شده به زبان C و با رویکرد رویه ای برای برنامه نویسی نوشته شده اند. C++ جایگزینی برای C و OOP نیز جایگزینی برای برنامه نویسی رویه ای نیست. اما C++ برخی از ویژگیهایی را ارائه میکند که نرمافزار تعبیهشده ما میتواند از آنها بهرهمند شود و در صورت استفاده عاقلانه، برای توسعه برنامه مفید خواهد بود. در پایان، این یک اولویت و مورد استفاده است و این دوره تضمین می کند که کاربرد زبان و پارادایم برنامه نویسی (OOP) منعکس و قدردانی می شود.
به عنوان دانشجوی این دوره، با موارد زیر مواجه خواهید شد:
برنامه نویسی شی گرا در یک سیستم تعبیه شده و موارد زیر اعمال خواهد شد:
کلاس، کپسولاسیون، انتزاع، چند شکلی
کلید واژه های خصوصی و عمومی
نشانگرها و مراجع
ایمنی را تایپ کنید
توسعه کتابخانهها با استفاده از درایورهای C++، STM32Cube HAL و اطلاعاتی از اسناد برای رابط میکروکنترلر STM32 با اجزای خارجی مانند:
LCD 20x4
صفحه کلید 4x4
SG90 Servo
ماژول بلوتوث HC05
حسگر اولتراسونیک HC-SR04
درایور موتور L298N
تولید کد با استفاده از STM32CubeMx و همچنین اصلاح و سفارشیسازی کد تولید شده CubeMx متناسب با برنامه در حال توسعه.
برنامه نویسی HAL GPIO، UART و تایمر در STM32
استفاده از تایمر برای تولید سیگنال PWM و همچنین جذب ورودی PWM برای تعیین چرخه وظیفه سیگنال ورودی
طراحی نرم افزار قبل از توسعه کتابخانه یا کد برنامه
تست کد و اشکال زدایی در Keil uVision 5 و STM32CubeIDE
از آنجایی که این دوره مبتنی بر پروژه است، دانشجویان حداقل دو پروژه خواهند ساخت که برخی از آنها عبارتند از:
یک کنسول بازی Tic-tac-toe
یک ماشین خودران
من میتوانم تضمین کنم که هرکسی که در این دوره ثبتنام میکند، پس از اتمام این دوره، میتواند نرمافزار تعبیهشده برای پروژهها را بدون نظارت و یا بدون نظارت بسازد. همچنین، بهعنوان فارغالتحصیل این دوره، میتوانید نرمافزار تعبیهشده ساده، خوانا و قابل نگهداری را برای چندین پروژه با الزامات تعریفشده با استفاده از C++ طراحی و توسعه دهید.
برای به دست آوردن بهترین نتیجه از دوره، دانش آموزان ملزم به خرید قطعات سخت افزاری و نصب نرم افزار هستند تا سخنرانی ها، تمرین ها و پروژه ها را به راحتی دنبال کنند.
نیازهای نرم افزار:
Keil uVision5 MDK
محیط زمان اجرا جاوا (برای STM32CubeMx لازم است)
STM32CubeMx
STM32CubeIDE (برای بردهای بدون پشتیبانی HAL در Keil uVision)
همچنین انتظار میرود که دانشآموزان با برنامهنویسی STM32 در سطح پایه آشنا باشند، یعنی درک لوازم جانبی اولیه و رجیسترهای آنها (GPIO، UART و تایمرها در حالت شمارش عادی). دانستن C تعبیه شده نیز مفید خواهد بود. می توان از Keil uVision 5 یا STM32CubeIDE استفاده کرد. برای بردهای بدون پشتیبانی HAL در زنجیره ابزار Keil uVision (به عنوان مثال STM32 bluepill)، می توان از STM32CubeIDE استفاده کرد.
فرآیند آموزش و یادگیری در این دوره فراتر از سخنرانی ها و تمرین ها است. دانش آموزان همیشه می توانند از طریق بخش پرسش و پاسخ با مربی ارتباط برقرار کنند. این بخش بسیار فعال است زیرا در عرض 24 ساعت به سوالات پاسخ داده می شود.
سیستم های جاسازی شده || میکروکنترلر || مدارها
نمایش نظرات