9. Microcontrôleurs si Ordinateurs
• Systèmes simple
• Control de matériel
• Vitesse petit
• Mémoire limité
• GPIO
• PWM
• ADC
• Travail avec un seul
programme
• Processeur normal
• Vitesse grand
• Beaucoup de mémoire
• GPIO
• Travail avec un système
d’exploitation
20. Raspberry Pi
$35
1000 MHz ARMv8, GPU
1 - 8 GB RAM
Compute Module
Beaglebone Black
$45
1 GHz ARM, GPU
512 MB RAM
4 GB Flash
Up Board
$120
1.84 GHz Intel Atom
1, 2 sau 4 GB RAM
Ordinateurs
21. UDOO Neo
$50
i.MX 6 Solo ARM, GPU
ARM M4
512 MB or 1 GB RAM
Parallella
$99
1 GHz Dual Core Zynq ARM
16 or 64 Epiphany CPUs
Intel® Galileo
$50
400 MHz Quark x86
256 MB RAM
Intel® Edison
$70
1 GHz Dual Core Atom x86
1 GB RAM
WiFi
BLE
4 GB Flash
Ordinateurs
22. Fonctions limité
• Floating Point Unit
– Soft Float – le compilateur fait la un simulation
– Hard Float – le compilateur écrit instructions pour
le FPU
• Exécutes par le SE si le FPU n’existe pas
23. Ecran
• Sans écran
– Router (interface web)
• Ecran texte
– POS
• Petit écran
– Machine à laver
• Ecran normal mais avec petit taille
– Cafetière
Ecran
24. Broches (pins)
• Broches Digitales
– Valeur LOW (0) ou HIGH
(1)
• Les broches sont
– Batteries (OUTPUT)
– Voltmètres (INPUT)
25. Sortie
• Les broches sont
équivalente d’un
batterie
– LOW – 0V
– HIGH – 5V, 3.3V or 1.8V
•25
29. SE pour les systèmes embarquées
• FreeRTOS
– AmazonRTOS
• Conitki OS
• RIOT OS
• Zephyr
• Tock
29
30. Tock
• Un système d'exploitation intégré préemptif (fonctionne
sur des MCUs)
– Cortex-M
– RISC-V
• Utilise la protection de la mémoire (MPU requis)
• A un noyau et un espace utilisateur séparés
– la plupart des systèmes d'exploitation embarqués ont la
philosophie du logiciel monobloc
• Exécute des applications non approuvées dans l'espace
utilisateur
• Noyau (et pilotes) écrits en Rust
• Applications écrites en C/C++ ou Rust (tout langage qui
pouvant être compilé)
32. Application (Process)
• Exécutable autonome
– compilé sans noyau Tock
• Protection de la mémoire
– Régions MPU
• Peut (seg)fault
• Code relocalisable
– où le compilateur le
permet
• IPC
– découverte de services
34. Tock exécutable
• Tock Binary Format
– TBF
– En-tête Tock avec exigences de mémoire et de
chargement
– binaire du processus
• Tock Application Bundle
– TAB
– plusieurs fichiers TBF pour plusieurs architectures
– ARM M0, M3, M4, RV32-IMAC and RV32-IMC
36. Tockloader
• Gérer les applications Tock
• Utilise des fichiers TAB
• Écrit en Python
• Nécessite une mise en œuvre pour plusieurs
cartes
• Petit App Store