22
Sarah Sharp Otter Tech 1 Otter CC-BY Amit Patel Small, smaller, smallest: A tour of the embedded world

Small, smaller, smallest: A Tour of the Embedded World

Embed Size (px)

Citation preview

Page 1: Small, smaller, smallest: A Tour of the Embedded World

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

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

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

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

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

Sarah SharpOtter Tech

6

Otter CC-BY Amit Patel

Linux kerneldevelopment is fun!

Page 7: Small, smaller, smallest: A Tour of the Embedded World

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

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

Sarah SharpOtter Tech

9

Otter CC-BY Amit Patel

Linux is… bloated!

Page 10: Small, smaller, smallest: A Tour of the Embedded World

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

Sarah SharpOtter Tech

11

Otter CC-BY Amit Patel

Cheapest Linux Computer - $9

Page 12: Small, smaller, smallest: A Tour of the Embedded World

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

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

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

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

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

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

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

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

Sarah SharpOtter Tech

20

Otter CC-BY Amit Patel

Page 21: Small, smaller, smallest: A Tour of the Embedded World

Sarah SharpOtter Tech

21

Otter CC-BY Amit Patel

IoT = embedded + connectivity + data

Page 22: Small, smaller, smallest: A Tour of the Embedded World

Sarah SharpOtter Tech

22

Otter CC-BY Amit Patel

Welcome to the embedded IoT world!

http://wiki.osdev.org