لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش توسعه فریمور سیستمهای نهفته با کمک هوش مصنوعی
- آخرین آپدیت
دانلود AI-Assisted Embedded Firmware Development
نکته:
ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:
روشها و جریانهای کاری حرفهای: چگونه با حفظ صحت و ایمنی، با استفاده از هوش مصنوعی سریعتر کار کنیم
استفاده ایمن از هوش مصنوعی در پروژههای واقعی فریمور نهفته بدون قربانی کردن دقت، ایمنی یا کنترل مهندسی.
ساخت و اعتبارسنجی درایورها تحت محدودیتهای واقعی سیستمهای نهفته با استفاده از جریان کاری مبتنی بر هوش مصنوعی.
تایید فریمورهای تولید شده توسط هوش مصنوعی با بیلدهای پاک (Clean Builds)، سیاستهای مدیریت هشدار، تستها، بررسی دیتاشیتها و شواهد سختافزاری.
بازبینی کدهای فریمور تولید شده توسط AI با استفاده از چکلیستهای حرفهای برای شناسایی پیشفرضهای پنهان و خطاهای خاموش.
پرامپتنویسی موثر برای وظایف نهفته مانند نوشتن درایورها، دیباگ کردن، بازسازی کد (Refactoring)، تست و مستندسازی.
ایجاد یک جریان کاری تکرارپذیر برای توسعه فریمور با کمک AI که سرعت توسعه را بدون به خطر انداختن قابلیت اطمینان افزایش میدهد.
پیش نیازها: NUCLEO-F411
اگر شما یک مهندس فریمور سیستمهای نهفته هستید، استفاده از هوش مصنوعی دیگر یک انتخاب نیست، بلکه یک ضرورت است. سوال واقعی این نیست که آیا AI میتواند کد تولید کند یا خیر، بلکه این است که آیا شما میتوانید از آن بدون از دست دادن صحت، ایمنی و کنترل استفاده کنید؟
این دوره دقیقاً همین موضوع را به شما آموزش میدهد.
شما یک جریان کاری حرفهای و تکرارپذیر برای استفاده از AI در پروژههای واقعی فریمور خواهید آموخت: چگونه سوالات درست بپرسید، چگونه مسئولانه کد تولید کنید، چگونه مانند یک مهندس ارشد کدها را بازبینی کنید و چگونه با استفاده از بیلدها، تستها، بررسی مستندات و شواهد سختافزاری ثابت کنید که کد درست کار میکند. این یک دوره تبلیغاتی نیست، بلکه یک دوره مهندسی کاربردی است که طراحی شده تا همبرنامهنویسی با AI را به یک مهارت غریزی برای شما تبدیل کند.
این دوره بر اساس واقعیتهای سیستمهای نهفته طراحی شده است: کلاکها، وقفهها (Interrupts)، DMA، محدودیتهای حافظه، دیتاشیتها و رفتارهای زمانی. شما خواهید دید که چگونه به طور بهرهور از AI استفاده کنید و در عین حال انضباطی را اعمال کنید که از خطاهای خاموش جلوگیری میکند.
تواناییهای شما پس از اتمام این دوره:
استفاده ایمن از AI در مخازن واقعی فریمور بدون ریسکهای کپی-پیست کورکورانه
پرامپتنویسی برای وظایف تخصصی سیستمهای نهفته مانند درایورها، بازسازی کد، دیباگ، تست و مستندسازی
بازبینی کدهای تولید شده توسط AI با یک چکلیست سیستماتیک برای شناسایی مفروضات پنهان
اعمال گیتهای تاییدیه شامل بیلدهای پاک، سیاستهای هشدار، استراتژی تست، اعتبارسنجی دیتاشیت و تستهای سختافزاری
ساخت درایورهای محیطی با محدودیتهای حرفهای و تایید آنها روی سختافزار واقعی
ترکیب چندین درایور در یک پروژه کوچک یکپارچه با استفاده از جریان کاری AI-Assisted که کاملاً تحت کنترل شما باشد
این دوره به طور هدفمند بر توسعه محلی فریمور در سطح IDE با کمک هوش مصنوعی تمرکز دارد. این دوره شامل معماری کامل محصول، سیستمهای Device-to-Cloud، مدیریت مخازن در مقیاس بزرگ یا فرآیندهای مهندسی AI در سطح تیمی نمیشود. آن مباحث نیازمند سطح متفاوتی از ابزارها و دقت در تاییدیه هستند و در دورهای مجزا پوشش داده میشوند. این دوره پایهای را به شما میدهد که آن جریانهای کاری پیشرفته را ممکن، ایمن و بهرهور سازد.
نحوه تدریس دوره
شما با درسهای تئوری ساختاریافته شروع میکنید تا مدل ذهنی، قوانین و عادتهای تاییدیه درست را بسازید. سپس به دموهای عملی میرویم که در آن AI در یک جریان کاری واقعی فریمور به کار گرفته میشود: پرامپتنویسی، بازبینی، ویرایش، بیلد، تست و اعتبارسنجی در برابر مستندات و رفتار سختافزار. شما نه تنها چه کاری باید انجام دهید، بلکه چرا آن روش درست است را خواهید دید.
این دوره برای چه کسانی است؟
مهندسان فریمور سیستمهای نهفته که با زبان C یا ++C کار میکنند
توسعهکنندگانی که به دنبال افزایش بهرهوری با AI بدون قربانی کردن صحت کد هستند
مهندسانی که میخواهند یک جریان کاری حرفهای را فوراً در پروژههای واقعی خود پیاده کنند
همین حالا ثبتنام کنید و پایههای روشهای حرفهای را که توسعه مدرن فریمور سیستمهای نهفته را تعریف میکنند، بیاموزید.
سرفصل ها و درس ها
مقدمه
Introduction
خوشآمدگویی (مشابه ویدیو معرفی)
Welcome(Same as Promo)
پیشنیازهای دوره
Course Requirements
مدل ذهنی برای کمک هوش مصنوعی در سیستمهای نهفته
The Mental Model for AI-Assistance in Embedded Systems
چرا به یک مدل ذهنی نیاز داریم؟
Why We Need A Mental Model
مدلهای زبانی (LLMs) چه هستند و چه نیستند؟
What LLMs Are and Are NOT
چرا LLMها حتی وقتی اشتباه میکنند مطمئن به نظر میرسند؟
Why LLMs Sound Confident Even When Wrong
چرا سیستمهای نهفته یک مورد خاص هستند؟
Why Embedded Systems Are A Special Case
خطر اعتماد ضمنی
The Danger Of Implicit Trust
یک مدل بهتر: LLM به عنوان یک همبرنامهنویس
A Better Model: LLM As A Peer Programmer
کسب ارزش از LLMها بدون از دست دادن کنترل
Getting Value From LLMs Without Loosing Control
دانلود سورس کد
Source Code Download
راهاندازی محیط توسعه
Setting Up the Environment
مروری بر محیط توسعه
Overview of the Development Environment
استفاده مبتنی بر چت در مقابل استفاده درون-خطی
Chat Based Usage Vs. Inline Based Usage
یک جریان کاری پایه و ایمن
A Safe Baseline Workflow
انضباط پرامپتنویسی برای توسعه فریمور
Prompt Discipline for Firmware Development
چرا پرامپتنویسی در سیستمهای نهفته اهمیت بیشتری دارد؟
Why Prompting Matters More In Embedded Systems
پرامپتنویسی برای توضیح کدهای قدیمی (Legacy Code)
Prompting LLMs to Explain Legacy Code
پرامپتنویسی برای توضیح جریان کنترل (Control Flow)
Prompting for Control Flow Explanation
پرامپتنویسی برای توضیحات وقفه و همروندی (Concurrency)
Prompting for Interrupt and Concurrency Explanations
پرامپتنویسی برای تولید ایمن یک تابع جدید
Prompting to Generate a New Function Safely
پرامپتنویسی برای تولید درایورهای محیطی
Prompting to Generate Peripheral Drivers
پرامپتنویسی برای کدهای پیکربندی
Prompting for Configuration Code
پرامپتنویسی برای بازسازی (Refactoring) فریمور
Prompting for Refactoring the Firmware
بهبود خوانایی بدون تغییر در رفتار کد
Improving Readability Without Changing Behavior
پرامپتنویسی برای تست و اعتبارسنجی
Prompting LLMs for Test and Validation
پرامپتنویسی برای استخراج موارد تست از نیازمندیها
Prompting the LLM to Extract Test Cases from Requirements
درخواست از LLM برای تفکر تقابلی (Adversarial Thinking)
Asking the LLM to Think Adversarially
جریان کاری توسعه فریمور با مدلهای زبانی بزرگ (LLMs)
Firmware Development Workflow with LLMs
جریان کاری «انسان در حلقه» (Human In The Loop)
The Human-In-The-Loop Workflow
پرامپتنویسی برای شناسایی بوهای بد کد (Code Smells)
Prompting the LLM to Identify Code Smells
عادات تاییدیه و ایمنی
Verification and Safety Habits
هرگز هشدارها را بدون فکر کردن نادیده نگیرید
Never Ignore Warnings Without Thinking
بررسی متقاطع با دفترچههای راهنمای مرجع (Reference Manuals)
Cross Checking Against Reference Manuals
پرسش درباره مفروضات پیش از اعتماد به کد
Asking for Assumptions Before Trusting the Code
حالتهای رایج شکست و تلهها
Common Failure Modes and Pitfalls
حالت شکست ۲: مفروضات نادرست زمانبندی و کلاک
Failure Mode2- Incorrect Timing and Clock Assumptions
حالت شکست ۳: اشتباهات ABI و چیدمان حافظه
FailureMode3- ABI and Memory Layout Mistakes
حالت شکست ۴: بازسازی بیش از حد و از دست رفتن هدف کد
FailureMode4- Over Refactoring and Loss of Intent
تنظیمات IDE
Setting Up the IDE
دانلود CubeIDE
Downloading CubeIDE
نصب CubeIDE
Installing CubeIDE
دریافت مستندات مورد نیاز
Getting the required documentation
دریافت پکیجهای مورد نیاز برای توسعه Bare Metal
Getting the required package for bare-metal development
تست تنظیمات پروژه
Testing the project setup
راهاندازی محیط توسعه مبتنی بر هوش مصنوعی
Setting Up the AI-Assisted Development Environment
راهاندازی VSCode
Setting Up VSCode
تنظیم فضای کاری مبتنی بر هوش مصنوعی
Setting Up Our AI-Assited Workspace
برنامهنویسی: فعالسازی همبرنامهنویس AI
Programming: Enabling the AI Peer Programmer
شروع توسعه با کمک هوش مصنوعی
Getting Started With AI-Assisted Development
برنامهنویسی: آشنایی با پنل چت AI
Programming: Getting Familiar With the AI Chat Panel
برنامهنویسی: درک قابلیت تشخیص متن فایل در Copilot
Programming: Understanding the File Context Capability of Copilot
درک حالتهای مختلف توسعه با کمک AI
Understanding the Modes of AI-Assisted Development
برنامهنویسی: درک تفاوتهای کلیدی بین حالت ویرایش (Edit) و حالت پرسش (Ask)
Programming: Understanding the Key Differences Betwwen Edit Mode and Ask Mode
برنامهنویسی: کار با حالت Plan برای ارتقای یک کدبیس
Programming: Working with Plan Mode to Upgrade a Codebase
برنامهنویسی: کار با حالت Plan برای ارتقای کدبیس (بخش دوم)
Programming: Working with Plan Mode to Upgrade a Codebase(Pt.2)
برنامهنویسی: اجرای بهروزرسانی کد در چندین فایل با حالت Agent
Programming: Running Multi-File Code Update With Agent Mode
توسعه درون-خطی (Inline) با کمک AI
Inline AI-Assisted Development
برنامهنویسی: مروری بر تکمیل خودکار کد (Inline Completion)
Programming: Overview of Inline Code Completion
برنامهنویسی: تولید سورسکد به صورت درون-خطی بدون پنل چت
Programming: Generating Sourcecode Inline Without the Chat Panel
برنامهنویسی: پیکربندی پیشنهادات درون-خطی برای زبانها و فایلهای خاص
Programming: Configuring Inline Suggestions for Specific Languages and Files
برنامهنویسی: بازبینی و تست سورسکد تولید شده
Programming: Review and Testing the Generated Sourcecode
هدایت LLM با استفاده از میانبرها
Instructing the LLM Using Shortcuts
برنامهنویسی: دستور به LLM برای توضیح یک بلوک کد به صورت درون-خطی
Programming: Instructing the LLM to Explain a Block of Code Inline
برنامهنویسی: دستور به LLM برای بازبینی یک بلوک کد به صورت درون-خطی
Programming: Instructing the LLM to Review a Block of Code Inline
برنامهنویسی: دستور به LLM برای تولید مستندات برای یک بلوک کد
Programming: Instructing the LLM to Generate Docs for a Block of Code
برنامهنویسی: محدود کردن محدوده دستورات به LLM
Programming: Scoping the Instructions to the LLM
فراخوانی دستورات و ابزارها
Invoking Commands and Tools
برنامهنویسی: فراخوانی دستورات کاربردی در پنل چت
Programming: Invoking Useful Commands in the Chat Panel
برنامهنویسی: فراخوانی ابزارهایی مانند جستجوی وب با نماد هش (#)
Programming: Invoking Tools Like Web Search with the Hash Symbol
برنامهنویسی: افزودن فایلهای مستندات خارجی به کانتکست چت
Programming: Adding External Documentation Files to the Chat Context
پیکربندی محیط توسعه AI-Assisted
Configuring the AI-Assisted Development Environment
برنامهنویسی: تغییر مدل زبانی برای قابلیت تکمیل کد
Programming: Changing the Large Language Model for Code Completion Functionality
برنامهنویسی: تنظیم اکستنشن برای قابلیتهای Vibe Coding
Programming: Setting Up the Extension for Vibe Coding Capabilities
برنامهنویسی: افزودن دستورات سفارشی برای تولید کد
Programming: Adding Custom Instructions for Code Generation
برنامهنویسی: دستور به LLM برای تولید دستورات سفارشی
Programming: Instructing the LLM to Generate Custom Instructions
Embedded Firmware Engineer نام من اسرائیل است ، من بیش از 7 سال است که در فضای سیستم جاسازی شده تحقیق و کار می کنم. در Udemy ده ها هزار دانش آموز در سیستم های جاسازی شده با تمرکز بر موضوعاتی مانند برنامه نویسی Assembly ، طراحی سیستم عامل های زمان واقعی ، توسعه سیستم عامل و پردازش سیگنال دیجیتال آموزش داده ام. من قادر به آموزش این مباحث هستم زیرا در کارهای روزمره مفاهیمی را از این مباحث استفاده می کنم. به یکی از دوره های من بپیوندید و ببینید چطور پیش می رود. همیشه می توانید درخواست بازپرداخت کنید.
نمایش نظرات