Microcontrolleur de référence
Autre listing
FEATURES/OS | “Baremetal” | FreeRTOS | ARM Mbed | RIOT | Linux | Contiki | TinyOS | Nucleus OS |
---|---|---|---|---|---|---|---|---|
RT | ~ | v | v | v | ~ | v | ||
HAL | ~ | (freertoshal.github.io)[http://freertoshal.github.io/] | v | v | ||||
Modulaire | ~ | ? | v | v | v | ? | ||
Multi-thread | ~ | v | X (event-driven) | v | v | |||
C | ~ | v | v | v | ~ | |||
C++ | ~ | ? | v | v | ||||
min ROM | ~ | ? < 5-10ko ? | ~1.5ko | ~1mo | <2ko | <1ko | ? | |
min RAM | ~ | <1ko | ~5ko | ~1mo | <2ko | <1kb | ? | |
Lib Bacnet | bacnet-stack MS/TP, TODO | bacnet-stack MS/TP + I/P TODO uBacStack | ? | ? | ? | ? | ? | |
Lib SSL | ? WolfSSL ? | WolfSSL | WolfSSL (alpha) | wolfssl, openssl, openssh, … | ? | WolfSSL | WolfSSL | |
Lib CoAP | ? | ? | nanocoap, gcoap, lib-coap | lib-coap | lib-coap | ? | ? | |
Licence | MIT | LGPLv2.1 |
task.c
&task.h
queue.c
&queue.h
vTaskResume() called
vTaskSuspend() called
vTaskSuspend() called
event
vTaskSuspend() called
suspended
Ready
Running
Blocked
PORTs | Compilateur |
---|---|
ATMEL SAMD20 | Atmel Studio + GCC |
Kinetis ARM Cortex-M0+ | GCC - Eclise - CodeWarrior |
XMC1000 ARM Cortex-M0 | IAR, Keil and GCC (using Atollic Eclipse project) |
NXP LPC1114 LPCXpresso | GCC, LPCXpresso IDE |
STM32F0 ARM Cortex-M0 | IAR |
Choosing the right RTOS for IOT plaform{: target="_blank"}
Critères importants
- Modularité
- Connectivité et interopérabilité, ex : POSIX
TinyOS et Contiki : non temps réels, très utilisés dans les réseaux de capteurs sans fils. FreeRTOS : pas de HAL … RIOT mise en avant pour sa programmiblité, efficacité énergétique. Référence à des librairies intégrées don CBOR qui pourrait concurrencer/supplenter le WOD http://cbor.io
Un format compact d’échange pour remplacer JSON dans des projets IoT, normé par l’IEFT.