Linux, Yocto and Fpgas

Linux, Yocto and Fpgas

Embedded Open Source Experts Linux, Yocto and FPGAs Integrating Linux and Yocto builds into different SoCs From a Linux software perspective: ➤ Increased demand for Linux on FPGAs ➤ Many things to mange, both technical and practical ➤ FPGAs with integrated CPU cores – very similar many other SoCs Here are some experiences and observations... © Codiax 2019 ● Page 2 Why use Linux? ➤ De-facto standard ➤ Huge HW support ➤ FOSS ➤ Flexible ➤ Adaptable ➤ Stable ➤ Scalable ➤ Royalty free ➤ Vendor independent ➤ Large community ➤ Long lifetime Why not Linux? ➤ Too big ➤ Real-time requirements ➤ Certification ➤ Boot time ➤ Licensing ➤ Too open? Desktop Shells: Desktop Display server: Display BrailleDisplay Touch-Screen Mouse & Keyboard Wayland Compositor Wayland + development tools = a lot code!of source Linux system example weston, clayton,mutter,KWin evdev libinput GNOME Shell D radeon nouveau lima etna_viv freedreno tegra-re lima nouveau radeon freedreno etna_viv e libwayland-server libwayland-server s Cinnamon k t o kms p Linux kernel, Linux kernel, Plasma 2 w i (Kernel Mode Setting) Mode (Kernel d g Cairo-Dock e t s drm (Direct Rendering Manager) Rendering (Direct drm cache coherent L2-Caches L2-Caches cache coherent CPU &GPU Enlight. DR19 System libraries: System oflibraries): form (in the Toolkits Interface User µClibc Pango glibc glibc main memory possibly adaptations to Wayland/Mir libwayland / COGL libwayland Cairo Cairo (Xr) GTK+ Clutter 2D Application 2D GModule GThread GThread GLib GObject Glib GIO ATK devicedrivers other& modules System daemons: System systemd libwayland-client Hardware (contains udev) Qt Qt ALSA: emu20k1, ctxfi, hda... emu20k1, ALSA: D-Bus-Daemon ? ? kdbus ? udisks possibly adaptations to Wayland/Mir Media Media Application avahi-daemon libwayland-client EFL Source: https://en.wikipedia.org/wiki/File:Free_and_open-source-software_display_servers_and_UI_toolkits.svg Source: packagekitd kmod-fs-ext4 PulseAudio-d kmod-ltq-atm-vr9 unetwork libwayland-client G-sensor GPS-receiver UMTS/CDMA/LTE NetworkManager SDL Alternative display servers: Alternative X-Server X-Server libxserver X-Win32 Xfree86 possibly adaptations to Wayland/Mir X11.app X.Org 3D Application 3D netfilter manager manager window metacity mutter Compiz KWin ath9k wxWidgets libwayland-client GNUstep Bluetooth 802.11-(abc) Ethernet libX/libXCB FLTK FLTK ... AppArmor libmir-serv TOMOYO TOMOYO SELinux Smack mir mir manager manager window Ubuntu Compiz (Android-forked) Linux kernel binder wakelocks Unity and Plasma libhybris Unity Widgets for Widgets © Codiax 2019 ● Page SurfaceFlinger ashmem SF logger Android libbionic manager manager window pmem AWM ... 5 Linux system open source code ● Linux kernel ~ 20 MLOC + Bootloader + Libraries + System services + FOSS applications + Development tools How to select, integrate, build and maintain? © Codiax 2019 ● Page 6 OpenEmbedded / Yocto - A build system for embedded Linux ● What does such a build system do? – Automates the process of building a target system – Downloads, patches, configures, compiles/cross- compiles ● The Linux kernel ● Applications for a Linux root filesystem – Packages applications – Keeps track of application dependencies – Deploys generated images – Provides an SDK – Provides tools © Codiax 2019 ● Page 7 What is OpenEmbedded? ● OE is the basis for many build systems, including Poky (and e.g. Ångström) ● Is the origin of Bitbake and OpenEmbedded- Core, that are now also part of Yocto Project ● Provides meta data, recipes and layers, for thousands of open source applications (not part of OpenEmbedded-Core) – http://layers.openembedded.org © Codiax 2019 ● Page 8 Build system overview Source: Yocto Project Quick Start manual © Codiax 2019 ● Page 9 OpenEmbedded / Yocto ● Builds all – long build times ● Build caches ● Depends on external archives – Rebuilding old builds? – Local source code storage? – Local meta data mirrors ● FOSS Compliance © Codiax 2019 ● Page 10 FOSS ± Free and Open Source Software FOSS licenses (typically) ensure and regulate ➤ The four basic freedoms – Freedom to use – Freedom to study – Freedom to redistribute – Freedom to modify ➤ Handling of derived works ➤ Proper attribution to copyright owners ➤ And more... The Open Source Definition – http://opensource.org/docs/osd The Free Software Definition – https://www.gnu.org/philosophy/free-sw.html HW oriented adaptations Applications Boot loader Kernel Init Services FS ➤ HW specific BOOT ➤ Device tree (DTS) for boot loader and kernel ➤ Boot loader and kernel drivers ➤ Boot loader and kernel configuration ➤ Mapping of memory areas from kernel to user space process ➤ Real-time configuration + potential RT patches Trends ● Linux and real-time - again ● Virtualization ● Security © Codiax 2019 ● Page 13 ? ? ? ? ? ? Questions? [email protected] www.codiax.se © Codiax 2019 ● Page 14 .

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    14 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us