Upload
softcrates
View
309
Download
0
Embed Size (px)
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