TockOS Hail: Difference between revisions
No edit summary |
|||
Line 45: | Line 45: | ||
| nRF51822 BLE Radio || 2.4 Ghz, 16/32 kB RAM, 128/256 kB || Das BLE (Bluetooth Low Energy) Radio ist in der Lage, zu anderen Geräten Bluetooth-Verbindungen aufzubauen. || [https://nsscprodmedia.blob.core.windows.net/prod/software-and-other-downloads/product-briefs/nrf51822-product-brief.pdf Dokumentation] |
| nRF51822 BLE Radio || 2.4 Ghz, 16/32 kB RAM, 128/256 kB || Das BLE (Bluetooth Low Energy) Radio ist in der Lage, zu anderen Geräten Bluetooth-Verbindungen aufzubauen. || [https://nsscprodmedia.blob.core.windows.net/prod/software-and-other-downloads/product-briefs/nrf51822-product-brief.pdf Dokumentation] |
||
|- |
|- |
||
| SI7021 Temperature and Humidity Sensor || |
| SI7021 Temperature and Humidity Sensor || - || Messung von Temperatur und Luftfeuchtigkeit || - |
||
|- |
|- |
||
| ISL29035 Light Sensor || Example || Example || Example |
| ISL29035 Light Sensor || Example || Example || Example |
||
Line 91: | Line 91: | ||
'''Ansteuerbare Pins''' |
'''Ansteuerbare Pins''' |
||
== BLE API für Rust == |
== BLE API für Rust == |
Revision as of 14:44, 7 October 2022
TockOS
Idee
Bei Tock handelt es sich um ein Betriebssystem für den Embedded-Bereich, welches u.a. Plattformen wie Cortex-M und RISCV unterstützt. Besonders dabei ist, dass dabei der Kernel als auch die Treiber in der Programmiersprache Rust geschrieben sind. Dabei werden die Speicherschutzmechanismen von Rust genutzt, um für Safety und Security innerhalb des Kernels aber auch der Anwendungen zu gewährleisten. Dabei sind 2 Techniken für den Speicherschutz besonders hervorzuheben:
1. Compile-Time Memory-Safety durch den Rust Compiler
2. Nutzung von Speicherschutzeinheiten um Anwendungen vom Kernel zu isolieren
Implementierungen
Insbesondere existieren bisher 2 Implementierung von Bibliotheken, welche eine Schnittstelle für die Anwendungsentwicklung in Tock zur Verfügung stellen. Zum einen die libtock-c, welche C-Bindings bereitstellt und die libtock-rs, welche direkt Rust-Bindings fr die Anwendungentwicklung bereitstellt.
Weitere Informationen zu Tock sind in der Dokumentation des Github Repositories von Tock zu finden.
Tockloader
libtock-c
libtock-rs
Hail Board
Komponenten des IoT-Boards
Das Tock Hail IoT-Development Board besitzt folgende Komponenten mit folgenden Funktionen:
Name | Spezifikation | Beschreibung | Technische Details |
---|---|---|---|
SAM4L Cortex-M4 | 48 - 120 Mhz, 32 - 160 kB RAM, 128-2048 kB Flash Memory | Microcontroller für sehr energiesparende Embedded-Systeme, Arm CPU, RISCV-Architektur | Dokumentation |
nRF51822 BLE Radio | 2.4 Ghz, 16/32 kB RAM, 128/256 kB | Das BLE (Bluetooth Low Energy) Radio ist in der Lage, zu anderen Geräten Bluetooth-Verbindungen aufzubauen. | Dokumentation |
SI7021 Temperature and Humidity Sensor | - | Messung von Temperatur und Luftfeuchtigkeit | - |
ISL29035 Light Sensor | Example | Example | Example |
FXOS8700CQ 6-axis Accelerometer and Magnetometer | Example | Example | Example |
RGB LED | Example | Example | Example |
User push-button | Example | Example | Example |
Photon Pinout
Label | Beschreibung |
---|---|
A0-A5 | Example |
DAC | Example |
WKP | Example |
RX | Example |
TX | Example |
GND | Example |
VIN | Example |
D0-D7 | Example |
3V3 | Example |
RST | Example |
VBAT | Example |
Ansteuerbare Pins
BLE API für Rust
TO-DO
1. GPIO Communication via external devices
2. BLE userland bindings