This summer, four student projects in the Google Summer of Code 2019 (GSoC) will be mentored by BeagleBoard.org®. GSoC, sponsored by Google, is a global program in it’s fourteenth year, focused on bringing more student developers into open source software development during a 3 month programming project.
After going through a detailed and thorough application process the following four projects will be developed this summer. Check out the intro videos from each student:
Clickboard Support Under Greybus Project by Vaishnav M.A.
Click boards from MikroElektronika offer hundreds of add-on boards ranging from wireless connectivity to sensor boards which expand the use of BeagleBoard.org® PocketBeagle® . Most use the common protocols like SPI,I2C or UART to communicate and thus the support for them now is accomplished via device tree overlays via the bb.org-overlays repository. This requires at least one reboot to enable the support in a potentially error-prone way. This project will enable Click Board Support via Greybus Simulator to make the interfacing easier.
PRU User Space API Project by Pratim Ugale
Programmable Real Time Units (PRU) are fast (200MHz, 32-bit) processors within the AM3358 SOC with single-cycle I/O access to a number of the pins and full access to the internal memory and peripherals. They are a great resource for low latency tasks such as motor control. This project aims to provide an API for different programming languages to load/unload firmware and communicate with the PRUs from User Space. A GUI application that runs on the terminal will also be provided for debugging the PRUs step by step.
Xen on BeagleBoard®-X15 Project by Denis Obrezkov
Xen is a hypervisor that enables the simultaneous creation, execution and management of multiple virtual machines on one physical computer. The project will make Xen hypervisor available and easy to use on BeagleBoard®-X15. 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 will also provide possibilities for heterogeneous resource utilization. The project upon completion will provide open-source virtualization on top of open-source hardware.
Reference Design For A GPIO-based Parallel Bi-Directional Bus Project by Pranav Kumar
Many users will benefit from having multiple input and output capability in their projects with BeagleBoard.org® hardware. This project will create a hardware/software design incorporated with shift registers to allow BeagleBoard.org® hardware to communicate with other hardware via a parallel, bidirectional bus. It will also create a software design that incorporates both a kernel driver to communicate with the parallel bus and a user space application/library using ioctl() calls to communicate with this kernel driver.
GSoC is a great way for both new student developers and existing community mentors to get involved and contribute to the community while developing skills. Please encourage these and other students as they work on projects by helping out in the forums and on the IRC chat.