softcrates embedded software

23

Upload: softcrates

Post on 17-Jul-2015

311 views

Category:

Software


0 download

TRANSCRIPT

0 1 0 0 1 1 1 1 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 1 1 1 0 w w w . s o f t c r a t e s . n e t 01010011 01001111 01010101 01010010 01000011 01000101

0 1 0 0 1 1 1 1 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 1 1 1 0 w w w . s o f t c r a t e s . n e t 01010011 01001111 01010101 01010010 01000011 01000101

Ope

n

Source Mainlining

Softw

are Embedded Enginee

ring

OUR PHILOSOPHY IS TO SHARE KNOWLEDGE

What does Softcrates do?Make software and hardware talk to each other.

Develop, extend and adjust OS (Linux Kernel).

0 1 0 0 1 1 1 1 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 1 1 1 0 w w w . s o f t c r a t e s . n e t 01010011 01001111 01010101 01010010 01000011 01000101

What doesn’t Softcrates do?

0 1 0 0 1 1 1 1 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 1 1 1 0 w w w . s o f t c r a t e s . n e t 01010011 01001111 01010101 01010010 01000011 01000101

Work with other OS’s (Windows, QNX...).

Develop applications.

[ ]*Embedded Systems have complex software

(*)Like any complex system, it can be split in smaller pieces to separate concerns.

0 1 0 0 1 1 1 1 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 1 1 1 0 w w w . s o f t c r a t e s . n e t 01010011 01001111 01010101 01010010 01000011 01000101

0 1 0 0 1 1 1 1 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 1 1 1 0 w w w . s o f t c r a t e s . n e t 01010011 01001111 01010101 01010010 01000011 01000101

Embedded Linux Software Stack.

Applications

Hardware

Framework(QT, GTK, etc.)

Middleware( rootfs, glibc, systemd etc...)

Operating System(Linux Kernel)

Bootloader(U-boot.)

0 1 0 0 1 1 1 1 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 1 1 1 0 w w w . s o f t c r a t e s . n e t 01010011 01001111 01010101 01010010 01000011 01000101

Embedded Linux Software Stack.

BSP (Board Support Package)

Applications

Hardware

Framework(QT, GTK, etc.)

Bootloader(U-boot.)

The part of the system depending on the software is known as BSP (Board Support Packages)

Middleware( rootfs, glibc, systemd etc...)

Operating System(Linux Kernel)

0 1 0 0 1 1 1 1 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 1 1 1 0 w w w . s o f t c r a t e s . n e t 01010011 01001111 01010101 01010010 01000011 01000101

The software used by applications is known as SDK (Software Develop Kit)

SDK (Software Development Kit)

Applications

Hardware

Framework(QT, GTK, etc.)

Bootloader(U-boot.)

Embedded Linux Software Stack.

Middleware( rootfs, glibc, systemd etc...)

Operating System(Linux Kernel)

0 1 0 0 1 1 1 1 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 1 1 1 0 w w w . s o f t c r a t e s . n e t 01010011 01001111 01010101 01010010 01000011 01000101

Different actors are interested in each layer of the Embedded Stack

Applications

Hardware

Framework(QT, GTK, etc.)

Bootloader(U-boot.)

Embedded Linux Ecosystems.

SDK developer

Applicationdeveloper

Original EquipmentManufacturer (OEM)

Original DesignManufacturer (ODM)

Middleware( rootfs, glibc, systemd etc...)

Operating System(Linux Kernel)

0 1 0 0 1 1 1 1 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 1 1 1 0 w w w . s o f t c r a t e s . n e t 01010011 01001111 01010101 01010010 01000011 01000101

Applications developers write applications so they are only interested in the framework provided.

Applications

Hardware

Bootloader(U-boot.)

Embedded Linux Ecosystems.

SDK developer

Original EquipmentManufacturer (OEM)

Original DesignManufacturer (ODM)

Middleware( rootfs, glibc, systemd etc...)

Operating System(Linux Kernel)

Framework(QT, GTK, etc.)

Applicationdeveloper

Framework(QT, GTK, etc.)

Applicationdeveloper

0 1 0 0 1 1 1 1 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 1 1 1 0 w w w . s o f t c r a t e s . n e t 01010011 01001111 01010101 01010010 01000011 01000101

SDK developers are interested in writing a framework that can be used by applications developers so only care about the middleware provided.

Applications

Hardware

Framework(QT, GTK, etc.)

Bootloader(U-boot.)

Embedded Linux Ecosystems.

Applicationdeveloper

Original EquipmentManufacturer (OEM)

Original DesignManufacturer (ODM)

Operating System(Linux Kernel)

SDK developerMiddleware( rootfs, glibc, systemd etc...)

SDK developerMiddleware( rootfs, glibc, systemd etc...)

0 1 0 0 1 1 1 1 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 1 1 1 0 w w w . s o f t c r a t e s . n e t 01010011 01001111 01010101 01010010 01000011 01000101

OEM wants to provide a base system for SDK developers so they are only interested in the BSP.Embedded Linux Ecosystems.

Applications

Framework(QT, GTK, etc.)

SDK developer

Applicationdeveloper

Original DesignManufacturer (ODM)

Middleware( rootfs, glibc, systemd etc...)

Original EquipmentManufacturer (OEM)Original EquipmentManufacturer (OEM)

Hardware

Bootloader(U-boot.)

Operating System(Linux Kernel)

Hardware

Bootloader(U-boot.)

Operating System(Linux Kernel)

0 1 0 0 1 1 1 1 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 1 1 1 0 w w w . s o f t c r a t e s . n e t 01010011 01001111 01010101 01010010 01000011 01000101

ODM wants to provide a hardware system that can be branded by OEM so they are interested in providing the hardware support (BSP) .

