Archive

Posts Tagged ‘genivi’

FOSDEM 2017 Open Source Meeting Schedule

January 31st, 2017 4 comments

FOSDEM (Free and Open Source Software Developers’ European Meeting) is a 2-day free event for software developers to meet, share ideas and collaborate that happens on the first week-end of February, meaning it will take place on February 4 & 5, 2017 this year. FOSDEM 2017 will features 608 speakers, 653 events, and 54 tracks, with 6 main tracks namely: Architectures, Building, Cloud, Documentation, Miscellaneous, and Security & Encryption.
I won’t be there, but it’s always interesting to look at the schedule, and I made my own virtual schedule focusing especially on talks from “Embedded, mobile and automotive” and “Internet of Things” devrooms.

Saturday 4, 2017

  • 11:00 – 11:25 – Does your coffee machine speaks Bocce; Teach your IoT thing to speak Modbus and it will not stop talking, by Yaacov Zamir

There are many IoT dashboards out on the web, most will require network connection to a server far far away, and use non standard protocols. We will show how to combine free software tools and protocols from the worlds of IT monitoring, Industrial control and IoT to create simple yet robust dashboards.

Modbus is a serial communication protocol developed in 1979 for use with programmable logic controllers (PLCs). In simple terms, it is a method used for transmitting information over serial lines between electronic devices., it’s openly published, royalty-free, simple and robust.

Many industrial controllers can speak Modbus, we can also teach “hobby” devices like Arduino boards and ESP8266 to speak Modbus. Reliable, robust and simple free software Modbus client will be used to acquire the metrics from our device, then the metrics will be collected and sent to Hawkular and Grafana to store and visualize our data.

  • 11:30 – 11:55 – Playing with the lights; Control LIFX WiFi-enabled light bulbs, by Louis Opter

In this talk we’ll take a close look at a one of the “smart” (WiFi-connected) light-bulbs available on the market today. The bulbs expose a small API over UDP that I used to run an interface on a programmable buttons array. We will see how topics like reverse engineering, security, licensing, “self-hosting” and user experience came into play.

monolight is an user interface to control LIFX WiFi-enabled light bulbs. monolight runs on a programmable button array; it is written in Python 3.6 (to have type annotations and asyncio), and it interfaces with the bulbs through a more complex daemon written in C: lightsd.

This talk will start with a live demo of the button grid remotely controlling the light bulbs. We will then explore how it works and some of the motivations behind it (network isolation, trying to not depend on the “cloud”, reliability, user-experience). Finally, we will look into what kind of opportunities even more open IoT products could bring, and open leave the place to Q&A and discussion.

  • 12:00 – 12:30 – Creating the open connected car with GENIVI, by Zeeshan Ali, GENIVI Development Platform (GDP) technical lead

A number of new components have matured in GENIVI to provide a true connected car experience. A couple of them are key connectivity components; namely SOTA (Software Over the Air) and RVI (Remote Vehicle Interface). This talk will discuss both these components, how they work together, the security work done on them and their integration into the GENIVI Development Platform.

This talk will also run down the overall status of GENIVI’s development platform and how it can enable an automotive stack to speak not just with the cloud, but with IoT devices via Iotivity interface.

  • 12:30 – 13:00 – Making Your Own Open Source Raspberry Pi HAT; A Story About Open Source Harware and Open Source Software, by Leon Anavi

This presentation will provide guidelines how to create an open source hardware add-on board for the most popular single board computer Raspberry Pi using free and open source tools from scratch. Specifications of Raspberry Pi Foundation for HAT (Hardware Attached on Top) will be revealed in details. Leon Anavi has been developing an open source Raspberry Pi HAT for IoT for more than a year and now he will share his experience, including the common mistakes for a software engineer getting involved in hardware design and manufacturing. The presentation is appropriate for anyone interested in building entirely open source products that feature open source hardware and open source software. No previous experience or hardware knowledge is required. The main audience are developers, hobbyists, makers, and students. Hopefully the presentation will encourage them to grab a soldering iron and start prototyping their DIY open source device.

  • 13:00 – 13:25 – Building distributed systems with Msgflo; Flow-based-programming over message queues, by Jon Nordby

MsgFlo is a tool to build systems that span multiple processes and devices, for instance IoT sensor networks. Each device acts as a black-box component with input and output ports, mapped to MQTT message queues. One then constructs a system by binding the queues of the components together. Focus on components exchanging data gives good composability and testability, both important in IoT. We will program a system with MsgFlo using Flowhub, a visual live-programming IDE, and test using fbp-spec.

In MsgFlo each process/device is an independent participant, receiving data on input queues, and sending data on output queues. A participant do not know where the data comes from, nor where (if anywhere) the data will go. This strong encapsulation gives good composability and testability. MsgFlo uses a standard message queue protocol (MQTT or AMQP). This makes it easy to use with existing software. As each participant is its own process and communicate over networks, they can be implemented in any programming language. Convenience libraries exist for C++, Python, Arduino, Node.js and Rust. On top of the message queue protocol, a simple discovery mechanism is added. For existing devices without native Msgflo support, the discovery messages can be sent by a dedicated tool.

  • 13:30 – 13:55 – 6LoWPAN in picoTCP, and how to support new Link Layer types, by Jelle De Vleeschouwer

6LoWPAN enables, as the name implies, IPv6-communication over Low-power Wireless Personal Area Networks, e.g. IEEE802.15.4. A lot of resources are available to allow 6LoWPAN over IEEE802.15.4, but how can one extend the 6LoWPAN feature-set for the use with other link layer types? This talk will cover the details about a generic implementation that should work with every link layer type and how one can provide support for ones own custom wireless network. The goal is to give quite a technical and detailed talk with finally a discussion about when 6LoWPAN is actually useful and when is it not.

