a zephyr user story - elinux.org · proglove • first bare metal – hardware components dictated...

26
A Zephyr User Story Franco Saworski

Upload: others

Post on 24-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Zephyr User Story - eLinux.org · ProGlove • First bare metal – Hardware components dictated by product – Bare metal prototypes became product • Then port to Zephyr –

A Zephyr User Story

Franco Saworski

Page 2: A Zephyr User Story - eLinux.org · ProGlove • First bare metal – Hardware components dictated by product – Bare metal prototypes became product • Then port to Zephyr –

ProGlove

© Workaround GmbH, 2016© Workaround GmbH

Page 3: A Zephyr User Story - eLinux.org · ProGlove • First bare metal – Hardware components dictated by product – Bare metal prototypes became product • Then port to Zephyr –

ProGlove

© Workaround GmbH, 2016

• First bare metal

– Hardware components

dictated by product

– Bare metal prototypes

became product

© Workaround GmbH

Page 4: A Zephyr User Story - eLinux.org · ProGlove • First bare metal – Hardware components dictated by product – Bare metal prototypes became product • Then port to Zephyr –

ProGlove

© Workaround GmbH, 2016

• First bare metal

– Hardware components

dictated by product

– Bare metal prototypes

became product

• Then port to Zephyr

– Externalize build system

– Abstract architecture

– Modular board support

© Workaround GmbH

Page 5: A Zephyr User Story - eLinux.org · ProGlove • First bare metal – Hardware components dictated by product – Bare metal prototypes became product • Then port to Zephyr –

ProGlove• First bare metal

– Hardware components

dictated by product

– Bare metal prototypes

became product

• Then port to Zephyr

– Externalize build system

– Abstract architecture

– Modular board support

• From prototype to CE in twelve,

later nine months

© Workaround GmbH, 2016© Workaround GmbH

Page 6: A Zephyr User Story - eLinux.org · ProGlove • First bare metal – Hardware components dictated by product – Bare metal prototypes became product • Then port to Zephyr –

blik

Images © blik GmbH, 2018

Page 7: A Zephyr User Story - eLinux.org · ProGlove • First bare metal – Hardware components dictated by product – Bare metal prototypes became product • Then port to Zephyr –

blik

• Zephyr on the sensor unit from day one

• From prototype to CE in six months

Images © blik GmbH, 2018

Page 8: A Zephyr User Story - eLinux.org · ProGlove • First bare metal – Hardware components dictated by product – Bare metal prototypes became product • Then port to Zephyr –

Lessons Learnt• Four years shipping industry grade products with small teams in startups

• First job bare metal

– Did not scale

– Reinventing the wheel

Page 9: A Zephyr User Story - eLinux.org · ProGlove • First bare metal – Hardware components dictated by product – Bare metal prototypes became product • Then port to Zephyr –

Lessons Learnt• Four years shipping industry grade products with small teams in startups

• First job bare metal

– Did not scale

– Reinventing the wheel

• Then port to Zephyr

– Ported too many legacy dependencies

– Did not upstream enough custom code

Page 10: A Zephyr User Story - eLinux.org · ProGlove • First bare metal – Hardware components dictated by product – Bare metal prototypes became product • Then port to Zephyr –

Lessons Learnt• Four years shipping industry grade products with small teams in startups

• First job bare metal

– Did not scale

– Reinventing the wheel

• Then port to Zephyr

– Ported too many legacy dependencies

– Did not upstream enough custom code

Page 11: A Zephyr User Story - eLinux.org · ProGlove • First bare metal – Hardware components dictated by product – Bare metal prototypes became product • Then port to Zephyr –

Lessons Learnt• Four years shipping industry grade products with small teams in startups

• First job bare metal

– Did not scale

– Reinventing the wheel

• Then port to Zephyr

– Ported too many legacy dependencies

– Did not upstream enough custom code

• Second job native Zephyr

– Still not upstreaming enough

– Using off the shelf components where possible

– Sticking them together with Zephyr

Page 12: A Zephyr User Story - eLinux.org · ProGlove • First bare metal – Hardware components dictated by product – Bare metal prototypes became product • Then port to Zephyr –

Lessons Learnt• Four years shipping industry grade products with small teams in startups

• First job bare metal

– Did not scale

– Reinventing the wheel

• Then port to Zephyr

