Programming The Arduino Due in Rust
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Programming The Arduino Due in Rust

  • 1,470 views
Uploaded on

Slides from my talk at GlueCon '14 about programming an Arduino Due in Rust, and about using Rust for embedded or IoT applications.

Slides from my talk at GlueCon '14 about programming an Arduino Due in Rust, and about using Rust for embedded or IoT applications.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,470
On Slideshare
1,390
From Embeds
80
Number of Embeds
4

Actions

Shares
Downloads
2
Comments
0
Likes
0

Embeds 80

http://www.slideee.com 42
https://community.spark.io 23
http://community.spark.io 12
http://www.slidesearchengine.com 3

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Rust on Arduino Due Tim Kellogg @kellogh
  • 2. 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
  • 3. • 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)
  • 4. CPU Power? Battery Life? Quality?
  • 5. Ariane 5 https://www.youtube.com/watch?v=kYUrqdUyE pI
  • 6. "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"
  • 7. • Buffer overflow • Unsafe casting • Race conditions between tasks
  • 8. C binding generator: https://github.com/crabtw/rust-bindgen
  • 9. Remaining Issues • Heap allocations • Interrupts as Tasks • Non-trivial language features
  • 10. Book: Practical Internet of Things @kellogh