Last year, as a summer project, a generic 6LoWPAN adaption layer was implemented into picoTCP, an open source embedded TCP/IP-stack developed by Altran Intelligent Systems, with an eye on the IoT. The layer should also be able to allow multiple link-layer extensions, for post-network-layer processing. This could be used for mesh-under routing, link layer security, whatever you want. This talk will cover how one can take advantage of these features and caveats that come with it.

  • 14:00 – 15:00 – Groking the Linux SPI Subsystem by Matt Porter

The Serial Peripheral Interconnect (SPI) bus is a ubiquitous de facto standard found in many embedded systems produced today. The Linux kernel has long supported this bus via a comprehensive framework which supports both SPI master and slave devices. The session will explore the abstractions that the framework provides to expose this hardware to both kernel and userspace clients. The talk will cover which classes of hardware supported and use cases outside the scope of the subsystem today. In addition, we will discuss subtle features of the SPI subsystem that may be used to satisfy hardware and performance requirements in an embedded Linux system.

  • 15:00 – 15:25 – Frosted Embedded POSIX OS; a free POSIX OS for Cortex-M embedded systems, by Brabo Silvius

FROSTED is an acronym that means “FRee Operating System for Tiny Embedded Devices”. The goal of this project is to provide a free kernel for embedded systems, which exposes a POSIX-compliant system call API. In this talk I aim to explain why we started this project, the approach we took to separate the kernel and user-space on Cortex-M CPU’s without MMU, and showcase the latest improvements on networking and supported applications.

  • 15:30 – 16:00 – How to Build an Open Source Embedded Video Player, by Michael Tretter

Video playback for embedded devices such as infotainment systems and media centers demands hardware accelerators to achieve reasonable performance. Unfortunately, vendors provide the drivers for the accelerators only as binary blobs. We demonstrate how we built a video playback system that uses hardware acceleration on i.MX6 by using solely open source software including Gstreamer, Qt QML, the etnaviv GPU driver, and the coda video decoder driver.

The Qt application receives the video streams from a Gstreamer pipeline (using playbin). The Gstreamer pipeline contains a v4l2 decoder element, which uses the coda v4l2 driver for the CODA 960 video encoder and decoder IP core (VPU in the Freescale/NXP Reference Manual), and a sink element to make the frames available to the Qt application. The entire pipeline including the Gstreamer to Qt handover uses dma_bufs to avoid copies in software.This example shows how to use open source drivers to ease the development of video and graphics applications on embedded systems.

  • 16:00 – 16:25 – Project Lighthouse: a low-cost device to help blind people live independently, by David Teller

The Word Health Organization estimates that more than 250 million people suffer from vision impairment, 36 millions of them being entirely blind. In many cases, their impairment prevents them from living independently. To complicate things further, about 90% of them are estimated to live in low-income situations.

Project Lighthouse was started by Mozilla to try and find low-cost technological solutions that can help vision-impaired people live and function on their own. To this date, we have produced several prototypes designed to aid users in a variety of situations. Let’s look at some of them. This will be a relatively low-tech presentation.

  • 16:30 – 16:55 – Scientific MicroPython for Microcontrollers and IoT, IoT programming with Python, by Roberto Colistete Jr

MicroPython is a implementation of Python 3 optimised to run on a microcontroller, created in 2013 by the Physicist Damien P. George. The MicroPython boards runs MicroPython on the bare metal and gives a low-level Python operating system running interactive prompt or scripts.

The MicroPython boards currently use 32 bit microcontrollers clocked at MHz and with RAM limited to tens or hundreds of Kbytes. These are the microcontroller boards with official MicroPython support currently in the beginning 2017 : Pyboard, Pyboard Lite, WiPy 1/2, ESP8266, BBC Micro:bit, LoPy, SiPy, FiPy. They cost between USD3-40, are very small and light, about some to tens of mm in each dimension and about 5-10 g, have low power consumption, so MicroPython boards are affordable and can be embedded in almost anything, almost anywhere.

Some hints will be given to the FOSS community to be open minded about MicroPython : be aware that MicroPython exists, MicroPython is a better programming option than Arduino in many ways, MicroPython boards are available and affordable, porting more Python 3 scientific modules to MicroPython, MicroPython combines well with IoT.

  • 17:00 – 17:25 – Iotivity from devices to cloud; how to make IoT ideas to real using FLOSS, by Philippe Coval & Ziran Sun (Samsung)

The OCF/IoTivity project aims to answer interoperability issues in the IoT world from many different contexts to accommodate a huge range devices from microcontrollers, to consumer electronics such as Tizen wearables or your powerful GNU/Linux system The vision of Iotivity is not restricted to ad hoc environment but also can be connected to Internet and make the service easily accessible by other parties. With cloud access in place, usage scenarios for IoT devices can be enriched immensely.

In this talk we walk through the steps on how to practically handle IoT use cases that tailored towards various topologies. To introduce the approach used in IoTivity, we first give a detailed background introduction on IoTivity framework. Then we will present a demo that shows a few examples, from setting up a basic smart home network to accessing the IoT resource via a third party online service. Challenges and solutions will be addressed from development and implementation aspects for each step of the demo.

We hope this talk will inspire developers to create new IoT prototypes using FLOSS.

  • 17:30 – 17:55 – Open Smart Grid Platform presentation, an Open source IoT platform for large infrastructures, by Jonas van den Bogaard

The Open Smart Grid Platform is an open source IoT platform. The open smart grid platform is a generic IoT platform, built for organizations that manage and/or control large-scale infrastructures. The following use cases are now readily available: smart lighting, smart metering, tariff switching, and microgrids. Furthermore the following use-cases are in development: distribution automation, load management and smart device management. The architecture of the open smart grid platform is modular and consists multiple layers.

