Slide 1

Slide 1 text

USING DEBIAN CONTAINERS FOR CROSS DEVELOPMENT

Slide 2

Slide 2 text

MATHEUS DE BARROS CASTELLO 28 year old, BS in Computer Science Embedded SW Engineer Linux Kernel Developer - v4.18 contributions WHO I AM ?

Slide 3

Slide 3 text

MAIN CONTRIBUTIONS Linux Kernel v4.18 BCM2835 Pinctrl dotnet/iot .Net Core 3.0 Preview Libgpiod / PWM

Slide 4

Slide 4 text

CHANNELS

Slide 5

Slide 5 text

DUAL CORE - ARM A9 @1Ghz 512MB DDR3 4GB eMMC Vivante GC880 - GPU 3D Graphics UP TO 154 GPIOs 4X ANALOG INPUTS I2C / PWM / USB / UART HARDWARE FOR DEMOS

Slide 6

Slide 6 text

SOFTWARE FOR DEMOS

Slide 7

Slide 7 text

DEVELOPMENT CHALLENGES FOR EMBEDDED DEVICES

Slide 8

Slide 8 text

Development x86 Target Device ARMv7

Slide 9

Slide 9 text

CROSS DEVELOPMENT

Slide 10

Slide 10 text

CROSS DEVELOPMENT

Slide 11

Slide 11 text

Target Device ARMv7 Development x86 arm-linux-gnueabihf-gcc

Slide 12

Slide 12 text

CROSS DEVELOPMENT - libgpiod Example

Slide 13

Slide 13 text

Target Device ARMv7 libgpiod arm-linux-gnueabihf-gcc

Slide 14

Slide 14 text

CROSS DEVELOPMENT - Config sysroot

Slide 15

Slide 15 text

CROSS DEVELOPMENT - Config sysroot

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

User Space Kernel BSP Bootloader Development Toolchain Yocto - build your own Linux Distro Distro optimized for you hardware

Slide 18

Slide 18 text

Yocto - build your own Linux Distro Distro optimized for you hardware Learning Curve User Space Kernel BSP Bootloader Development Toolchain

Slide 19

Slide 19 text

CHROOT - create/copy/config your sysroot Use a ready arm distro base

Slide 20

Slide 20 text

CHROOT - create/copy/config your sysroot Use a ready arm distro base (gcc --sysroot) It is not so easy to deploy/document/duplicate

Slide 21

Slide 21 text

CROSS-DEV WITH CONTAINTER - QEMU-USER

Slide 22

Slide 22 text

CROSS-DEV WITH CONTAINTER - QEMU-USER

Slide 23

Slide 23 text

Docker - package/isolate dependency software Easy to deploy/document/duplicate

Slide 24

Slide 24 text

Docker - package/isolate dependency software Easy to deploy/document/duplicate Increased storage memory spend

Slide 25

Slide 25 text

WHAT IS A CONTAINER?

Slide 26

Slide 26 text

IN REAL LIFE

Slide 27

Slide 27 text

IN VIRTUAL LIFE

Slide 28

Slide 28 text

Package Software into Standardized Units for Development, Shipment and Deployment

Slide 29

Slide 29 text

No content

Slide 30

Slide 30 text

Edge

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

No content

Slide 33

Slide 33 text

No content

Slide 34

Slide 34 text

https://docs.microsoft.com/en-us/virtualization/windowscontainers/deploy-containers/linux-containers

Slide 35

Slide 35 text

https://docs.microsoft.com/en-us/virtualization/windowscontainers/deploy-containers/linux-containers

Slide 36

Slide 36 text

Development x86 Target Device ARMv7 Docker Image Dockerfile Docker Image Docker container Dockerhub CROSS-DEV WITH CONTAINTER - hello.c example

Slide 37

Slide 37 text

Development x86 Target Device ARMv7 Docker Image Dockerfile Docker Image Docker container Dockerhub CROSS-DEV WITH CONTAINTER - hello.c example

Slide 38

Slide 38 text

No content

Slide 39

Slide 39 text

Q&A

Slide 40

Slide 40 text

www.toradex.com | developer.toradex.com | community.toradex.com | labs.toradex.com THANK YOU FOR YOUR INTEREST.