= Google Summer of Code 2015 = [[TOC(GSoC/2015, depth=2)]] This page captures the students who make proposals as well as those who work on projects for RTEMS as part of GSoC 2015. [[Image(banner-gsoc2015.png)]] = Students' Proposals = Start filling in this table for yourself as soon as possible and update as needed. || '''Student''' || '''Completed Hello''' || '''IRC Handle''' || '''Proposal Title''' || '''Google Docs URL''' ||NAME || Yes or No || nick on #rtems || Project Title || Link to Google Docs for proposal (shared with mentors) ||Sujay Raj || Yes || sujayraaj || Port Monkey HTTP Server || [https://docs.google.com/document/d/1BdTmdqwQPG4GxdEa3845K6iLQfUMAGvbmVyZh-uDgRY/edit?usp=sharing proposal] ||Richa Sehgal || Yes || richashi || ~~Run Time Tracing~~ || ~~TBD~~ ||Ragunath D || Yes || ragunath || Beagle BSP improvements || [https://docs.google.com/document/d/1NxW6m8osEmjuHwz61N0FAtNasH0YMa-7UvUpoqCmM30/edit proposal] ||Andrei Popescu || Yes || andrei_ || Condition Variables || [https://docs.google.com/document/d/16EBmWcQw9YccUycofJIlwF98p21PQPq-EJXupes-K80/edit?usp=sharing proposal] ||Hesham ALMatary || Yes || Hesham || Support Rump Kernels on RTEMS || [https://docs.google.com/document/d/1V8w3uHCRjYeIZF1w3aQ0qz-goDhPh91sv7PEGYb7cEU/edit proposal] ||Ketul Shah || Yes || ketul || Beagle BSP improvements ||[https://docs.google.com/document/d/1CFv4u_SCgrHmES3eQqhRlDcKrJ1zsrbkix8hENIkXBM/edit?usp=sharing proposal] ||Yang Qiao || Yes || yangqiao || Raspberry Pi BSP improvements || [https://docs.google.com/document/d/1VrrrGbAc7pqZaZFzlvXoRfAAiGMYLuw90xYKPs-FMMU/edit?usp=sharing Proposal] ||Yurii Shevtsov || Yes || gtament || Raspberry Pi USB Support || [https://docs.google.com/document/d/1q0a53A26AedgyIiN5jwYQiS_aGbABCAc2_D7Vk1sdSU Proposal] ||Andre Marques || Yes || asuol || Raspberry Pi Low Level Peripherals and SD Card || [https://docs.google.com/document/d/11K0qU3OsbSMhNYkTTWt4kitAbd6uuJBcMfA_07Lg6j8 Proposal] ||Jarielle Catbagan || Yes || jrcatbagan || Beagle BSP improvements: Porting micromonitor to boot w/out U-boot || [https://docs.google.com/document/d/1pGQ60e5A4JcXl9_gkBEutIgb6AhiQ00MPJN6J1rSKT8/edit?usp=sharing Proposal] ||Anand Krishnan Prakash || Yes || anandkp92 || Configuration GUI || [https://docs.google.com/document/d/1OOKr9px9yYtAjUvLJM1_Js4xxsg_fXxnN3AWaf3IUp0/edit?usp=sharing Proposal] ||Saurabh Gadia || Yes || sgworks || Nested Mutexes || [https://docs.google.com/a/usc.edu/document/d/1KYp2sJ-hw-Et3e78AsbzDG4ISAbbwuDS3YdzMq05gAg/edit?usp=sharing Proposal] ||Rohini Kulkarni||Yes||krohini||Raspberry Pi 2 Support||[https://docs.google.com/document/d/1t0Qj1l5kMZhwIpot7QWYJ4S9APhd4JHv9Xz2t-9rJWA/edit?usp=sharing Proposal] ||Charith Eranga||Yes||charith||~~RTEMS Clang Support~~||~~TBD~~ ||Waleed Ziad || Yes ||waleedziad||Raspberry Pi 2 Support ||[https://docs.google.com/document/d/17FMNQcIwKTF6sDLF9SlT4R3GBWmpKbRvGijEkfV45yY/edit?usp=sharing Proposal] ||Abdelhamid Amer || Yes || abd_elhamid_ || Stack Analysis for RTEMS || [https://docs.google.com/document/d/17HahCCLfCQD4WRBGRucOTtkWw4VlRABEirunipTVdEI/edit?usp=sharing Proposal] ||Hermann Felbinger || Yes || hermann_19829 || Improve Code Coverage Analysis Meeting Aviation and Automotive Standards || [https://docs.google.com/document/d/14akfj6AIc0HBZ1ZSTc8Hp7MX8k7wrh495Jl3ngvTJDQ/edit?usp=sharing Proposal] || Carlos Falgueras || No || fark || Raspberry Pi BSP Peripherals || [https://docs.google.com/document/d/1Ezr3bseIVOceYlb-pbFJ46vsj_U-q38tPs0-409WPCw/edit?usp=sharing Proposal] || Gowtham Ashok || Yes || gwty || Merge LEON into RTEMS || [https://docs.google.com/document/d/1jq5d6ZPSAdUs31PieMez6Xbbx70HeZj-n6Vkisho-9E/edit?usp=sharing Proposal] || VARA PUNIT ASHOKBHAI || Yes || punitvara || Port RTEMS to IntelĀ® Galileo || [https://docs.google.com/document/d/1w5nqlvOfEJ-jOC47K8NFsgTI9NeCLFKdnZYMejWEBWE/edit?usp=sharing proposal] || VARA PUNIT ASHOKBHAI || Yes || punitvara|| Development of RTEMS Board Support Package for x86_64 Architecture|| [https://docs.google.com/document/d/1eSAJcg2cFoAgleEiev-fMBEZR-MOePlQlZQckStabJo/edit?usp=sharing proposal] The columns are to be filled in as follows: * The ''Student'' column is for your name. * The ''Completed Hello'' column lets us all know whether or not you completed the require Hello World project. Based upon our experience, students who have successfully compiled and run an RTEMS application have a MUCH MUCH higher chance of success on the proposed project. * The ''IRC Handle'' column is your handle on IRC. RTEMS folks hang out in #rtems on freenode.net. * The ''Proposal Title'' should be self-explanatory. * The ''Google Docs URL'' is your proposal in Google Docs that can be reviewed and commented on by mentors. The [https://docs.google.com/document/d/1F5XCodvX8AYNqWX5ssu7dfjkmFT__83uf8ABKbB_Pkg/edit?usp=sharing proposal template] should be '''copied''' and used as a baseline. This can be shared with mentors for review. Mentors can insert comments for you. '''WARNING''': The Google Docs version of the proposal is a '''WORKING''' copy. You '''MUST''' submit the official and final proposal using the Google Melange site. If you do not submit the final proposal via the Google Melange site, you cannot be considered = Students' Summer of Code Tracking Table = Students whose GSoC project is accepted by RTEMS shall fill in a slot with their information in the following table, which helps to centralize [wiki:Developer/GSoC/ProjectManagement SoC Project Management]. ||'''Student Name'''|| '''IRC Handle''' || '''Project Link''' || '''Repository Link''' || '''Blog''' || '''Calendar''' ||NAME || nick on #rtems || Link to Project Wiki page || Link to project's public Github repository || Link to your development blog || Link to Calendar with Schedule ||Yurii Shevtsov || gtament || TBD ||[https://github.com/gtament/rtems-libbsd Github]|| TBD || TBD ||Rohini Kulkarni||krohini||[https://devel.rtems.org/wiki/GSoC/2015/RaspberryPi2Support Wiki]||[https://github.com/krohini1593/rtems Github]||[http://rohiniwithrpi2.blogspot.com/2015/05/introduction-to-project.html Blog]||TBD ||Sujay Raj||sujayraaj||[https://devel.rtems.org/wiki/GSoC/2015/Monkey Wiki] ||[https://github.com/sujayraaj/monkey Github] ||[http://beowulfgsoc2015.blogspot.in/ Blog]||TBD ||Anand Krishnan Prakash||anandkp92||[https://devel.rtems.org/wiki/waf/GUI wiki]||[https://github.com/anandkp92/waf Github]||[https://aroadtocode.wordpress.com/ Blog]||TBD ||Saurabh Gadia||sgworks||TBD||TBD||TBD||TBD ||Andre Marques||asuol||TBD||[https://github.com/asuol/rtems Github]|| [https://asuolgsoc2014.wordpress.com/ Blog] || [https://www.google.com/calendar/embed?src=15cl6f09ldthkv0h5e4c3v5vc0%40group.calendar.google.com&ctz=Europe/Lisbon Calendar] ||Jarielle Catbagan||jrcatbagan||TBD|| [https://github.com/jrcatbagan/umon Github] || [http://www.jariellecatbagan.com/ Blog] || [https://www.google.com/calendar/embed?src=tj6g9qkcps98mj106fo9qmenbc%40group.calendar.google.com&ctz=America/Los_Angeles Calendar] ||Ragunath || ragunath || [https://devel.rtems.org/wiki/GSoC/2015/Beagle_BSP wiki] || [https://github.com/ragunath3252 Github] || [http://ragustechblog.blogspot.in/p/google-summer-of-code-2015.html Blog] || TBD ||Ketul Shah|| ketul || [https://devel.rtems.org/wiki/GSoC/BeagleBoard_BSP Wiki] || [https://github.com/ketul93/RTEMS-on-BBB GitHub] || [https://ketulgsoc2015.wordpress.com/ Blog] || TBD ||YANG Qiao|| yangqiao || TBD || [https://github.com/yangqiao/rtems GitHub] || [https://blog.yangqiao.fr Blog] || TBD The columns are to be filled in as follows: * The ''Student'' column is for your name. * The ''IRC Handle'' column is your handle on IRC. RTEMS folks hang out in #rtems on freenode.net. * The ''Project Link'' is a link to the Wiki page for your project. * The ''Repository Link'' is a link to the github repository for your project. * The ''Blog'' is a link to your blog with entries about your project. It should be updated regularly during the summer. * The '''Calendar''' is a link to your Google Calender with milestones and deliverables identified. = Student Status Updates = Each student has a section below for putting in notes from the weekly IRC meetings. == Gedare == * May 19: Added the Status Updates page, and created this subsection as an example. For next week, I will talk to any students who missed the meeting and follow-up on any problems that were identified. == Andre Marques == * May 19: I have been trying to load code on the PI with openocd through JTAG, and checking the GPIO API, which will be my first task. The first step will be adding locking mechanisms, as that is one of the main features currently missing. == Anand Krishnan Prakash == * May 19: I've looked at wxpython which I will be using to make the GUI and I'm still looking into how waf works (need to figure out how much I need to know about waf for this project). I've made a draft version of how the gui would look and now I plan to incorporate changes suggested by my mentors and also think of how the user will start/stop the GUI. * May 26: New version of gui made based on suggestions from mentors. For this week, I will look up how to go about grouping the configuration options. [https://docs.rtems.org/doc-current/share/rtems/html/c_user/Configuring-a-System.html#Configuring-a-System This] would help in that. Also plan to start coding for the same. == Saurabh Gadia == * May 19: 1. verify and freeze the proposed solution 2. Set up the essential environment. 3. Set up the blog having design docs. 4. Start working on suggested formal method of validation * May 26: Tasks accomplished last week: 1. Finalizing the design for "nested mutex" problem. 2. Creating formal documentation for the proposed solution. 3. modelling the test cases 4. Setting up the configuration environment. - Task for this week: 1. evaluate which test case is failing in testsuite(sptest) 2. Code the solution for sparc platform. 3. Validate whether the algorithm solves the problem. 4 Then move on to formal validation process as time permits. 5. Documentation on rtems wiki. == Rohini Kulkarni == * May 19: Functional Pi 2. Have run benchmarks. I have been referring to TRMs for details. For next week, its completely identifying cache configurations and testing. Resolve issue faced with respect to scu implementation. * May 26: Looks like cache/mmu setup has been identified, except enabling maintenance operations. Start implementation and subsequent testing. Resolved SCU related issue. Started work with bsp hooks, first with hook 0. Identify common code with existing cortex-A9. == Yurii Shevtsov == * May 19: I managed all compilatoin problems. So build environment is ready. Right now I'm studying libbsd, also there are few moments, concerning libbsd usage left unclear. Oh, I also have to do "paper work", like establishing blog, wikipage. * May 26: I pulled FreeBSD driver for the bcm's USB port (DWC OTG) to my libbsd fork. I'm going to port it during this week. I hope it will be able at least to enumerate devices (hub and phy). == Ragunath == * May 19: First task is adding networking support. For this I will be porting ethernet driver from FreeBSD to rtems-libbsd. I have been studying some already ported drivers from FreeBSD to rtems-libbsd. Current progress,I pulled the driver from Freebsd and compiled it with the latest rtems-libbsd. Next target is to code all the rtems specific changes needed and check with the mentors whether that is sufficient.Then try to solve any issues that arises. * May 26: Added the driver to nexus files to get linked with the application as a child of nexus device.Then I defined the resource structure that defines bus handles and interrupt initialization. BBB uses SMC LAN8710A PHY. That phy driver is also ported from FreeBSD. Fixed some fdt, sysctl related changes. Now we are able to read mac address from the device. Facing a hang issue when link goes up. Currently debugging it. == Jarielle Catbagan == * May 19: Currently, I have a basic image to perform UART booting on the BBB. As of right now I am transferring my changes from the initial Umon 1.19 sources to the new revised Umon git source tree obtained from the RTEMS repos. Furthermore, I am also working on a copy of the CSB740 port by replacing the CSB740 specifics with that of the BBB/ARM Cortex-A8 while maximizing code reuse as much as possible. From now up uptil the next status update, I will continue finishing the remaining logistics of the project, continue working on the base files of Umon to get an initial image up and running while committing and pushing my changes regularly. I will draw up inspiration from existing Umon port implementations for the design of the BBB port. Finally, I will continue looking into the ARMv7A ARM Architecture Reference Manual, specifically the application level and system level architecture to help me understand the fundamentals of RTEMS and Umon. * May 26: The boot process that the AM335x/Beaglebone Black undergoes and the possible sources to boot from has been determined. The ideal boot sources to transfer and/or execute the initial image is either from a uSD or via UART. Porting Umon is underway and I am approaching the port with the notion of a top-down approach. That is starting from the entry point where program execution first starts and then traversing the source code while replacing irrelevant and integrating the essential/necessary code. In the context of the Beaglebone Black, program execution starts at rom_reset.S and then jumps to the C code initialization in start.c. My current effort is to integrate the initial functionality and mechanisms specific to the AM335x into these startup files and then have it inter-work with the existing Umon implementation. For my references, I will continue using the ARMv7A Architecture Reference Manual as well as the AM335x Technical Reference Manual, Beaglebone Black System Reference Manual, and the Umon User Manual. == Sujay Raj == * May 19: Got qemu networking figured, and successfully set up development environment on rtems virtual machine. Will be setting up the same on my pc. The next week will involve understanding Monkey's source code. A blog and calender will be established asap. * May 26: networked applications running (using the old stack) on my pc. Last week was spent on reading Monkey current development version's code. Initially it was planned to implement a select (2) version of the polling system. But it was concluded that select on rtems is slow and limited and hence we have to proceed with the new stack. Compiled rtems-libbsd with waf and I am in process of getting things working with it. In the next few days, I will get new stack completely covered, and focus on kqueue. == Ketul Shah == * May 19: Currently designing GPIO drivers for BeagleBone Black. I have already designed gpio drivers for output configuration and trying to make it more generalized API. In the next week I will be making it in generalized way according to suggestions from developers. * May 26: Currently I am tesitng my code on BBB and rectifying some errors with consulting mentors. Probably by next week we will be able to merge the code to manline and yah blog and calender I will be establishing this week. == YANG Qiao == * May 19: Mailbox and simple frambuffer implemented. Drawing pixels has tested. Next week I'll will look into the EDID retrieval, resolution autodetection and framebuffer text console implementation. * May 26: Graphic text output and its drawing implemented. Graphic output without drawing cursor has implemented (only by serial for input devices haven't been ported). Next week,communication with videocore, read EDID will be implemented and resolution autodetect would be active. Clean up and patches would take a bit more time.