The open smart grid platform is highly unique for embracing the open source approach and the following key features:

  • Suitable for scalable environments delivering high performance
  • High availability and multitenant architectures
  • Built with security by design and regularly tested.
  • It has a generic architecture. More use cases and domains are easily added to the platform.
  • The open smart grid platform is based on open standards where possible.

We believe the platform is interesting for developers who have interest in working on use-cases for Smart Cities, Utility Companies and other large-scale infrastructure companies.

  • 18:00 – 19:00 – AGL as a generic secured industrial embedded Linux; factory production line controllers requirements are not that special, by Dominig ar Foll

There is no de facto secured embedded Linux distro while the requirement is becoming more and more critical with the rise of IoT in Industrial domains. When looking under the hood of the Yocto built AGL project (Automotive Linux), it is obvious that it can fit 95% of the most common requirements as a Secured Embedded Linux. We will look how non Automotive industries can easily reuse the AGL code and tools to build their own industrial product and why it’s a safer bet than to build it internally.

Industrial IoT cannot be successful without a serious improvement of the security coverage. Unfortunately there is as today, no of-the-shelves offer and the skills required to create such solution, are at best rare, more often out of reach. AGL as created a customizable embedded Linux distro which is nicely designed for reuse in many domains outside of Automotive. During the presentation we will see how to: – start your development with boards readily available on the Net, – change the BSP and add peripherals using Yocto layers or project like MRAA, – integrate a secure boot in your platform, – add your middleware and your application without breaking the maintained Core OS – develop a UI on the integrated screen and/or an HTML remote browser – update the core OS and your add-ons. – get support and influence the project.

Sunday 5, 2017

  • 10:00 11:00 – How I survived to a SoC with a terrible Linux BSP, Working with jurassic vendor kernels, missing pieces and buggy code, by Luca Ceresoli

In this talk Luca will share some of his experiences with such vendor BSPs, featuring jurassic kernels, non-working drivers, non-existing bootloaders, code of appallingly bad quality, ineffective customer support and Windows-only tools. You will discover why he spent weeks in understanding, fixing and working around BSPs instead of just using them. The effects on the final product quality will be described as well. Luca will also discuss what the options are when you face such a BSP, and what both hackers and vendors can do to improve the situation for everybody’s benefit.

  • 11:00-12:00 – Open Source Car Control, by Josh Hartung

This fall my team launched the Open Source Car Control (OSCC) project, a by-wire control kit that makes autonomous vehicle development accessible and collaborative to developers at every level. In this presentation, we discuss the project and its implications on the development of autonomous cars in a vertically integrated and traditionally closed industry.

A primary barrier to entry in autonomous vehicle development is gaining access to a car that can be controlled with an off-the-shelf computer. Purchasing from an integrator can cost upwards of $100K, and DIY endeavors can result in unreliable and unsafe solutions. The OSCC project acts as a solution to these problems. OSCC is a kit of open hardware and software (based on Arduino) that can be used to take control of the throttle, brake, and steering in modern cars. The result is a fully by-wire test car that can be built for about $10K (USD), including the vehicle. In this discussion, we unpack the impetus and development of the OSCC project, challenges we encountered during development, and the role projects like OSCC have in a necessary “flattening” of the automotive industry.

  • 12:00 – 13:00 – Kernel DLC Metrics, Statistic Analysis and Bug-Patterns, by Nicholas Mc Guire

SIL2LinuxMP strives to qualify a defined GNU/Linux subset for the use in safety-related systems by “assessment of non-compliant development”. To demonstrate that the kernel has achieved suitable reliability and correctness properties basic metrics of such properties and their statistic analysis can be used as part of the argument. Linux has a wealth of analytical tools built-in to it which allow to extract information on compliance, robustness of development, as well as basic metrics on complexity or correctness with respect to defined properties. While IEC 61508 Ed 2 always pairs testing and analysis, we believe that for a high complexity system traditional testing is of relatively low effectiveness and analytical methods need to be the primary path. To this ends we outline some approaches taken:

  • Bug-age analysis
  • Bug-rates and trend analysis
  • Code-complexity/bug relationship
  • Brain-dead correctness analysis
  • Interface and type-correctness analysis
  • API compliance analysis
  • Analysis of build-bot data

While much of the data points to robust and mature code there also are some areas where problems popped up. In this talk we outline the used methods and give examples as well as key findings. FLOSS development has reached a quite impressive maturity, to substantially go beyond we think it will need the use of quantitative process and code metrics – these results from SIL2LinuxMP may be a starting point.

  • 13:00 – 14:00 – Loco Positioning: An OpenSource Local Positioning System for robotics, presentation with a demo of autonomous Crazyflie 2.0 quadcopter, by Arnaud Taffanel

Positioning in robotics has alway been a challenge. For outdoor, robots GPS is solving most of the practical problems, but indoor, precise localization is still done using expensive proprietary systems mainly based on an array of cameras.

In this talk, I will present the loco positioning system: an open source Ultra Wide Band radio-based local positioning system, why we need it and how it works. I will also speak about its usage with the Crazyflie 2.0 open source nano quadcopter, of course ending with an autonomous flying demo.

  • 14:00 14:50 – Free Software For The Machine, by Keith Packard

The Machine is a hardware project at Hewlett Packard Enterprise which takes a new look at computer architecture. With many processors and large amounts of directly addressable storage, The Machine program has offered an equally large opportunity for developing new system software. Our team at HPE has spent the better part of two years writing new software and adapting existing software to expose the capabilities of the hardware to application developers.

As directly addressable storage is such a large part of the new hardware, this presentation will focus on a couple of important bits of free software which expose that to applications, including our Librarian File System and Managed Data Structures libraries. Managed Data Structures introduces a new application programming paradigm where the application works directly on the stable storage form for data structures, eliminating serialization and de-serialization operations.

