План на курса
Начало с вградено Rust
- Обзор на no_std, core и екосистемата на вградено Rust
- Избор на цел и разбиране на тройни цели
- Настройка на rustup, cargo и целеви инструментални вериги
Инструменти, Създаване и отстраняване на грешки в процес
- Използване на cargo, cargo-embed, probe-run и OpenOCD процес
- Записване и отстраняване на грешки с хардуерни проби (ST-Link, JLink)
- Разглеждане на CI при създаването на вградено Rust firmware
Абстракция на хардуера и достъп до периферни устройства
- Разбиране на свойствата на embedded-hal и шаблоните на драйверите
- Пакетни библиотеки за периферни устройства (PACs) и устройствени пакети (svd2rust)
- Писане и използване на HAL драйвери и пакети с поддръжка на платки (BSCs)
Безопасност на паметта, съвместна работа и реално време
- Безопасни шаблони за споделено състояние и променими референции в прекъсвания
- RTIC и други модели за съвместна работа за системи в реално време
- Хеп срещу стек, алокатори и избегване на динамично алокация
Отстраняване на грешки, тестване и надежност
- Шаблони за отстраняване на грешки в ограничени среди
- Единично тестване на хост срещу интеграционно тестване на хардуер
- Анализ на грешки, логване и постмортемни стратегии
Производителност, енергия и оптимизация на ресурси
- Бенчмарк, измерване и оптимизация на топови пътища
- Техники за намаляване на кодов размер и скриптове за линкер
- Стратегии за управление на енергията и дизайн патрони с ниска енергия
Разпространение, сигурност и най-добри практики на екосистемата
- Сигурен старт, подписване на firmware и стратегии за обновяване
- Разглеждане на цепочката за доставка и управление на зависимости
- Пътна карта за преход от C firmware към Rust и общински ресурси
Резюме и следващи стъпки
Изисквания
- Разбиране на основните концепции на Rust: собственост, заемане, продължителност
- Опит в писане на нетривиални Rust програми (интермедиален Rust)
- Запознатство с концепции за вградени системи: памет, управлявана от I/O, прекъсвания, периферия
Целева аудитория
- Инженери на вградени фърмуери, които искат да приемат Rust
- Софтуерни инженери с опит в Rust, прехождащи към ниско ниво системи
- Технически ръководители, оценяващи Rust за разработка на вградени продукти
Отзиви от потребители (5)
Отговаря на въпросите ми много добре обяснено.
Khaled Almarzooqi - Beamtrail
Курс - Circuits and Electronics Fundamentals
Машинен превод
Курсът беше заинтересуващ, а упражненията с участието на учащите бяха много интересни и можах да видя как ще бъдат прилагодими.
Temira Koenig - Yeshiva University
Курс - Raspberry Pi for Beginners
Машинен превод
Треньора да отговори на наши нужди
Eduardo Fontecha - ORMAZABAL PROTECTION & AUTOMATION S.L.U.
Курс - The Yocto Project - An Overview - hands-on
Машинен превод
Обучителят беше наистина любезен и знаещ, полагаше допълнителни усилия, за да ми обясни неща, които не знаех
Felix - Microchip Technology Inc
Курс - Embedded C Application Design Principles for Automotive Professionals
Машинен превод
Получването на полезни знания и разясняване на някои неща, на които не бях сигурен преди.
Kenneth Mahoney - University of Glasgow
Курс - Arduino: Programming a Microcontroller for Beginners
Машинен превод