Kerangka Materi
Memulai dengan Embedded Rust
- Gambaran umum no_std, core, dan ekosistem embedded Rust
- Memilih target dan memahami target triples
- Mengatur rustup, cargo, dan toolchain target
Alat, Pembuatan & Debug Workflow
- Menggunakan cargo, cargo-embed, probe-run, dan workflow OpenOCD
- Melakukan flashing dan debugging dengan hardware probes (ST-Link, JLink)
- Pertimbangan CI untuk membangun firmware embedded Rust
Abstraksi Perangkat Keras dan Akses Peripheral
- Memahami trait embedded-hal dan pola driver
- Crate akses peripheral (PACs) dan crate perangkat (svd2rust)
- Menulis dan menggunakan HAL drivers dan crate dukungan papan (BSCs)
Keselamatan Memori, Konkurensi & Waktu Nyata
- Pola aman untuk state bersama dan referensi mutable dalam interupsi
- RTIC dan model konkurensi lainnya untuk sistem waktu nyata
- Penggunaan heap vs. stack, pengalokator, dan menghindari alokasi dinamis
Penanganan Kesalahan, Pengujian & Keterandalan
- Pola penanganan kesalahan dalam lingkungan terbatas
- Unit testing di host vs. pengujian integrasi pada perangkat keras
- Analisis kesalahan, logging, dan strategi post-mortem
Performa, Daya & Optimalisasi Sumber Daya
- Benchmarking, pengukuran, dan optimasi jalur panas (hot paths)
- Teknik reduksi ukuran kode dan skrip linker
- Strategi manajemen daya dan pola desain daya rendah
Penyebaran, Keamanan & Praktik Terbaik Ecosistem
- Boot aman, penandatanganan firmware, dan strategi pembaruan
- Pertimbangan rantai pasokan dan manajemen dependensi
- Rencana migrasi firmware C ke Rust dan sumber daya komunitas
Ringkasan dan Langkah Selanjutnya
Persyaratan
- Pemahaman tentang konsep inti Rust: kepemilikan, peminjaman, waktu hidup (lifetimes)
- Pengalaman menulis program Rust yang tidak sederhana (Rust tingkat lanjut)
- Keterampilan dengan konsep embedded: I/O pemetaan memori, interrupt, periferal
Audience
- Insinyur firmware embedded yang ingin beralih ke Rust
- Insinyur perangkat lunak dengan pengalaman Rust yang berpindah ke sistem tingkat rendah
- Pemimpin teknis yang mengevaluasi Rust untuk pengembangan produk embedded
Testimoni (5)
Dia menjawab pertanyaan saya dengan sangat jelas.
Khaled Almarzooqi - Beamtrail
Kursus - Circuits and Electronics Fundamentals
Diterjemahkan Mesin
Sean adalah seorang pembicara yang dinamis dan latihan praktiknya sangat menarik. Saya dapat melihat bagaimana latihan tersebut akan sangat relevan untuk diterapkan.
Temira Koenig - Yeshiva University
Kursus - Raspberry Pi for Beginners
Diterjemahkan Mesin
Bahwa pelatih menyesuaikan diri dengan kebutuhan kami
Eduardo Fontecha - ORMAZABAL PROTECTION & AUTOMATION S.L.U.
Kursus - The Yocto Project - An Overview - hands-on
Diterjemahkan Mesin
Instruktur sangat baik dan berpengetahuan luas, berusaha ekstra untuk menjelaskan hal-hal yang saya tidak ketahui
Felix - Microchip Technology Inc
Kursus - Embedded C Application Design Principles for Automotive Professionals
Diterjemahkan Mesin
Pemperolehan pengetahuan bermanfaat dan klarifikasi beberapa hal yang sebelumnya saya tidak yakin.
Kenneth Mahoney - University of Glasgow
Kursus - Arduino: Programming a Microcontroller for Beginners
Diterjemahkan Mesin