Google Summer of Code 2019: Automotive Grade Linux projects
Automotive Grade Linux Introduction
What is Automotive Grade Linux?
Automotive Grade Linux is a collaborative open source project that is bringing together automakers, suppliers and technology companies to accelerate the development and adoption of a fully open software stack for the connected car. With Linux at its core, AGL is developing an open platform from the ground up that can serve as the de facto industry standard to enable rapid development of new features and technologies.
Project Proposals
Intermediate:
Task #1: Application development
Automotive Grade Linux is a project to create a Linux-based platform tailored for Automotive. One use-case is the dashboard in the car (IVI). Our reference UI is written in QML. The middleware in c/c++.
Your task will be to write a set of three AGL demonstrator applications consuming the provided APIs in creative ways (e.g. speed + navigation api = speed heatmap), document the applications, document the lessons learned in a set of training slides and hold a presentation
Mentors: Jan-Simon Möller, AGL Release Manager + TBD
Desired Knowledge: C/C++, QML
License: Apache 2.0
Advanced:
Task #2: Middleware and Application development
Automotive Grade Linux us a whole platform abstracting the hardware layer from the application layer by a middleware. This middleware framework handles access rights and security as well as the abstraction of the specific hardware from the upper layers.
Your task will be to write a full stack example application from driver abstraction (low-level
API) to middleware (high-level
API) to Application. Example is a laser-scanner frontend UI which gathers the sensor over the high-level
API and displays the data gathered from the lower layers in an intuitive UI. Your work should also be demonstrated during a conference.
Mentors: Jan-Simon Möller, AGL Release Manager + TBD
Desired Knowledge: C/C++, QML
License: Apache 2.0 and other
OSS licenses as applicable
Advanced++:
Task #3: Platform Development
Realtime capabilities are an important part of the requirements of automotive systems. One approach is to partition your CPU using a partitioning hypervisor and run an independent RTOS with the time-sensitive code.
Your task will be to port the partitioning hypervisor 'jailhouse' to an AGL reference platform (e.g. Minnowboard) and demonstrate that the 'zephyr' rtos can be a running in a 'cell'. You should also write an extension to zephyr to communicate with AGL middleware over websocket. Your work should also be demonstrated during a conference.
Mentors: Jan-Simon Möller, AGL Release Manager + TBD
Desired Knowledge: C/C++, realtime, RTOS, zephyr
License: Apache 2.0 and other
OSS licenses as applicable