Google Summer of Code 2015 has started. RTEMS is a participating organisation, and the set of accepted proposals was just announced some time ago. And it's a big deal. Not in the least for the RTEMS Beagle support!
Google Summer of Code Projects
Google Summer of Code is a Google-sponsored program intended to get people into the world of open source. Google pays a stipend to let a student work on an open source project in the summer holidays. The project is with an open source organisation ('org' in GSOC parlance). The student then needn't take a summer job but learns about how contributing to open source works instead.
Participating in the community, proposing ideas and designs and working with the community to implement them and merge them with the project is all part of the experience. This is done under the guidance of a org-appointed mentor. The mentor knows the org and the project well enough to guide the students through this process. Hopefully, the students will stay and continue to contribute to the project after GSOC is over.
Coding has started
As the GSOC 2015 Timeline shows, coding has started. At RTEMS we have weekly IRC meetings with students & mentors at which students present their progress, sticking points, and plans for the next week.
I am mentoring
I am co-mentoring 3 projects. And I'm very excited about their potential. A full table of projects is in the tracking table on the RTEMS GSOC page.
Beagleboard.org is generously donating
Jason Kridner of Beagleboard.org has contacted us and stated that Beagleboard.org will donate a Beaglebone Black to students working on Beaglebone projects for GSOC, even for non-Beagleboard org GSOC projects. He has shipped all 3 students working on the RTEMS Beagle BSP a Beaglebone Black. Fantastic initiative! We're grateful to Beagleboard for this contribution and I hope it will benefit the students greatly, in their GSOC project and afterwards.
Beagle peripheral improvement by Ketul Shah
Ketul is going to be improving peripheral support for the Beagle BSP. He already has a lot of GPIO functionality working and we are working on making a nice clean GPIO API that is sufficiently general to be a BSP-independent API for GPIO for RTEMS. We intend to align it with the Raspberry Pi GPIO API as well, i.e. make it actually generic for those two BSPs already. That would be quite an advanced contribution for a GSOC project in itself! Beagle peripheral improvement by Ragunath
Ragunath's first priority is going to be getting an Ethernet driver working for the Beaglebones. He will be using the FreeBSD code and RTEMS' libbsd to build it. He already has it building and interfacing to the hardware to a great extent, very impressive rate of progress! Ethernet functionality will really help the BSP grow up tremendously.
BSD-licensed bootloader by Jarielle Catbagan
Jarielle is working on a BSD (or similarly liberal) licensed bootloader for the Beagle BSP. Currently booting an RTEMS image for the Beagles relies on uboot which is GPL-licensed. Unfortunately the GPL is a big problem for many users and clients of RTEMS and RTEMS prefers to provide a full set of software that will get you from poweron to running RTEMS without a license that is something of a liability. Jarielle is already very far with building & running Micromonitor on the Beaglebone so that is very encouraging. We're lucky to have Ed Sutter, author of umon, to co-mentor this project.
Uboot is part of the reason some Beagle changes (in the rtems tools and rtems source builder repositories) aren't fully merged yet with mainline. A significant side-effect of this project is hopefully to provide a full boot without uboot and merge the result with rtems tools and rtems source builder.
All of these projects together will bring about a big improvement to the Beagle BSP on RTEMS. The Beagle BSP has attracted quite some attention to RTEMS which is great. Making it more fully featured and within just a few months is just fantastic. I'm thrilled to be a part of it.