Kursplan
Introduksjon til utvikling av innebyggede systemer
- Hva er innebyggede systemer?
- Ufordel og overvegelser i utvikling av innebyggede systemer
- Introduksjon til Rust for innebyggede systemer
Oppsett av utviklingsmiljøet
- Installasjon av Rust for utvikling av innebyggede systemer
- Konfigurering av utviklingsverktøy og -miljø
- Utforskning av utviklingsplattformer og mikrokontrollerere for innebyggede systemer
Grunnleggende elementer i Rust for innebyggede systemer
- Oversikt over Rust-syntaks og konsepter relevante for innebyggede systemer
- Minnebehandling og eierskap i utvikling av innebyggede systemer med Rust
- Behandling av avbrytelser og lavnivåprogrammering med Rust
Arbeid med periferaler og enhetsdrivere
- Interfacering med GPIO (Generelt formål inn- og utgang) pinner
- Tidtak, tellere og PWM (Pulsbredde-modulasjon)
- UART (Universell asynkron mottaker-sender) kommunikasjon
- SPI (Serie periferaldgrenseflate) og I2C (Inter-Integrated Circuit) protokoller
Konkurranse og sanntidprogrammering
- Multitasking og konkurranse i innebyggede systemer
- Synkroniseringsmekanismer for sanntidskrav
- Sanntidsplanlegging og oppgaveprioritering i Rust
Lavnivåabstraksjoner og hardvaretilgang
- Arbeid med minnekartlagte register og direkte hardvaretjenester
- Bruk av HAL (Hardvareabstraksjonslag) biblioteker i Rust
- Implementering av lavnivåabstraksjoner for effektiv hardverkontroll
Feilsøking og testing av innebyggede applikasjoner
- Feilsøkningsteknikker og verktøy for innebyggede systemer
- Enhetstesting og integrasjonstesting av innebyggede applikasjoner
- Profilering og optimalisering av innebygget kode
Strømforbrukshåndtering og teknikker for lavt strømforbruk
- Teknikker for håndtering av strømforbruk i innebyggede systemer
- Optimalisering av kode for lavt strømforbruk
Sikkerhetshensyn og sikker programmering
- Minnesikkerhet og sikre kodepraksiser i innebyggede systemer
- Feilhåndtering og feiltolerans i Rust for innebyggede systemer
- Sikre kommunikasjonsprotokoller og kryptografi i innebyggede applikasjoner
Oppsummering og neste steg
Krav
- Grunnleggende forståelse av programmeringskonsepter
- Kjennskap til et programmeringsspråk (som C eller C++)
- Kunnskap om mikrokontrollerere og deres periferaler
- Generell forståelse av utvikling av innebyggede systemer
Målgruppe
- Utviklere
- Innebyggede systemer ingeniører
Referanser (2)
Være i stand til å be om avanserte emner selv om de ikke var planlagt fra starten.
Gabriel Chouinard - Spark Microsystems
Kurs - FreeRTOS: Programming for Real Time Operating Systems
Maskinoversatt
Instruktørens presentasjon og måte å kommunisere på.
Gianpiero Arico - Urmet Spa
Kurs - Embedded Linux Systems Architecture
Maskinoversatt