======Google Summer of Code 2019: Automotive Grade Linux projects====== [[:gsoc:google-summer-code-2019|Main GSoC Linux Foundation page: How to apply, deadlines, other workgroups, ...]] ===== 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. ===== AGL Community ===== Website - www.automotivelinux.org Wiki – http://wiki.automotivelinux.org Git - gerrit.automotivelinux.org Mailing Lists - http://lists.linuxfoundation.org/mailman/listinfo/automotive-discussions IRC channel - #automotive on freenode Code Licenses: mostly Apache 2.0, MIT for own code, otherwise as upstream Primary Mentor contact: jsmoeller (at) linuxfoundation (dot) org ===== Project Proposals ===== * Experience Level: Description * 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