Finally, the presentation will describe how the hardware is managed, from sequencing power to a rack full of high-performance computing hardware, through constructing custom Linux operating systems for each processor and managing all of them as parts of a single computing platform.

  • 15:00 – 15:25 – Diving into the KiCad source code, by Maciej Sumiński

Let’s be sincere, all of us would love to change something in KiCad. I bet you have an idea for a new tool or another killer feature that would make your life so much easier.

You know what? You are free to do so! Even more, you are welcome to contribute to the project, and it is not that difficult as one may think. Those who have browsed the source code might find it overwhelming at first, but the truth is: you do not have to know everything to create useful extensions.

I would like to invite you for a walk through the KiCad source code to demonstrate how easy it is to add this tool you have always been dreaming about.

  • 15:30 – 16:00 – Testing with volcanoes – Fuego+LAVA, embedded testing going distributed, by Jan-Simon Möller

LAVA and Fuego are great tools individually already. Combining and extending them allows for a much broader test coverage than each tool alone can provide.

The focus of this talk is to share the experiences made and lessons learned so people can integrate such tools better in their own environment. It also raises the pain-points and open issues when setting up a distributed environment.

Especially for Automotive, Long-Term-Support, CIP or Consumer Electronics, advancing the Test-harness is essential to raise the bar and strengthen the confidence in our embedded platforms. Automated testing can improve our ecosystem from two sides: during development (feature does work and does not break things) and during maintenance (no regressions through backports).

  • 16:00 – 16:30 – Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device, by Stefan Schmidt

Adding support for IEEE 802.15.4 and 6LoWPAN to an embedded Linux board opens up new possibilities to communicate with tiny, IoT type of, devices.

Bringing IP connectivity to devices, like sensors, with just a few kilobytes of RAM and limited battery power is an interesting IoT challenge. With the Linux-wpan and 6LoWPAN subsystems we get Linux ready to support the needed wireless standards as well as protocols that connect these tiny devices into the wider Internet. To make Linux a practical border router or smart home hub for such networks.

This talk will show how to add the needed transceiver hardware to an existing hardware and how to enable and configure the Linux-wpan and 6LoWPAN mainline subsystems to use it. The demonstration will include setting up the communication between Linux and other popular IoT operating systems like RIOT or Contiki as well.

  • 16:30 – 17:00 – OpenPowerlink over Xenomai, by Pierre Ficheux

Industrial Ethernet is a successor of classic field bus such as CAN, MODBUS or PROFIBUS. POWERLINK was created by B&R Automation and provides performance and real­-time capabilities based on standard Ethernet hardware. openPOWERLINK is open source and runs on lots of platforms such as Linux, Windows, various RTOS and dedicated hardware (FPGA). We will explain how to use openPOWERLINK on top of Xenomai 3, a powerful real-time extension for Linux kernel based on co-­kernel technology.

FOSDEM 2017 will take place at the ULB Solbosch Campus in Brussels, Belgium, and no registration is required, you just need to show up in order to attend the event.

Intel Unveils In-Vehicle Solutions and Development Kit for Assisted Driving and Autonomous Cars

May 31st, 2014 No comments

Intel has announced their In-Vehicle Solutions (IIVS) for automakers comprised of hardware based on Intel’s industrial Bay Trail Atom 3800 series SoC, and software solutions relying on a Linux based operating system but it’s not clear whether it might be Wind River Linux, Tizen IVI, or another new OS. The solutions will first provide In Vehicle Infotainment (IVI) with assisted driving features such as , and over time it will allow semi-autonomous and self-driving cards.

Intel CM1050 Module

Intel CM1050 Module

At the heart of the system, Intel will provide CM1050 computer-on-module that will be part of a development kit including a chassis with CAN, Ethernet, and USB ports, as well as audio and CVBS  multimedia I/Os, and radios and antennas for FM, AM, DAB, GPS, WiFi, Bluetooth, and cellular. A Blu-ray drive, and SSDs will be available as storage options. The complete system is designed to be upgradeable, and automakers can expected modules with faster processors in the future to allow for autonomous, but currently CM1050 CoM will be based on four different Atom E3800 SoC from single to quad core models.

IIVS Chassis Connectors Description

IIVS Chassis Connectors Description

