small, smaller, smallest: a tour of the embedded world
TRANSCRIPT
![Page 1: Small, smaller, smallest: A Tour of the Embedded World](https://reader033.vdocuments.us/reader033/viewer/2022042723/5882626f1a28abd40e8b6fc9/html5/thumbnails/1.jpg)
Sarah SharpOtter Tech
1
Otter CC-BY Amit Patel
Small, smaller, smallest:A tour of the embedded world
![Page 2: Small, smaller, smallest: A Tour of the Embedded World](https://reader033.vdocuments.us/reader033/viewer/2022042723/5882626f1a28abd40e8b6fc9/html5/thumbnails/2.jpg)
Sarah SharpOtter Tech
2
Otter CC-BY Amit Patel
Agenda
● Systems programmer● Embedded Linux● Real-time Linux● Arduino● Real-time operating systems● Embedded without C
![Page 3: Small, smaller, smallest: A Tour of the Embedded World](https://reader033.vdocuments.us/reader033/viewer/2022042723/5882626f1a28abd40e8b6fc9/html5/thumbnails/3.jpg)
Sarah SharpOtter Tech
3
Otter CC-BY Amit Patel
How I became asystems programmer
![Page 4: Small, smaller, smallest: A Tour of the Embedded World](https://reader033.vdocuments.us/reader033/viewer/2022042723/5882626f1a28abd40e8b6fc9/html5/thumbnails/4.jpg)
Sarah SharpOtter Tech
4
Otter CC-BY Amit Patel
System software “mindset”
● Reproducibility is hard● Need to unlearn “bad habits”
![Page 5: Small, smaller, smallest: A Tour of the Embedded World](https://reader033.vdocuments.us/reader033/viewer/2022042723/5882626f1a28abd40e8b6fc9/html5/thumbnails/5.jpg)
Sarah SharpOtter Tech
5
Otter CC-BY Amit Patel
Linux KernelDebugging Challenges
● Debugger?● Function tracing?● Logging?● Printks?● “Gut instinct”?
CC-BY-NC-ND neuro https://www.flickr.com/photos/neuro/1052723/
![Page 6: Small, smaller, smallest: A Tour of the Embedded World](https://reader033.vdocuments.us/reader033/viewer/2022042723/5882626f1a28abd40e8b6fc9/html5/thumbnails/6.jpg)
Sarah SharpOtter Tech
6
Otter CC-BY Amit Patel
Linux kerneldevelopment is fun!
![Page 7: Small, smaller, smallest: A Tour of the Embedded World](https://reader033.vdocuments.us/reader033/viewer/2022042723/5882626f1a28abd40e8b6fc9/html5/thumbnails/7.jpg)
Sarah SharpOtter Tech
7
Otter CC-BY Amit Patel
Linux on a Rocket
CC-BY-NC-SA Sarah Sharp https://www.flickr.com/photos/saharabeara/14708892832/CC-BY-NC Pat Joyce https://www.flickr.com/photos/phatcontroller/7467606368/
![Page 8: Small, smaller, smallest: A Tour of the Embedded World](https://reader033.vdocuments.us/reader033/viewer/2022042723/5882626f1a28abd40e8b6fc9/html5/thumbnails/8.jpg)
Sarah SharpOtter Tech
8
Otter CC-BY Amit Patel
Real-time Linux
● Deterministic● Critical software isn't interrupted● RT Linux kernel is pre-emptible
![Page 9: Small, smaller, smallest: A Tour of the Embedded World](https://reader033.vdocuments.us/reader033/viewer/2022042723/5882626f1a28abd40e8b6fc9/html5/thumbnails/9.jpg)
Sarah SharpOtter Tech
9
Otter CC-BY Amit Patel
Linux is… bloated!
![Page 10: Small, smaller, smallest: A Tour of the Embedded World](https://reader033.vdocuments.us/reader033/viewer/2022042723/5882626f1a28abd40e8b6fc9/html5/thumbnails/10.jpg)
Sarah SharpOtter Tech
10
Otter CC-BY Amit Patel
Linux is… bloated!
Linux Weekly News: https://lwn.net/Articles/608945/
![Page 11: Small, smaller, smallest: A Tour of the Embedded World](https://reader033.vdocuments.us/reader033/viewer/2022042723/5882626f1a28abd40e8b6fc9/html5/thumbnails/11.jpg)
Sarah SharpOtter Tech
11
Otter CC-BY Amit Patel
Cheapest Linux Computer - $9
![Page 12: Small, smaller, smallest: A Tour of the Embedded World](https://reader033.vdocuments.us/reader033/viewer/2022042723/5882626f1a28abd40e8b6fc9/html5/thumbnails/12.jpg)
Sarah SharpOtter Tech
12
Otter CC-BY Amit Patel
Linux is too expensive!
CC-BY Bit Boy https://en.wikipedia.org/wiki/Electronic_shelf_label#/media/File:Today%27s_price_for_tea_is..._(96552109).jpg
![Page 13: Small, smaller, smallest: A Tour of the Embedded World](https://reader033.vdocuments.us/reader033/viewer/2022042723/5882626f1a28abd40e8b6fc9/html5/thumbnails/13.jpg)
Sarah SharpOtter Tech
13
Otter CC-BY Amit Patel
Arduino is still too expensive!
● $5 for LilyPad Twinkle
![Page 14: Small, smaller, smallest: A Tour of the Embedded World](https://reader033.vdocuments.us/reader033/viewer/2022042723/5882626f1a28abd40e8b6fc9/html5/thumbnails/14.jpg)
Sarah SharpOtter Tech
14
Otter CC-BY Amit Patel
Arduino
● Tutorials & forums● Build & debug IDE● Hardware abstraction
![Page 15: Small, smaller, smallest: A Tour of the Embedded World](https://reader033.vdocuments.us/reader033/viewer/2022042723/5882626f1a28abd40e8b6fc9/html5/thumbnails/15.jpg)
Sarah SharpOtter Tech
15
Otter CC-BY Amit Patel
Arduino is Embedded
● What is an embedded OS?– board-specific bring up
– hardware abstraction
– C or C++ → byte code
– flash board
![Page 16: Small, smaller, smallest: A Tour of the Embedded World](https://reader033.vdocuments.us/reader033/viewer/2022042723/5882626f1a28abd40e8b6fc9/html5/thumbnails/16.jpg)
Sarah SharpOtter Tech
16
Otter CC-BY Amit Patel
Arduino is Embedded
● What is an embedded OS?– board-specific bring up
– hardware abstraction
– C or C++ → byte code
– flash board
Contiki
![Page 17: Small, smaller, smallest: A Tour of the Embedded World](https://reader033.vdocuments.us/reader033/viewer/2022042723/5882626f1a28abd40e8b6fc9/html5/thumbnails/17.jpg)
Sarah SharpOtter Tech
17
Otter CC-BY Amit Patel
New Alternatives
● microPython● biosbits.org● Rust bindings to seL4● Zinc.rs● Rust-RTOS
![Page 18: Small, smaller, smallest: A Tour of the Embedded World](https://reader033.vdocuments.us/reader033/viewer/2022042723/5882626f1a28abd40e8b6fc9/html5/thumbnails/18.jpg)
Sarah SharpOtter Tech
18
Otter CC-BY Amit Patel
SmallestEmbedded Systems
● Do you need an OS?● Bare metal code
CC-BY-NC-SA G A R N E T https://www.flickr.com/photos/youraccount/4864286217/in/photostream/
![Page 19: Small, smaller, smallest: A Tour of the Embedded World](https://reader033.vdocuments.us/reader033/viewer/2022042723/5882626f1a28abd40e8b6fc9/html5/thumbnails/19.jpg)
Sarah SharpOtter Tech
19
Otter CC-BY Amit Patel
Embedded SystemsDebugging Challenges
● good: JTAG● bad: board may not boot :(● serial port output● bus protocol analyzers● oscilloscopes● blinking LEDs● pain of prototype → product
CC-BY-SA Keenan Pepper https://www.flickr.com/photos/keenanpepper/486011046
![Page 20: Small, smaller, smallest: A Tour of the Embedded World](https://reader033.vdocuments.us/reader033/viewer/2022042723/5882626f1a28abd40e8b6fc9/html5/thumbnails/20.jpg)
Sarah SharpOtter Tech
20
Otter CC-BY Amit Patel
![Page 21: Small, smaller, smallest: A Tour of the Embedded World](https://reader033.vdocuments.us/reader033/viewer/2022042723/5882626f1a28abd40e8b6fc9/html5/thumbnails/21.jpg)
Sarah SharpOtter Tech
21
Otter CC-BY Amit Patel
IoT = embedded + connectivity + data
![Page 22: Small, smaller, smallest: A Tour of the Embedded World](https://reader033.vdocuments.us/reader033/viewer/2022042723/5882626f1a28abd40e8b6fc9/html5/thumbnails/22.jpg)
Sarah SharpOtter Tech
22
Otter CC-BY Amit Patel
Welcome to the embedded IoT world!
http://wiki.osdev.org