Mulțumim pentru trimiterea solicitării! Un membru al echipei noastre vă va contacta în curând.
Mulțumim pentru trimiterea rezervării! Un membru al echipei noastre vă va contacta în curând.
Schița de curs
Introducere în Rust embedded
- Prezentare generală a ecosistemului no_std, core și Rust embedded
- Alegerea unei ținte și înțelegerea target triple-urilor
- Configurarea rustup, cargo și a toolchain-urilor pentru țintă
Tooling, flux de build și debug
- Utilizarea fluxurilor de lucru cargo, cargo-embed, probe-run și OpenOCD
- Flashing și debugging cu sonde hardware (ST-Link, JLink)
- Considerații CI pentru build-ul firmware-ului Rust embedded
Abstractizare hardware și acces la periferice
- Înțelegerea trăsăturilor embedded-hal și a modelelor de drivere
- Crate-uri de acces la periferice (PAC) și crate-uri de dispozitiv (svd2rust)
- Scrierea și utilizarea driverelor HAL și a crate-urilor de suport pentru plăci (BSC)
Siguranța memoriei, concurență și timp real
- Modele sigure pentru stare partajată și referințe mutabile în întreruperi
- RTIC și alte modele de concurență pentru sisteme în timp real
- Utilizarea heap vs. stack, alocatori și evitarea alocării dinamice
Gestionarea erorilor, testare și fiabilitate
- Modele de gestionare a erorilor în medii cu constrângeri
- Testare unitară pe host vs. testare de integrare pe hardware
- Analiza defectelor, logging și strategii post-mortem
Optimizarea performanței, consumului și resurselor
- Benchmarking, măsurare și optimizarea căilor fierbinți
- Tehnici de reducere a dimensiunii codului și linker scripts
- Strategii de gestionare a energiei și modele de design pentru consum redus
Deployment, securitate și bune practici în ecosistem
- Secure boot, semnarea firmware-ului și strategii de update
- Considerații legate de supply-chain și gestionarea dependențelor
- Foaie de parcurs pentru migrarea firmware-ului C la Rust și resurse ale comunității
Rezumat și pașii următori
Cerințe
- Înțelegerea conceptelor de bază din Rust: ownership, borrowing, lifetimes
- Experiență în scrierea de programe Rust non-triviale (Rust intermediar)
- Familiaritate cu concepte embedded: I/O mapat în memorie, întreruperi, periferice
Public țintă
- Ingineri de firmware embedded care doresc să adopte Rust
- Ingineri software cu experiență în Rust care fac tranziția către sisteme de nivel scăzut
- Lideri tehnici care evaluează Rust pentru dezvoltarea de produse embedded
14 Ore
Mărturii (1)
Posibilitatea de a solicita subiecte avansate chiar dacă acestea nu au fost planificate inițial.
Gabriel Chouinard - Spark Microsystems
Curs - FreeRTOS: Programming for Real Time Operating Systems
Tradus de catre o masina