– Ported too many legacy dependencies

– Did not upstream enough custom code

• Second job native Zephyr

– Still not upstreaming enough

– Using off the shelf components where possible

– Sticking them together with Zephyr

Page 13: A Zephyr User Story - eLinux.org · ProGlove • First bare metal – Hardware components dictated by product – Bare metal prototypes became product • Then port to Zephyr –

Requirements

Page 14: A Zephyr User Story - eLinux.org · ProGlove • First bare metal – Hardware components dictated by product – Bare metal prototypes became product • Then port to Zephyr –

Requirements

Product

• Fast prototypes

• Fast iterations

• Fast to market

Page 15: A Zephyr User Story - eLinux.org · ProGlove • First bare metal – Hardware components dictated by product – Bare metal prototypes became product • Then port to Zephyr –

Requirements

Product

• Fast prototypes

• Fast iterations

• Fast to market

• Low resources

• Growing feature backlog

Page 16: A Zephyr User Story - eLinux.org · ProGlove • First bare metal – Hardware components dictated by product – Bare metal prototypes became product • Then port to Zephyr –

Requirements

Product

• Fast prototypes

• Fast iterations

• Fast to market

• Low resources

• Growing feature backlog

Development

• Solid build system

• Solid architecture

• Solid interfaces

• Solid ecosystem

Page 17: A Zephyr User Story - eLinux.org · ProGlove • First bare metal – Hardware components dictated by product – Bare metal prototypes became product • Then port to Zephyr –

Requirements

Product

• Fast prototypes

• Fast iterations

• Fast to market

• Low resources

• Growing feature backlog

Development

• Solid build system

• Solid architecture

• Solid interfaces

• Solid ecosystem

• Community

• Standards

Page 18: A Zephyr User Story - eLinux.org · ProGlove • First bare metal – Hardware components dictated by product – Bare metal prototypes became product • Then port to Zephyr –

The RTOS choice

• Hardware Support

• Toolchain

• Testing

• APIs / Interfaces

• Drivers

• Application libraries

• License

Page 19: A Zephyr User Story - eLinux.org · ProGlove • First bare metal – Hardware components dictated by product – Bare metal prototypes became product • Then port to Zephyr –

The RTOS choice

• Hardware Support

• Toolchain

• Testing

• APIs / Interfaces

• Drivers

• Application libraries

• License

• Zephyr

• mbedOS

• Contiki

• FreeRTOS

• (RiOT)

Page 20: A Zephyr User Story - eLinux.org · ProGlove • First bare metal – Hardware components dictated by product – Bare metal prototypes became product • Then port to Zephyr –

Looking back

• Zephyr meets all requirements

Page 21: A Zephyr User Story - eLinux.org · ProGlove • First bare metal – Hardware components dictated by product – Bare metal prototypes became product • Then port to Zephyr –

Looking back

• Zephyr meets all requirements

• It helped me ship products fast

Page 22: A Zephyr User Story - eLinux.org · ProGlove • First bare metal – Hardware components dictated by product – Bare metal prototypes became product • Then port to Zephyr –

Looking back

• Zephyr meets all requirements

• It helped me ship products fast

• I was able to maintain products with small teams

Page 23: A Zephyr User Story - eLinux.org · ProGlove • First bare metal – Hardware components dictated by product – Bare metal prototypes became product • Then port to Zephyr –

Looking back

• Zephyr meets all requirements

• It helped me ship products fast

• I was able to maintain products with small teams

• Its active community encourages participation

Page 24: A Zephyr User Story - eLinux.org · ProGlove • First bare metal – Hardware components dictated by product – Bare metal prototypes became product • Then port to Zephyr –

Looking back

• Zephyr meets all requirements

• It helped me ship products fast

• I was able to maintain products with small teams

• Its active community encourages participation

Page 25: A Zephyr User Story - eLinux.org · ProGlove • First bare metal – Hardware components dictated by product – Bare metal prototypes became product • Then port to Zephyr –

Thank you!Questions?

Join the monthly Munich Embedded Meetup:https://groups.io/g/embeddedmeetup

[email protected]

All pictures attribution free from https://pixabay.com unless indicated otherwise.

Page 26: A Zephyr User Story - eLinux.org · ProGlove • First bare metal – Hardware components dictated by product – Bare metal prototypes became product • Then port to Zephyr –