Terima kasih telah mengirimkan pertanyaan Anda! Salah satu anggota tim kami akan segera menghubungi Anda.
Terima kasih telah mengirimkan pemesanan Anda! Salah satu anggota tim kami akan segera menghubungi Anda.
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
14 Jam
Testimoni (1)
Dapat meminta subjek tingkat lanjut meskipun awalnya tidak direncanakan.
Gabriel Chouinard - Spark Microsystems
Kursus - FreeRTOS: Programming for Real Time Operating Systems
Diterjemahkan Mesin