Rust on Arduino Due Tim Kellogg @kellogh
Jan 28, 2015
Rust on Arduino Due
Tim Kellogg@kellogh
Source: https://github.com/tkellogg/dueboot
Getting started on OSX:• http://arduino.cc/en/Guide/ArduinoDue• brew install rust• brew install llvm --all-targets• edit Rakefile of dueboot repository
• As fast as C/C++• No manual memory management, no GC• Functional goodies• Built-in unit testing• Polymorphism (but no inheritance)• Compiles to ARM (Android, Raspberry Pi, Due)
CPU Power?
Battery Life?
Quality?
Ariane 5
https://www.youtube.com/watch?v=kYUrqdUyEpI
"We've demonstrated how as little as a single bit flip can cause the driver to lose control of the engine speed in real cars due to software malfunction that is not reliably detected by any fail-safe"
• Buffer overflow• Unsafe casting• Race conditions between tasks
C binding generator:https://github.com/crabtw/rust-bindgen
Remaining Issues• Heap allocations• Interrupts as Tasks• Non-trivial language features
Book: Practical Internet of Things
@kellogh