July 2017
X(cross) Development System
make AGL application development easier
Sébastien Douheret sebastien.douheret@iot.bzh
X(cross) Development System make AGL application development easier - - PowerPoint PPT Presentation
X(cross) Development System make AGL application development easier July 2017 Sbastien Douheret sebastien.douheret@iot.bzh IoT.bzh Located in France - Brittany ( Vannes / Lorient / Rennes ) People background: 40% coming from
July 2017
make AGL application development easier
Sébastien Douheret sebastien.douheret@iot.bzh
X(cross) Development System 2
– 40% coming from Tizen IVI (Intel+Samsung) – 40% coming from Wind River – 20% coming from industry
X(cross) Development System 3
Namespaces ...)
X(cross) Development System 4
enable apps developer without Yocto skills →
trigger actions
ie CI workflows or specific environments →
X(cross) Development System 5
(Linux / Windows / MacOS)
Near-zero install, no admin privileges required
Compatibility with existing IT policies (e.g. corporate backup, git, ...)
container ...)
(e.g. Linux for Windows Subsystem, docker)
X(cross) Development System 6
Single Host mode
Subsystem
through native access
Local Network mode
through docker volume
Cloud mode
running in the Cloud
through sync tool
Target Dev Host Windows
Linux Subsystem XDS Server daemon IDE USB or local network
Dev Host Linux
IDE
Build Host
Docker XDS Server daemon
Target
Local network
Dev Host
IDE Docker XDS Server daemon
Target
Local network
Cloud
X(cross) Development System 7
AGL repo
Development Host
Linux / Windows / MacOS
Development Host
Linux / Windows / MacOS
XDS Server Container
Local or remote
XDS Server Container
Local or remote App sources
IDE UI
(Eclipse, Visual Studio Code, …)
XDS -server
Daemon
File Sync
Local network
Cloud network
REST + WS
These blocks may be bypassed when fjles can be shared over a local network (eg. NFS mount or docker volume)
Target Target
deployment Files
App sources (duplicated) Cross Toolchain B Cross Toolchain A
XDS-agent File Sync
Direct link (eg. USB <=> Ethernet) XDS plugin Files
Command line
xds-exec
X(cross) Development System 8
AGL repo
Development Host
Linux / Windows / MacOS
Development Host
Linux / Windows / MacOS
XDS Server Container
Local or remote
XDS Server Container
Local or remote App sources
IDE UI
(Eclipse, Visual Studio Code, …)
XDS-server
Local network
Cloud network
REST + WS
Target Target
App sources (duplicated) Cross Toolchain B Cross Toolchain A gdb (cross)
XDS-gdb
gdbserver
X(cross) Development System 9
(portable Linux/Windows/MacOS)
development setup easier
Cloud model
(see flavour xds [2])
[1]: https://syncthing.net/ [2]: https://git.automotivelinux.org/AGL/docker-worker-generator/
X(cross) Development System 10
– Core of the system, running in container:
exit)
– Client side part, running on developer host.
– Command line tool to wrap standard exec command.
– Command line tool to allow application debugging (based on gdb).
X(cross) Development System 11
1) Browse XDS dashboard: eg. http://localhost:8000 2) Download xds-agent, install and start-it on desktop 3) Add a new project 4) Cross build/compile your project using either :
5) Deploy app 6) Source debug from IDE (work in progress)
X(cross) Development System 12
– Pre-build docker image including XDS server
https://github.com/iotbzh/xds-server#how-to-run
– Multi-platform (Linux / Windows/ MacOS) host tools (xds-agent, xds-exec, xds-gdb) – Support Cloud mode (file sharing based on a synchronization tool) – IDE integration (manual setup)
https://github.com/iotbzh/xds-exec#using-xds-exec-within-an-ide
– Debugging proof of concept (based on gdb and AGL app-templates)
https://vimeo.com/221493917
https://build.opensuse.org/project/show/isv:LinuxAutomotive:app-Development
– xds-server : https://github.com/iotbzh/xds-server – xds-agent : https://github.com/iotbzh/xds-agent – xds-exec: https://github.com/iotbzh/xds-exec – xds-gdb: https://github.com/iotbzh/xds-gdb
X(cross) Development System 13
Release Candidate 1 (AGL AMM – Fall’ 17)
mapping, NFS, synchting)
dashboard
X(cross) Development System 14
X(cross) Development System 15
<sebastien.douheret@iot.bzh>
<stephane.desneux@iot.bzh>
X(cross) Development System 16
Gulf of Morbihan, south of Brittany, France
X(cross) Development System 17
Target Board
AGL - Linux + Docker + XDS - Develop, Build, Deploy
Linux Host XDS Container - Debian Jessie
LAN / @
Network Bridge
IDE IDE
edit edit
external access external access
SDK SDK
Project Sources
shared volume
build build
Binary/Widget
Browser Browser
deploy deploy Binder
A g e n t
X(cross) Development System 18
Target Board
AGL - Linux + Docker + XDS - Debug
Linux Host XDS Container - Debian Jessie
LAN / @
Network Bridge
DEBUG UI DEBUG UI
external access external access
Project Sources
shared volume
SSH
gdb (cross) gdbserver Binder
g d b
SDK SDK