امبدد راست Embedded Rust
آماده سازی
نصب و پیکره بندی ابزار لازم - آماده سازی سخت افزار - آماده سازی محیط تست و امولاتور
معرفی ابزارهای مورد نیاز
نصب ابزارهای مورد نیاز
نصب ابزارهای مورد نیاز برای لینوکس Linux
نصب ابزارهای مورد نیاز برای ویندوز Windows
صحت سنجی ابزار نصب شده
شروع به برنامه نویسی و کار
شروع به برنامه نویسی سیستم های نهفته و اجرای اولین برنامه روی برد
پیاده سازی برنامه 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
چرا از زبان برنامه نویسی راست برای میکروکنترلرها و امبدد استفاده کنیم Embedded Rust
در این ویدئو به بررسی دلایل و مزیت های استفاده از زبان برنامه نویسی راست برای میکرونترلرها می پردازیم :
Embedded Rust:
Cross Hardware Platform
Complying
Well Designed
Reliable
Efficient
Productivity
Tools
HAL
System Programming
Undefined Behaviour Handling
هیچ پیوستی یافت نشد