BeagleBoard.org® is excited to be one of over 200 communities chosen to participate in the Google Summer of Code 2019 (GSoC). GSoC, sponsored by Google, is a global program in it’s fourteenth year, focused on bringing more student developers into open source software development orgs during a 3 month programming project.
GSoC provides a way for BeagleBoard.org community members to identify and mentor new developers. Students work on specific projects to contribute to open source BeagleBoard.org software which is released for the use and benefit of all.
The process begins with posting new project ideas from the community and the recruiting of mentors. Students apply to the program by writing proposals based on the community project descriptions. Both the org and Google then vet proposals, students are accepted, matched with mentors, and the projects kick-off.
2019 BeagleBoard.org® GSoC Projects
The projects for this year’s program engaged mentors and students with a variety of skill and backgrounds. Overview, full documentation and code can be found for each project by selecting the links below:
Project 1: Click board Support Under Greybus
Student: Vaishnav M.A., Third Year Undergraduate Student, majoring in Electronics and Communication at College of Engineering Trivandrum, Kerla, India.
Click boards, by MikroElektronika, are a great way to add additional functionality to BeagleBoard.org® PocketBeagle. Over 600 add-on boards are available ranging from wireless connectivity clicks to Human Machine Interface clicks for interfacing with peripheral sensors or transceivers. Most use common protocols like SPI, I2C or UART to communicate and thus the support for them now until now has been accomplished via device tree overlays via the bb.org-overlays repository. This requires /boot/uEnv.txt to be modified to load the drivers at boot, requiring at least one reboot to enable the support.
This project aims to bring in partial hot-plug support for click boards through the Greybus Subsystem. In addition to a code repository, the student documented demonstrations of each of the completed Click boards in a blog.
Mentors: Ravi Kumar Prasad and Jason Kridner
Links to :
Project 2: PRU User Space API
Student: Pratim Ugale, Undergraduate student Veermata Jijabai Technological Institute (VJTI), Mumbai, India
Programmable Real-Time Units (PRU) are low-latency microcontroller subsystems present on the SoC powering the BeagleBoard.org® based SBC devices. They provide real-time processing capability lacking in Linux and thus can be dedicated to functions off-loaded from the main processor.
The goals of this project include the creation of an API for different programming languages to load/unload firmware, start/stop the PRUs and communicate with them from the Linux User Space using the RemoteProc, RPMsg drivers. The project will also sample PRU firmware and User Space software to demonstrate the use of the project. The project write up also reviews the basics of the PRU0ICSS and of how the RemoteProc and RPMsg frameworks work. The student documented the progress of the work throughout the project in a blog.
Mentors: Kumar Abhishek, Patryk Mężydło, ZeekHuge
Project 3: Xen on BeagleBoard®-X15
Student: Denis Obrezkov, Graduate Student, Universitat Bremen, Germany
The idea behind this project is to make Xen hypervisor available and easy to use on BeagleBoard®-x15, which uses the AM5728 SoC. This implementation will allow users to experiment on embedded virtualization and in related fields like automotive, critical systems prototyping and processor’s resources sharing. It might also provide very interesting possibilities for heterogeneous resources’ utilization. Another important outcome for both Xen and BeagleBoard.org® communities is a set of documentation on installation and usage processes. The most interesting outcome is the availability of open-source virtualization on top of the open-source hardware.
Mentors: Julien Grall, Iain Hunter, Hunyue Yau, Stefano Stabellini
We would like to thank all of the students and mentors for their participation in GSoC 2019 and encourage community members to continue to mentor these projects through participation in our forums and engaging the developers directly.