نرمافزار تعبیهشده پیشرفته با STM32 ،FreeRTOS و Modbus
✅ سرفصل و جزئیات آموزش
آنچه یاد خواهید گرفت:
- توسعه نرمافزار تعبیهشده با استفاده از FreeRTOS
- پیادهسازی درایورهای جانبی STM32 در سطح ثبات با استفاده از CMSIS، همراه با FreeRTOS برای همزمان سازی
- ادغام و پیکربندی FreeRTOS در یک پروژه ساختاریافته STM32.
- طراحی تسکهای سطح کاربردی FreeRTOS برای جمعآوری داده، مدیریت خطا، پایش سلامت سیستم و ارتباطات.
- ساخت و ادغام یک فریمورک سفارشی Modbus RTU با نگاشت ثبات
- استفاده از صفها، سمافورها، میوتکسها و نوتیفیکیشنهای تسک در FreeRTOS برای همزمان سازی تسکها و مدیریت منابع مشترک
- ترکیب درایورهای سنسور (SHT3x ،SGP40) و حافظه SPI FRAM در یک پروژه مقیاسپذیر سنسور کیفیت هوا
- درک معماری و جریان نرمافزار تعبیهشده با کمک نمودارها و طرحهای مرجع
- کسب بینش درباره جریان، رفتار و طراحی با نمودارهای حرفهای ارائه شده در طول دوره
پیشنیازهای دوره
- تجربه اولیه در برنامهنویسی سطح ثبات روی میکروکنترلرها
- آشنایی با اصول FreeRTOS (تسکها، تأخیرها، استفاده اولیه)
- تسلط به برنامهنویسی Embedded C
- این دوره برای فراگیرانی طراحی شده است که قبلاً پیشزمینهای در برنامهنویسی تعبیهشده دارند. این دوره برای مبتدیان مطلق نیست.
توضیحات دوره
اگر قبلاً اصول توسعه درایور STM32 یا FreeRTOS را بررسی کردهاید، ممکن است به دنبال گام بعدی باشید: راهی برای کنار هم قرار دادن این مهارتها در یک پروژه حرفهای و دنیای واقعی.
این دوره دقیقاً برای همین منظور طراحی شده است. شما یک پروژه کامل سنسور کیفیت هوای داخلی را از پایه میسازید و با استفاده از یک برد STM32 Nucleo، توسعه و ادغام درایورهای جانبی مبتنی بر CMSIS، تسکهای FreeRTOS و فریمورک سفارشی Modbus RTU را در یک پروژه نرمافزاری تعبیهشده ساختاریافته انجام خواهید داد.
با کار گامبهگام در طراحی و پیادهسازی، نه تنها یاد میگیرید که این عناصر چگونه به صورت جداگانه کار میکنند، بلکه یاد میگیرید که چگونه آنها را معماری، همزمان سازی و در یک اپلیکیشن منسجم دنیای واقعی ادغام کنید.
درباره دوره
ما با پایه شروع میکنیم:
- ادغام CMSIS برای توسعه سطح ثبات
- ادغام FreeRTOS به عنوان سیستم عامل بلادرنگ ما
- ایجاد تسک استارتاپ FreeRTOS
- تنظیم کلاکهای سیستم و یک ساختار پروژه تمیز
از آنجا، پروژه را به صورت تدریجی میسازیم:
- نوشتن یک درایور GPIO تمیز و درایورهای UART، SPI و I2C غیرمسدودکننده که از سمافورهای FreeRTOS برای همزمان سازی استفاده میکنند.
- توسعه تسکهای FreeRTOS سطح کاربردی برای مدیریت جمعآوری داده، پردازش و ارتباطات
- افزودن سختافزار خارجی: سنسورهای محیطی Sensirion (مانند SHT3x ،SGP40) و یک درایور FRAM سفارشی روی SPI برای ذخیرهسازی داده
- ادغام یک فریمورک سفارشی Modbus RTU و سپس ساخت تسکهای سطح کاربردی که از ارتباطات و مدیریت داده پشتیبانی میکنند.
هر قطعه گامبهگام اضافه میشود تا شما نه تنها کد، بلکه استدلال پشت انتخابهای طراحی را نیز ببینید.
نتیجه مورد نظر
تا پایان دوره، شما خواهید داشت:
- یک پروژه سنسور کیفیت هوا کاملاً کارآمد که روی یک میکروکنترلر STM32 اجرا میشود.
- توانایی نوشتن درایورهای سطح ثبات با استفاده از CMSIS
- تجربه به کارگیری مکانیسمهای همزمان سازی FreeRTOS (صفها، سمافورها، میوتکسها و نوتیفیکیشنهای تسک)
- دانش عملی ادغام و پیادهسازی Modbus RTU
- درک واضحی از چگونگی ساختاردهی و رشد پروژههای تعبیهشده حرفهای
این دوره درباره دموهای جداگانه نیست. درباره یادگیری چگونگی ساخت نرمافزار تعبیهشده به شیوهای است که در محیطهای توسعه واقعی انجام میشود.
سایر نکات برجسته قابل توجه
- استفاده از سبک برنامهنویسی ماژولار و حرفهای در سراسر دوره.
- درایورهای I2C ،SPI و UART پیادهسازی شده با همزمان سازی FreeRTOS برای عملکرد غیرمسدودکننده
- مدیریت خطا، پایش سلامت سیستم، جمعآوری داده سنسور، Modbus Slave و مدیریت داده Modbus پیادهسازی شده به عنوان تسکهای FreeRTOS
- توسعه تدریجی پروژه به صورت گامبهگام
- ادغام دنیای واقعی سنسورها و حافظه خارجی
سختافزار
بورد STM32F446RE Nucleo (توصیه شده)
- بخش بزرگی از دوره را میتوان تنها با استفاده از این برد تکمیل کرد، بنابراین میتوانید بلافاصله شروع کنید.
- سنسورهای خارجی (دما/رطوبت I2C و شاخص VOC) و SPI FRAM میتوانند پس از تهیه ادغام شوند.
نرمافزار
- STM32CubeIDE
- یک ابزار Modbus Master (مانند Simply Modbus Master) برای تست ارتباطات
این دوره برای چه کسانی مناسب است؟
- توسعهدهندگان تعبیهشده که میخواهند فراتر از دموهای ساده بروند و یاد بگیرند چگونه یک پروژه حرفهای STM32 را ساختاردهی کنند.
- مهندسان با دانش اولیه STM32 و FreeRTOS که میخواهند درایورها، تسکها و پروتکلهای ارتباطی را در یک اپلیکیشن دنیای واقعی ادغام کنند.
- فراگیرانی که قصد دارند یک پروژه تعبیهشده کامل (سنسور کیفیت هوای داخلی) بسازند و در عین حال بر درایورهای مبتنی به CMSIS، همزمان سازی FreeRTOS و ادغام Modbus مسلط شوند.
نرمافزار تعبیهشده پیشرفته با STM32 ،FreeRTOS و Modbus
-
معرفی دوره 02:01
-
الزامات سختافزاری و منابع 10:40
-
بررسی اجمالی نرمافزار و مستندات 10:30
-
دانلود نرمافزار و مستندات 04:46
-
دانلود و نصب STM32 CubeIDE 03:10
-
بررسی راهاندازی پروژه 03:15
-
ادغام CMSIS Core و راهاندازی CubeIDE 14:52
-
ادغام FreeRTOS 10:12
-
پیکربندی FreeRTOS 09:27
-
تسک استارتاپ FreeRTOS 09:40
-
تست تسک استارتاپ FreeRTOS 07:50
-
بررسی مقداردهی اولیه و پیکربندی Clockها 07:23
-
پیادهسازی Flash Wait States 12:11
-
فایل هدر تعاریف فعال/غیرفعالسازی RCC 10:07
-
فایل هدر RCC 06:57
-
پیادهسازی فایل سورس RCC قسمت 1 12:57
-
پیادهسازی فایل سورس RCC قسمت 2 08:08
-
تست مقداردهی اولیه RCC 11:54
-
بررسی درایور GPIO 07:15
-
بررسی فایل هدر درایور GPIO 10:09
-
بررسی توابع استاتیک درایور GPIO 10:34
-
تعاریف GPIO و نگاشت پین (gpio_defs.h) 04:10
-
پیادهسازی توابع عمومی درایور GPIO 09:56
-
تست درایور GPIO 04:26
-
بررسی اجمالی تسک مدیریت خطا 06:59
-
فایل هدر تعریف نوع خطا 04:25
-
فایل هدر تسک مدیریت خطا 11:28
-
فایل سورس تسک مدیریت خطا قسمت 1 12:09
-
فایل سورس تسک مدیریت خطا قسمت 2 07:28
-
تست تسک مدیریت خطا 04:31
-
بررسی تسک پایش سلامت سیستم 07:20
-
فایل هدر تسک پایش سلامت سیستم 04:36
-
فایل سورس تسک پایش سلامت سیستم 16:14
-
بررسی اجمالی مقداردهی اولیه ADC 07:04
-
فایل هدر ADC 03:42
-
فایل سورس ADC 09:47
-
بررسی مقداردهی اولیه TIM2 04:02
-
فایل هدر TIM 01:40
-
فایل سورس TIM 04:13
-
بررسی اجمالی اولویتهای IRQ 05:32
-
فایل هدر اولویتهای IRQ 02:52
-
فایل سورس اولویتهای IRQ 02:06
-
توابع تبدیل دما در پایش سلامت سیستم 14:34
-
تست پایش سلامت سیستم 07:33
-
بررسی Watchdog مستقل (IWDG) 08:02
-
فایل هدر Watchdog مستقل (IWDG) 05:35
-
فایل سورس Watchdog مستقل (IWDG) 08:36
-
تست Watchdog مستقل (IWDG) 04:23
-
بررسی اجمالی EXTI 06:57
-
فایل هدر EXTI 07:34
-
فایل سورس EXTI 06:46
-
بررسی اجمالی دکمه کاربر 05:24
-
مقداردهی اولیه GPIO و فایل هدر دکمه کاربر 05:22
-
فایل سورس دکمه کاربر قسمت 1 06:10
-
فایل سورس دکمه کاربر قسمت 2 07:45
-
تست دکمه کاربر 03:09
-
بررسی تسک سنسورها 05:04
-
فایل هدر تسک سنسورها 06:27
-
فایل سورس تسک سنسورها قسمت 1 11:45
-
فایل سورس تسک سنسورها قسمت 2 03:05
-
بررسی اجمالی درایور I2C 06:07
-
فایل هدر درایور I2C 06:38
-
فایل سورس I2C قسمت 1 08:22
-
فایل سورس I2C قسمت 2 06:37
-
فایل سورس I2C قسمت 3 03:43
-
بررسی اجمالی ادغام درایور سنسورهای Sensirion 03:33
-
ادغام درایور سنسورهای Sensirion 11:11
-
بررسی اجمالی TIM5 برای تأخیر میکروثانیه 04:32
-
پیادهسازی TIM5 برای تأخیر میکروثانیه 06:32
-
پیادهسازی تأخیر میکروثانیه درایور Sensirion 07:26
-
بررسی GPIO برای I2C 02:39
-
پیادهسازی GPIO برای I2C 05:49
-
بهروزرسانی اولویتهای IRQ برای I2C1 و TIM5 02:33
-
بهروزرسانی تسک سنسورها (ادغام درایورهای Sensirion) 05:05
-
تست تسک سنسورها 10:23
-
مقدمهای بر پروتکل Modbus 04:41
-
درک Modbus RTU 05:22
-
آدرسدهی Modbus RTU 06:49
-
کدهای عملکرد در Modbus 03:12
-
جریان حالت و کدهای خطا در Modbus 04:15
-
دموی کاربردی Modbus و معرفی نقشه Modbus 10:41
-
دانلود شبیهساز Modbus Master 01:25
-
پیشنمایش اجزای نرمافزاری Modbus 05:49
-
بررسی تسک Modbus Slave 07:35
-
فایل هدر تسک Modbus Slave 04:58
-
فایل سورس تسک Modbus Slave 10:08
-
بررسی اجمالی و فایل هدر درایور UART 09:28
-
فایل سورس درایور UART 11:23
-
ادغام میانافزار Modbus Slave 04:44
-
بررسی میانافزار Modbus Slave 14:27
-
بررسی اجمالی و فایل هدر میوتکس (Mutex) همزمان سازی Modbus 05:43
-
فایل سورس میوتکس همزمان سازی Modbus 04:52
-
بروزرسانی تسک Modbus Slave 09:10
-
بروزرسانی اولویت IRQ برای UART جهت ارتباطات Modbus 01:33
-
مقداردهی اولیه GPIO برای UART 03:39
-
تست تسک Modbus Slave 08:59
-
بررسی اجمالی تسک مدیریت داده Modbus 10:19
-
فایل هدر تسک مدیریت داده Modbus 06:20
-
فایل سورس تسک مدیریت داده Modbus قسمت 1 09:05
-
فایل سورس مدیریت داده Modbus قسمت 2 06:06
-
ادغام و بررسی فایل هدر DMA 06:53
-
ادغام و بررسی فایل سورس DMA 05:37
-
ادغام و بررسی فایل هدر درایور SPI 05:39
-
ادغام و بررسی فایل سورس درایور SPI 12:19
-
بررسی GPIO برای SPI FRAM 02:57
-
مقداردهی اولیه GPIO برای SPI FRAM 03:19
-
بررسی و فایل هدر FRAM 08:44
-
پیادهسازی فایل سورس FRAM 08:30
-
تست FRAM و بروزرسانی اولویتهای IRQ 05:20
-
Event Groups: همزمان سازی تسکهای Modbus و سنسورها 07:54
-
ادغام تسک Modbus Slave و مدیریت داده 12:47
-
ادغام تسک سنسورها و مدیریت داده 03:04
-
بروزرسانی مدیریت داده Modbus قسمت 1 04:11
-
بروزرسانی مدیریت داده Modbus قسمت 2 05:14
مشخصات آموزش
نرمافزار تعبیهشده پیشرفته با STM32 ،FreeRTOS و Modbus
- تاریخ به روز رسانی: 1404/12/10
- سطح دوره:متوسط
- تعداد درس:114
- مدت زمان :13:37:28
- حجم :6.67GB
- زبان:دوبله زبان فارسی
- دوره آموزشی:AI Academy