Embedded Linux Ecosystems.

Applications

Framework(QT, GTK, etc.)

SDK developer

Applicationdeveloper

Original EquipmentManufacturer (OEM)

Middleware( rootfs, glibc, systemd etc...)

Original DesignManufacturer (ODM)

Original DesignManufacturer (ODM)Hardware

Bootloader(U-boot.)

Operating System(Linux Kernel)

Hardware

Bootloader(U-boot.)

Operating System(Linux Kernel)

0 1 0 0 1 1 1 1 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 1 1 1 0 w w w . s o f t c r a t e s . n e t 01010011 01001111 01010101 01010010 01000011 01000101

In practice this separation of concerns is not always that easy. For example, an Application developer may need to care about all the layers if they have not been provided by the other parties.

Applications

Hardware

Embedded Linux Ecosystems.

SDK developer

Original EquipmentManufacturer (OEM)

Original DesignManufacturer (ODM)

Framework(QT, GTK, etc.)

Bootloader(U-boot.)

Applicationdeveloper

Middleware( rootfs, glibc, systemd etc...)

Operating System(Linux Kernel)

Framework(QT, GTK, etc.)

Bootloader(U-boot.)

Applicationdeveloper

Middleware( rootfs, glibc, systemd etc...)

Operating System(Linux Kernel)

0 1 0 0 1 1 1 1 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 1 1 1 0 w w w . s o f t c r a t e s . n e t 01010011 01001111 01010101 01010010 01000011 01000101

On the other hand, an ODM could provide the full stack to be sure that their platforms will be competitive and have an added value over the others.

Applications

Hardware

Embedded Linux Ecosystems.

SDK developer

Applicationdeveloper

Original EquipmentManufacturer (OEM)

Framework(QT, GTK, etc.)

Bootloader(U-boot.)

Original DesignManufacturer (ODM)

Middleware( rootfs, glibc, systemd etc...)

Operating System(Linux Kernel)

Framework(QT, GTK, etc.)

Bootloader(U-boot.)

Original DesignManufacturer (ODM)

Middleware( rootfs, glibc, systemd etc...)

Operating System(Linux Kernel)

0 1 0 0 1 1 1 1 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 1 1 1 0 w w w . s o f t c r a t e s . n e t 01010011 01001111 01010101 01010010 01000011 01000101

The Poky Build System can be used to provide a full stack image for Embedded Systems.

Applications

Hardware

Framework(QT, GTK, etc.)

Bootloader(U-boot.)

Middleware( rootfs, glibc, systemd etc...)

Operating System(Linux Kernel)

Framework(QT, GTK, etc.)

Bootloader(U-boot.)

Middleware( rootfs, glibc, systemd etc...)

Operating System(Linux Kernel)

0 1 0 0 1 1 1 1 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 1 1 1 0 w w w . s o f t c r a t e s . n e t 01010011 01001111 01010101 01010010 01000011 01000101

It provides the infraestructure to build, maintain and distribute firmware images for embedded Systems.

Constantly updated Firmware Images

Softcrates FaaS Cloud: Firmware as a Service.

Demo Applications

Reference Hardware

Framework(QT, GTK, etc.)

Bootloader(U-boot.)

Middleware( rootfs, glibc, systemd etc...)

Operating System(Linux Kernel)

Demo Applications

Reference Hardware

Framework(QT, GTK, etc.)

Bootloader(U-boot.)

Middleware( rootfs, glibc, systemd etc...)

Operating System(Linux Kernel)

0 1 0 0 1 1 1 1 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 1 1 1 0 w w w . s o f t c r a t e s . n e t 01010011 01001111 01010101 01010010 01000011 01000101

Softcrates makes sure that all the different components work correctly with the latest version and will be consolidated in a single image release cycle.

Also there is a LTS (Long-Term Support) version that freezes a release and bugfixes are backported for N years

Each Component has a different release cycle.

Demo Applications

Reference Hardware

Framework(QT, GTK, etc.)

Bootloader(U-boot.)

Middleware( rootfs, glibc, systemd etc...)

Operating System(Linux Kernel)

Demo Applications

Reference Hardware

Framework(QT, GTK, etc.)

Bootloader(U-boot.)

Middleware( rootfs, glibc, systemd etc...)

Operating System(Linux Kernel)

0 1 0 0 1 1 1 1 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 1 1 1 0 w w w . s o f t c r a t e s . n e t 01010011 01001111 01010101 01010010 01000011 01000101

Embedded Linux stack - services.

Applications

Hardware

Framework(QT, GTK, etc.)

Base system( rootfs )

Linux Kernel

Bootloader(U-boot.)

Robotics, Health Care, Automotive, Home Automation.

Robot Operating System,QT, GTK, OpenCV.

Yocto Poky, Snappy Ubuntu Core,Buildroot.

Linux kernel.

U-boot, Coreboot, Barebox.

Beagle Bone Black, Gumstix Overo,Odroid XU3.

0 1 0 0 1 1 1 1 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 1 1 1 0 w w w . s o f t c r a t e s . n e t 01010011 01001111 01010101 01010010 01000011 01000101

APLICATIONS

Power

Oil & Gas

Renewable Energy

Railway & ITS

Factory Automation

Medical

Building Automation

ATM POS & KIOSK

Marine & Defence

Comunication

Automotive

Control Systems

Drones

Educational Toys

Energy Systems

Gaming

Vending Machines

Videogames

USE CASES

0 1 0 0 1 1 1 1 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 1 1 1 0 w w w . s o f t c r a t e s . n e t 01010011 01001111 01010101 01010010 01000011 01000101

0 1 0 0 1 1 1 1 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 1 1 1 0 w w w . s o f t c r a t e s . n e t 01010011 01001111 01010101 01010010 01000011 01000101