The complete development kits includes a compute module ((Intel In-Vehicle Solution CM1050), the chassis with thermal solution and EMI suppression, six types of antennas, a 12V/10A power brick, a 11.6″ HD capacitive touchscreen, various cables, a Blu-ray drive, Intel Solid-State Drives, and a CAN Box.  The hardware complies with RoHS and REACH directives, and the kit inclides “Hardened and Optimized Automotive Middleware” (Intel In-Vehicle Solution Software Foundation), as well as the following development tools and sample code:

  • CBC Configurator Toolchain – The carrier board communication (CBC) Tool Chain tutorial describes the process for configuring Eclipse for the CBC Tool Chain and building a CBC plug-in for the compute module
  • GENIVI Diagnostic Log and Trace Viewer Plug-in – Used to trace, analyze, and debug ultrafast, inter-process communication (UF-IPC) messages between components on the target.
  • Eclipse IDE Plug-in for Audio – Audio configuration is done using a domain specific language (DSL) defined for the audio subsystem.
  • Eclipse IDE Plug-in for IDL Programming – The IDL files that describe the software foundation (i.e., middleware) subsystem APIs can be accessed via an Intel-supplied IDL Editor, distributed as an Eclipse plug-in.
  • Line Diagnosis and Analysis (LinDA) – This tool provides an independent test framework that can be used to support hardware testing, automotive platform development, production, debugging, benchmarking, and certification.
  • Sample Applications – To demonstrate technologies included in the package. The applications currently cover multimedia, CBC tutorial, client/server UF-IPC, and LinDA.
Intel IIVS Development Kit

Intel IIVS Development Kit

Intel expects the main use cases of their IIVS to be as follows:

  • Intel_In-Vehicle_Software_Foundation_PackagesEntertainment
    • Multi-zone audio and video
    • Multimedia processing
    • DVD playback
    • Distributed audio/video management
    • Distributed playback
    • Ethernet audio/video bridging (AVB)
  • User Interface Technologies
    • Speech recognition
    • Text to speech
    • Gesture recognition
    • Touch screen
  • Navigation and GPS
  • Internet and Cloud Connectivity
  • Accident Avoidance (i.e., cameras)
  • Advanced Driver Assistance
  • Graphics Display

Automakers will be able to select advanced (720p) and premium (1080p) entertainment packages, and various connectivity and multimedia options depending on the class of the cars. You can watch the animated promo video below to get an idea of how this will all fit together, and which options are available.

You can find more information on Intel IIVS page, or directly read IIVS product brief, and/or IIVS development kit product brief.

Via SemiAccurate and LinuxGizmos

Mentor Embedded ARM Hypervisor Automotive Demo on Freescale i.MX6 Board

December 19th, 2013 No comments

Virtual machines are usually run on server or desktop PC to run several operating systems simultaneous. About 2 years ago, I wrote about an embedded hypervisor running Linux and Android on the Pandaboard develompent board, with the goal of separating home and enterprise operating systems in mobile devices so that enterprise data is safe. Since then, virtualization extensions are now part of ARM Cortex A15 / A7, and as well as the new Cortex A53 / A57 ARMv8 64-bit cores, but in my mind at least, those where mostly designed to address the server market. It turns out hypervisors are also useful in the automotive field, where for example, the dashboard and In-vehicle infotainment (IVI) systems runs in two separate virtual machines controlling two different displays from one processor.

Mentor Embedded showcased such automotive system at ARM Techcon 2013, where they showed a Freescale i.MX6 quad core board, which looks like Freescale SABRE Lite development board, running their embedded hypervisor with two virtual machines controlling the two displays (dashboard and IVI), and they showed how they could reboot the virtual machine controlling the IVI system without affecting the dashboard display.


So I had a look into Mentor Embedded hypervisor to find out a few details.
According to Wikipedia, there are two types of hypervisors:

  • Type 1 (aka native, or bare metal) – Such hypervisor run directly on the host’s hardware, and have lower footprint, and better performance. Citrix XenServer and VMware ESX/ESXi are example of type 1 hypervisors.
  • Type 2 (hosted) – Hypervisors that run on top of an operating-system environment such as Virtualbox or VMWare Workstation.

Kernel-based Virtual Machine (KVM) is somewhat between the two types, as it requires an OS (Linux or FreeBSD), but gives direct access to the hardware via kernel modules.

Mentor Embedded hypervisor is a small footprint Type 1 (bare metal) hypervisor, supports ARM TrustZone, and several operating systems including a Yocto based embedded Linux distribution, Android, the company’s  GENIVI compliant Automotive Technology Platform, and Nucleus RTOS.

Mentor_Embedded_HypervisorAccording to the company, the key benefits of their hypervisor for developers are as follows:

  • Reduce test and debug times by consolidating multiple functions on a single multi-core compute platform
  • Take advantage of symmetric and asymmetric multiprocessing, or combinations of both (AMP/SMP)
  • Build secure, high-performance embedded systems at the highest privilege level in a system
  • Use the ARM TrustZone secure system architecture and deliver both normal and secure operations, such as secure boot and secure PIN access, within a single embedded application
  • Partition devices and memory to prevent unauthorized access to sensitive resources

I was hoping to get some numbers about data and code footprint, some estimation of the performance hit due the hypervisor, and currently supported ARM platforms, but I could not find any of that. Mentor Embedded hypervisor seems to be mainly focused on automotive applications.

If you want to find out more about applications currently using ARM hypervisors such as servers, automotive applications, and Android, you can check Xen ARM hypervisor page with links to some relevant presentations from Xen Project Developer Summit 2013.

A Selection of FOSDEM 2013 Events

February 1st, 2013 No comments

FOSDEM is a 2-day (or 3 if you include Friday beer event) event where over 5,000 members of open source communities meet, share ideas and collaborate. It’s free to attend, and there’s no registration, so you just show up to attend. FOSDEM 2013 takes place on Feb 2-3 (yep, this week-end) in Brussels

There are 7 main tracks where sessions are organized:

  • fosdem logoOperating systems
  • Open source challenges
  • Security Janson
  • Beyond operating systems
  • Web development
  • Miscellaneous
  • Robotics

There are also keynotes and devroom for a total of 488 sessions. Developers rooms that may particularly be of interest to readers of this blog are:

All in all that’s a lot of sessions, and even though I won’t attend, I’m going to select a few from the main tracks:

This talk introduces the Fedora ARM Project and in particular the work we are doing to bring Fedora to emerging 64-bit ARM server systems.

Where are we today, one year after the unveiling of the Lima driver. This talk will cover the Lima driver (ARM Mali 200/400), but also other open source GPU driver projects such as the freedreno driver (Qualcomm Adreno), open source driver for Nvidia Tegra, etnaviv project (Vivante GC) and cover the status for Broadcoms Videocore and Imaginations PowerVR GPUs.

Based on the speaker’s experience of getting the support for the new Armada 370 and Armada XP ARM processors from Marvell into the mainline Linux kernel, this talk will detail the most important steps involved in this effort, and through this, give an overview of those changes and summarize the new rules for ARM Linux support.

  • Sunday 11:00 – 11:50 – Firefox OS by Jonas Sicking

Firefox OS is the next product being developed by Mozilla. It’s an open source OS based on the web and following the principals which have made the web a success. A phone running recent builds of Firefox OS (it’s not a finished product yet) will be demoed, and  the technologies and ideas behind Firefox OS will be discussed.

The systemd project is now two years old (almost three). It found adoption as the core of many big community and commercial Linux distributions. It’s time to look back what we achieved, what we didn’t achieve, how we dealt with the various controversies, and what’s to come next.

How Aldebaran Robotics is using open source on their NAO robot.

This talk will provide an overview of the Robot Operating System (ROS), an open software integration framework for robots.

This talk describes how the automotive industry has moved to embedded Linux and Open Source to develop the next generation of In-Vehicle Infotainment (IVI) and how it has met the challenges along the way.

What, why, when, where and how SecureBoot changes the way we build F/LOSS

 

A Novel Approach to In-Vehicle Infotainment (IVI) – Android Builder Summit 2012

March 15th, 2012 No comments

Thomas B. Rücker,  Program Manager at Tieto, discusses In-Vehicle Infotainment (IVI) with Android at the Android Builder Summit in February 2012.

Abstract:

In the future vehicles are going to be always online. The constantly increasing number of electronic devices raises consumer expectations. Both driver and passengers want to be online. This requires new and flexible IVI and HMI solutions. Users expect intuitive and simple to operate interfaces, but at the same time they expect the systems to handle a lot of their data and apps. We are witnessing a paradigm shift in Infotainment solutions. Open software platforms will allow users to add new functionality and services, also by third parties, over the whole life-span of a product. This requires solutions that reconcile the multi-media world of consumers with traffic security requirements, in a cost effective and secure hardware platform. The presentation will highlight challenges and opportunities by bringing Android to the IVI environment and introduce the audience to security requirements so far not addressed by smart-phones or tablets. A technology demonstrator will be shown.

You can also download the presentation slides on linuxfoundation.org website.

MontaVista adds HTML5 and Android support to its GENIVI-Compliant Automotive Technology Platform

October 11th, 2011 No comments

Montavista announced secure HTML5 and Android support to its Automotive Technology Platform (ATP) which is GENIVI Compliant. HTML5 support is provided via MontaVista’s ModiiTM Digital Media Solutions Platform. Both Android and HTML5 are made independant of critical part of the software as they are executed in a MontaVista Linux Container (isolated virtualized container environment).

Android and HTML5 in a Car

Linux, Android and HTML5 on a Road Trip...

Here’s an excerpt of the press release:

SANTA CLARA, Calif. – October 10th, 2011 – MontaVista® Software LLC, today announced secure HTML5 and Android support for its Automotive Technology Platform (ATP). The addition of HTML5 support is provided via MontaVista’s ModiiTM Digital Media Solutions Platform which adds a powerful HTML5-based UI Framework to its recently released GENIVI-Compliant Platform. The Android support delivers a high performance Android runtime environment, which opens up access to a vast number of popular applications from the entire Android ecosystem.

Complementing the Android and HTML5 capabilities, MontaVista has implemented a unique dual-layered secure environment consisting of both Security-Enhanced Linux (SELinux) and MontaVista Linux Containers. The SELinux, which was originally developed by the US National Security Agency (NSA), provides a highly secure role-based access control Linux environment. In addition to this, the Android and HTML5 applications are executed in a MontaVista Linux Container, which is an isolated virtualized container environment. This dual-layered secure environment provides unprecedented isolation in which to safely execute 3rd party applications and multimedia content with greatly reduced risk of affecting other automotive functions. The Android, HTML5 and security features are all highly tuned for performance and make extensive use of hardware acceleration.

These extended capabilities of the MontaVista Automotive Technology Platform provide design flexibility to automotive manufactures and tier-1 suppliers to build powerful in-vehicle-infotainment (IVI) systems while significantly accelerating time-to-market and lowering development costs of innovative new features. These new MontaVista ATP capabilities add powerful infrastructure to support interactive Mobile Applications via HTML5 or Android, two of the most popular emerging mobile application environments. In addition, the security features help alleviate concern over hacking and reliability problems in the application space and safely bridges the gap between the worlds of mobile applications and automotive infotainment.

You can also read the full press release on Montavista website.

Montavista announced the availability of the ATP back in August 2011 with the following key components:

Some of the key components of MontaVista Automotive Technology Platform are:

  • Linux-based, GENIVI-compliant platform with fast boot/start up, high performance, power management and security options built in
  • Comprehensive networking and internet support
  • Multimedia capabilities for audio and video requirements
  • Integration for consumer devices via Bluetooth or APIs
  • Vendor specific UI customization
  • Fully integrated tool set for application development
Mvista Automotive Technology Platform

Montavista Automotive Technology Platform Architecture

They have now added HTML5 and Android support to this platform to improve UI and multimedia development and “bridge the gap between the fast moving mobile app environment and the stringent security requirements of an automotive solution”.

Montavista HTML5 Android GENIVI Platform Example

Montavista ATP Example Use-Case

Montavista added-value features include:

  • Android framework (fully hardware accelerated)
  • HTML5 framework (fully hardware accelerated)
  • High performance lightweight virtualization (containers)
  • Security framework (SELinux)
  • Diagnostics (Flight Recorder)
  • Fast boot

Montavista also provides SDK and tools with the ATP framework including a software development kit supporting platform integration, a cross-development toolchain and MontaVista’s DevRocket Eclipse IDE.

Currently, ATP is fully GENIVI-compliant on the following platforms:

  • Freescale i.MX53 SABRE for Automotive (ARM Cortex-A8)
  • Renesas R-Car M1 (ARM Cortex-A9)

Since Atom is mentioned in the diagram, I suppose platforms based on Intel Atom will be officially compliant with GENEVI soon.

MontaVista will be showing demonstrations of its Automotive Technology Platform at the GENIVI Alliance All Members Meeting at the Wyndham Hotel in San Jose on the 11-14 October 2011.

Embedded Linux Conference Europe 2011

October 7th, 2011 No comments

ELC-E 2011, PragueEmbedded Linux Conference Europe (ELC-E 2011) will take place on October 26 – 28, 2011 at Clarion Congress Hotel in Prague, Czech Republic.

The event will be co-located with LinuxCon Europe 2011 and GStreamer Conference.

The day before the official opening of the conference, two tutorials will be offered on Tuesday 25th of October:b

ELCE consists of 3 days of presentations, tutorials and sessions. There will be over 50 sessions during those 3 days. I’ll highlight a few sessions that I find particularly interesting.

October 26

Linaro uses components from the Android Open Source Project, member companies, community supported efforts and Linaro engineering teams to build integrated, easy-to-use and well tested Android platforms for upstream work, product baselines and hobby projects. The team currently has platforms for TIs PandaBoard, BeagleBoard and Beagle xM, ST Ericsson’s Snowball, Samsung’s Origen and Freescale’s iMX53. They recently released platforms with Android 2.3.4 built against GCC 4.6 and running the 3.0 Linux kernel. In this session they will review what’s been done, the Linaro Android concept, how Linaro brings Android together and what their plans are.

This presentation will provide a series of techniques that can be used for Linux embedded systems fine-grain tuning and performances optimization. Embedded systems are, by definition, always limited in terms of resources while people keep on trying to use desktop-oriented software on top of it. This talk will present a series of tips that can be used to actually measure, find and isolate bottlenecks in your system, whether it is by complete system profiling or software architecture optimization. Focus also will be made on the traditional caveats that need to be avoided for your system not to be slow by design.

Android is built on top of Linux, it uses almost none of the components traditionally found in a standard Linux distribution or an embedded Linux system. Can “classic” Linux apps be made to run with or under or on Android? Can such apps be made to “talk” to Android components and vice-versa? Beyond getting the basic BusyBox, glibc and glibc-compiled apps running under Android, this talk will go over some tips and tricks for making classic Linux apps coexist and interact with the Android stack on the same Linux kernel. This presentation is for embedded developers wishing to understand how they can leverage “legacy” Linux and “embedded Linux” applications and software components in an Android environment. It assumes familiarity with Linux and “embedded Linux”. To benefit fully from this presentation, developers should also be familiar with the basics of Android’s internals.

The Yocto Project is a joint project to unify the world’s efforts around embedded Linux and to make Linux the best choice for embedded designs. The Yocto Project is an open source starting point for embedded Linux development which contains tools, templates, methods and actual working code to get started with an embedded device project. In addition, the Yocto Project includes Eclipse plug-ins to assist the developer. This talk gives a walk-through of the key parts of the Yocto Project for developing embedded Linux projects. In addition, features will be described from the latest release of Yocto. At the end of the talk, developers should be able to start their own embedded project using the Yocto Project and use it for developing the next great embedded device.

  • 17:15 – 18:30 – The Linux NFC Subsystem by Lauro Ramos Venancio, senior developer at Instituto Nokia de Tecnologia (INdT) and Samuel Ortiz, software engineer for the Intel Open Source Technology Center.

NFC (Near Field Communication) is a wireless protocol mostly designed for fast information reading and writing from nearby devices and tags. It also allows NFC devices to establish a transport layer link and exchange larger chunks of data. While Android ships with its own multi platform NFC stack writing HCI frames to a raw character device and supporting one single device, Linux is currently missing any kind of generic and clean NFC support, from both kernel and user space. Therefore, a new socket family for NFC, along with a kernel netlink API for high level NFC commands passing is being developed. An NFC user space daemon abstracts those kernel APIs into a high level D-Bus API for applications to easily use. This presentation will show the NFC netlink and D-Bus APIs, the NFC subsystem current status and the further work.

October 27

In recent years, Linux has enjoyed immense success in the embedded market, and we’ve seen an explosion in the number of devices supported by the mainline Linux kernel. Traditionally, however, adding support for another embedded machine typically involved adding yet another board.c file to the kernel which more often than not was simply cut and paste from a similar board. As a result, board support code contains a huge amount of duplication and has become so huge that it is becoming unmaintainable. To move away from individual board files, several architectures have adopted the Device Tree method of encoding the hardware details into a data structure which can be parsed by generic initialization code and device drivers. This session will discuss the current state of Device Tree support in Linux, and will using the device tree to bring up Linux on a new hardware platform.

Description not currently available.

  • 13:30-14:30 – Linux for In-Car Infotainment by Matt Jones, Technical Lead for the Next Generation of Infotainment systems at Jaguar Land Rover and Vice President of the GENIVI Alliance

This presentation for includes and overview of GENIVI, providing an update on the alliance’s charter and goals, accomplishments, members, leadership, working groups and future plans. Importantly it is then integrated with Jaguar Land Rover’s thoughts and plan for the roll-out of Linux into their vehicles. This includes the presenter’s opinions on high Linux based systems and Automotive processes need to change to work effectively. The GENIVI Alliance’s Linux based open source IVI platform has been broadly and rapidly adopted within the automotive industry. This new platform is driving significant cost reductions and faster development cycles for OEMs’ infotainment systems. Numerous Alliance Member OEMs have GENIVI complaint projects under development with launch dates swiftly approaching. As a result, a new ecosystem to support these solutions has evolved and is growing steadily.

  • 15:00 – 17:00 – PandaBoard Workshop by David Anders and Luca Coelho, Texas Instruments.

    This workshop will be divided into three 1-hour sessions:

    • Session 1: Booting the PandaBoard
      Learn the basics of running Linux on the PandaBoard. Detailed information on the boot process, kernel features, and debugging options will be covered with hands on experimentation.
    • Session 2: PandaBoard Expansion I/O
      Learn about the basics of utilizing drivers in Linux to perform simple I/O tasks including GPIO communications. The TinCanTools Beacon Board will be used as an example to let you test your ability to control and time signals on your PandaBoard’s expansion port.
    • Session 3: Booting the PandaBoard
      A hands-on introduction on how to hack the Linux kernel wireless subsystem. Learn how to use TI’s WiLinkT WL1271 Wi-Fi chip in the PandaBoard as a tool to help you develop, test and debug your own modifications to the kernel code.

October 28

Last March, the ARM Linux community got shaken by the complaints by Linus Torvalds for its lack of proper structure and organization. This is totally true and mainly due to the large number of different SoC vendors, each one integrating the ARM IP’s in a slightly different variant. Linaro immediately accepted the challenge to drive the kernel alignment of the ARM community and most ARM Linux experts got together and agreed on the way forward as early as May 2011 at the Developers’ summit in Budapest. ST-Ericsson is a founding member of Linaro and some key ST-Ericsson engineers are assigned to Linaro and specifically to this kernel alignment working force. In the speech, it will be described how ST-Ericsson is contributing to this important task and which improvements and benefits are measured when ported onto the Snowball low cost development kit, based on ST-Ericsson Nova A9500 Application Processor.

Systemd is currently being hyped as *the* sysvinit replacement and this presentation will show why it’s here to stay. A brief introduction to systemd will be given but the main focus is on showing how to integrate it into your favourite platform and how a few hours of tweaking can boot userspace into X11 in less than 1 second on the current generation of ARM chips. A comparison with slower low-end ARM chips will also be included and some design considerations when designing those low-end systems. The audience is system integrators and hobbyists that require a fast boot (e.g. robotics people). The talk will be fairly high level with a good chunk of time reserved for Q&A.

While developing Android distributions, 0xdroid and LEB (Linaro Evaluation Build),  much has been learned about the development approach to non-traditional open source software model such as Android Open Source Project. This session is expected to share the experience on how 0xlab established the community, contributed to upstream (in unusual ways), and leveraged the strong efforts from Linaro. Also, 0xlab develops a serial of open source projects to ensure overall performance and quality for better user experience.

Although embedded systems are less and less resource constrained, there is still a lot of demand for minimizing the image size, runtime memory usage, and boot time. The firmware, kernel configuration, hardware initialization, boot-time arguments, start-up scripts, and library sizes are all examples of things with a direct impact on your image size and/or boot time. There are several core processes involved with minimizing the size of an image, which has a direct impact on runtime memory usage and boot time. BSP developers will want to attend to learn about these processes and see how to apply them to any BSP. Darren will focus on configuration techniques that get you most of the way there and follow-up with source-level customizations that get you the rest of the way.

Those are just my choices among over 50 sessions. You can check the full schedule to find out which sessions suit you best.

You can register to ELC-E 2011 and LinuxCon Europe 2011 online.

There are two type of fees:

  • Professional Fee (If your company is paying for you to attend this event):
    • 350 USD through September 1 (Early Bird) )
    • 450 USD through October 4 (Standard)
    • 550 USD thereafter (Late)
  • Hobbyist Fee: 100 USD

