-46%
آموزش Embedded Rust
مرتضی نوروزی
آخرین بروزرسانی آبان 28, 1403
8 بار قبلاً ثبت نام کرده اید.
اهداف یادگیری
Rust برای میکروکنترلر
مفاهیم پایه ای و بنیادی در میکروکنترلرها
تغییر سطح نگرش و پیاده سازی برنامه های امبدد
نحوه دسترسی به تمام اجزا میکروکنترلرها از طریق زبان برنامه نویسی Rust
پیاده سازی برنامه های سطح بالا با زبان برنامه نویسی Rust برای میکروکنترلرها
استفاده از مفاهیم و ابزار های برنامه نویسی شی گرا یا object oriented در میکروکنترلرها با استفاده از زبان برنامه نویسی Rust
Bare Metal پروگرمینگ برای میکروکنترلرهای با استفاده از Rust
استفاده از کتابخانه های Std در میکروکنترلرها
استفاده از زبان برنامه نویسی C در کنار زبان برنامه نویسی Rust
Material Includes
- ویدئوهای آموزشی به همراه توضیحات متتنی :
- شناخت میکروکنترلرها و سیستم های امبدد .
- نصب ابزار لازم
- کار با ساختارهای Memory-mapped و نحوه ارتباط برنامه با میکروکنترلر
- کار با پریفرال های ,UART,,I2C,GPIO,ADC,,SYSTICK,
- کار با تعدادی از نمایشگر های رایج ارتباط سریال و کاراکتری
- کار با وقفه ها Interrupt و exception ها
- استفاده از شبیه ساز برای تست برنامه ها
- دیباگ کردن برنامه ها روی میکروکنترلر
- مفهوم پنیک و ارتباط با خطاهای سمت میکروکنترلر panic
- *********تمام قسمت ها به جز فصل آخر که بصورت هدیه در نظر گفته خواهد شد تکمیل شده و در حال بارگذاری هستند *********
- *********یک فصل در انتها به درخواست های پر تکرار کاربران اختصاص داده خواهد شد که در صورتی که موضوعی به تکرار درخواست شود بعد از بررسی به این فصل اضافه خواهد شد *********
Requirements
- دانش برنامه نویسی Rust و آشنایی با برخی مطالب مربوط به رشته الکترونیک ( مانند شناخت بعضی قطعات مانند ترانزیستور و مقاومت و ... ) برای این دوره الزامی می باشد .
مخاطبان هدف
- این آموزش برای افرادی که علاقه مند به زمینه امبدد و میکروکنترلرها هستند و یا پیش زمینه از زبان برنامه نویسی Rust دارند و علاقه دارند در زمینه های قابل استفاده از این دانش خود استفاده کنند تهیه شده است .
سرفصل ها
43 درس30 ساعت
امبدد راست Embedded Rust
آماده سازی
نصب و پیکره بندی ابزار لازم - آماده سازی سخت افزار - آماده سازی محیط تست و امولاتور
شروع به برنامه نویسی و کار
شروع به برنامه نویسی سیستم های نهفته و اجرای اولین برنامه روی برد
پیاده سازی برنامه hello_world روی برد
نصب شبیه ساز و اجرای اولین برنامه
Memory Mapped Registers
Semihosting
پنیک Panic شدن
Exceptions
Interrupt یا وقفه ها
پریفرال ها و ادوات جانبی
در این بخش به مفهوم و چیستی پریفرال ها و همچنین دسترسی به رجیستر ها و مقایسه با زبان Cو نجوه استفاده از کدهای C رابطه با barrow checker می پردازیم .
peripheral چیست ؟
اولین تلاش برای ارتباط با پریفرال ها در راست Rust
استفاده از Borrow Checker برای ارتباط با واحد های سخت افزاری
یکتایی یا Singleton
Rust راست و اطمینان سازی در امبدد سیستم ها
یکی از مزیت هایی که استفاده از راست در زمینه امبدد برامون داره اطمینان سازی از موارد ناخواسته هست . علاوه بر این با ساختارهایی که در اختیارمون قرار میده میتونه دیدمون نسبت به سخت افزار کمی بازتر کنه . که در این بخش پیرامون این موارد صحبت خواهیم کرد .
کاهش بررسی ها هنگام اجرای کد
State Machines
قراردادهای طراحی
ZST
قابلیت استفاده مجدد کدها روی سخت افزار های متنوع – همزمانی – مجموعه ها
یکی از دغدغه های همیشگی برنامه نویسان امبدد portable بودن و مستقل بودن از سکو هست . صرفه جویی در زمان برای پیاده سازی مجدد یک کد روی سخت افزار متفاوت از آرزوی های همیشگی این حوزه بوده و هست که این مهم با استفاده از راست بسیار آسان تر و بهینه تر انجام شده که در این بخش به شما آموزش میدهیم .
علاوه بر آن اجرای برنامه ها با دسترسی همزمان به منابع مشترک (حافظه و پریفرال ها ) نیز یکی دیگه از دغدغه های این حوزه هست .
همینطور داشتن ویژگی هایی برای آسان تر کار کردن در سیستم های نهفته مانند مجموعه ها .
که همه این موارد در این بخش پوشش داده خواهد شد.
HAL
همزمانی Concurrency بخش اول Global
همزمانی Concurrency بخش اول Critical Section
همزمانی Concurrency بخش اول Atomic
همزمانی Concurrency بخش اول Send , Sync , UnsafeCell
همزمانی Concurrency بخش اول Mutex
به اشتراک گذاری پریفرال ها در راست Rust (RefCell)
روش های جایگزین و دیگر راه حل ها
راه حل کم هزینه تر !
الگوهای طراحی – استفاده از بهترین روش های توسعه کد
احتمالا واژه Design Pattern براتون آشناست در این بخش یکی از موارد پر کاربرد در زبان Rust برای سیستم های نهفته رو بررسی میکنیم .
الگوی طراحی HAL
نکاتی برای برنامه نویسان زبان C
توضحیات و نکات مهمی برای برنامه نویسان زبان C
نکاتی که برنامه نویسان زبان C بهتر است هنگام کار با Rust بدانند .
استفاده از زبان برنامه نویسی C در زبان برنامه نویسی Rust و استفاده از زبان برنامه نویسی Rust در زبان برنامه نویسی C
در این بخش روش های مختلف استفاده از این دو زبان در یکدیگر را کار یاد خواهید گرفت . یعنی در هنگام پیاده سازی برنامه در زبان برنامه نویسی Rust از زبان برنامه نویسی C استفاده کنید و یا هنگام توسعه یک برنامه با استفاده از زبان برنامه نویسی C از زبان برنامه نویسی Rust در آن استفاده کنید .
چگونه از کدهای زبان برنامه نویسی C در زبان برنامه نویسی Rust استفاده کنیم .
چگونه از زبان برنامه نویسی Rust در زبان برنامه نویسی C استفاده کنیم .
بهینه کردن کد
یکی دیگه از دغدغه های برنامه نویسان در زبان های مختلف نوشتن کدهای بهینه و پرهیز از ایجاد دستورات اضافه هست که در این بخش این موارد پوشش داده خواهد شد .
سرعت یا حافظه ؟
توابع ریاضی در برنامه های no_std
کار با پریفرال GPIO
آموزش کار با GPIO در راست بر روی STM32
آموزش کار با GPIO در راست بر روی ESP32
آموزش کار با GPIO در راست بر روی NRF
آموزش کار با GPIO در راست بر روی Raspberry RP2040
آموزش کار با GPIO در راست با استفاده از میکروکنترلر Raspberry RP2040
آموزش کار با GPIO در راست با استفاده از میکروکنترلر STM32G070
آموزش کار با GPIO در راست با استفاده از میکروکنترلر NRF52832
آموزش کار با GPIO در راست با استفاده از میکروکنترلر ESP32
ارتباط سریال کار با UART در Rust
آموزش کار با UART در راست بر روی STM32
آموزش کار با UART در راست بر روی ESP32
آموزش کار با UART در راست بر روی NRF
آموزش کار با UART در راست بر روی Raspberry RP2040
آموزش ADC واحد آنالوگ به دیجیتال در Rust
آموزش ADC واحد آنالوگ به دیجیتال در Rust بر روی STM32
آموزش ADC واحد آنالوگ به دیجیتال در Rust بر روی NRF
آموزش ADC واحد آنالوگ به دیجیتال در Rust بر روی ESP32
آموزش ADC واحد آنالوگ به دیجیتال در Rust بر روی Raspberry RP2040
کار با سنسور اثر هال در Rust
آموزش کار با سنسور اثر هال در Rust بر روی STM32
آموزش کار با سنسور اثر هال در Rust بر روی NRF
آموزش کار با سنسور اثر هال در Rust بر روی ESP32
آموزش کار با سنسور اثر هال در Rust بر روی Raspberry pi RP2040
ارتباط سریال کار با I2C در Rust
آموزش کار با I2C در راست بر روی STM32
آموزش کار با I2C در راست بر روی ESP32
آموزش کار با I2C در راست بر روی NRF
آموزش کار با I2C در راست بر روی Raspberry RP2040
آموزش کار با I2C در راست بر روی LPC
کار با نمایشگر OLED در Rust
آموزش راه اندازی و استفاده نمایشگر OLED در Rust بر روی STM32
آموزش راه اندازی و استفاده نمایشگر OLED در Rust بر روی NRF
آموزش راه اندازی و استفاده نمایشگر OLED در Rust بر روی ESP32
آموزش راه اندازی و استفاده نمایشگر OLED در Rust بر روی Raspberry RP2040
−
آموزش راه اندازی و استفاده از − در راست بر روی STM32
آموزش راه اندازی و استفاده از − در راست بر روی ESP32
آموزش راه اندازی و استفاده از − در راست بر روی NRF
آموزش راه اندازی و استفاده از − در راست بر روی Raspberry RP2040
آموزش راه اندازی و استفاده از − در راست بر روی LPC
مدرس دوره
2,900,000 تومان5,400,000 تومان
Material Includes
- ویدئوهای آموزشی به همراه توضیحات متتنی :
- شناخت میکروکنترلرها و سیستم های امبدد .
- نصب ابزار لازم
- کار با ساختارهای Memory-mapped و نحوه ارتباط برنامه با میکروکنترلر
- کار با پریفرال های ,UART,,I2C,GPIO,ADC,,SYSTICK,
- کار با تعدادی از نمایشگر های رایج ارتباط سریال و کاراکتری
- کار با وقفه ها Interrupt و exception ها
- استفاده از شبیه ساز برای تست برنامه ها
- دیباگ کردن برنامه ها روی میکروکنترلر
- مفهوم پنیک و ارتباط با خطاهای سمت میکروکنترلر panic
- *********تمام قسمت ها به جز فصل آخر که بصورت هدیه در نظر گفته خواهد شد تکمیل شده و در حال بارگذاری هستند *********
- *********یک فصل در انتها به درخواست های پر تکرار کاربران اختصاص داده خواهد شد که در صورتی که موضوعی به تکرار درخواست شود بعد از بررسی به این فصل اضافه خواهد شد *********
دوره های مرتبط
آموزش Rust
2,500,000 تومان4,800,000 تومان