Prices exclude VAT (20%)

What is GENIVI ? A Software Standard for the Automotive Industry

August 19th, 2011 No comments

GENIVI BlackI’ve recently read in the news that a few operating systems had achieved GENIVI compliance. So let’s see what Wikipedia says about the GENIVI Alliance:

The GENIVI Alliance was founded on March 2, 2009 by BMW Group, Delphi, GM, Intel, Magneti-Marelli, PSA Peugeot Citroen, Visteon, and Wind River Systems with the goal of establishing a globally competitive, Linux-based operating system, middleware and platform for the automotive in-vehicle infotainment industry. Since then, the alliance has expanded to more than 100 members who are working together to deliver an open and globally consistent software platform based on Linux for use by the whole car industry.

So the clear goal here is to have some set of software specifications and standards (Currently GENEVI 1.0)  in the automotive industry in order to speed time to market and reduce the cost of developing Infotainment applications.

GENIVI comes from a concatenation of Geneva and IVI (In-Vehicle Infotainment).

GENIVI Specifications and Compliance Program

GENEVI Platform Vision

GENEVI Platform Vision

As you can see from the diagram above, GENIVI aims to standardizes lower level software such as middleware and kernel using open source component, whereas at the application level, companies would still use proprietary (closed) software to differentiate themselves.

That means once a vendor writes an application that is GENIVI compliant, it would be able to support on any GENIVI compliant platform.

It seems the full specifications for GENEVI 1.0 are not available to non-members, and only summaries are available to the general public. For further information on GENIVI, you may read GENIVI Fact Sheet, White Paper and FAQ.

Members can have their platforms, products and services certified compliant via the GENIVI Compliance Program. However, as for the specifications, the details of the compliance program is not available to non-members.

If you want to access those documents, you’ll need to become a memeber. There are 3 types of membership to GENIVI: founding member (150,000 USD the first year, 100,000 USD for renewal) , core (25,000 USD per year) and associate (5,000 USD per year). Full details can be obtained on GENIVI website.

Current GENIVI Compliant Implementations:

The Future of GENEVI

Finally, you may want to watch the interviews below with the president and 3 director of GENIVI:

  • Graham Smethurst, President, GENIVI. General Manager of Infotainment & Communications System – BMW
  • Doug Welk, Director, GENIVI. Group Manger of Connected Vehicle Technologies & Applications – Delphi
  • Gerulf Kinkelin, Director, GENIVI. Innovation Area Manager of Electrocity, Electronics & Telematics – PSA
  • Kevin Smich, Director, GENIVI. VP, Segment Marketing – ARM

where they discuss the future of GENIVI and how companies can help contribute to its success.