= 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]|| [http://gtament-rtems.blogspot.com/ Blog] || [https://www.google.com/calendar/embed?src=jagq7dfntgaprdgsv0oer3h4uo%40group.calendar.google.com&ctz=Europe/Kiev Calendar] ||Rohini Kulkarni||krohini||[https://devel.rtems.org/wiki/GSoC/2015/RaspberryPi2Support Wiki]||[https://github.com/krohini1593/rtems/tree/rohini Github]||[http://rohiniwithrpi2.blogspot.in/p/blog-page_3.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/GSoC/2015/GUI wiki]||[https://github.com/anandkp92/waf Github]||[https://aroadtocode.wordpress.com/ Blog]||[https://www.google.com/calendar/embed?src=a0vef436u24eg4attn3v5apvf0%40group.calendar.google.com&ctz=Asia/Calcutta Calendar] ||Saurabh Gadia||sgworks||[https://devel.rtems.org/wiki/GSoC/2015/NestedMutex Wiki]||[https://github.com/saurabhgadia4/rtems Rtems_Github] [https://github.com/saurabhgadia4/lock-model JPF]||[https://rejuvinatewithme.wordpress.com/ Blog]|| [https://www.google.com/calendar/embed?src=usc.edu_h2fh1v7t2fvvjbj1foaqlr2b08%40group.calendar.google.com&ctz=America/Los_Angeles Calendar] ||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||[https://devel.rtems.org/wiki/GSoC/2015/BeagleBSPPortingUmon Wiki]|| [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/ Blog] || [https://www.google.com/calendar/embed?src=ragunath3252%40gmail.com&ctz=Asia/Calcutta calendar] ||Ketul Shah|| ketul || [https://devel.rtems.org/wiki/GSoC/2015/BeagleBoard_BSP Wiki] || [https://github.com/ketul93/RTEMS-on-BBB GitHub] || [https://ketulgsoc2015.wordpress.com/ Blog] || [https://www.google.com/calendar/embed?src=br16ka2307d26kg2j6cglhom8c%40group.calendar.google.com&ctz=Asia/Calcutta Calender] ||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. * May 26: Missed the meeting due to a university project presentation. Continued to work with JTAG and openocd. The problem seems to lie in the GPIO pin setup for JTAG, as up until now the pins were only configured for a certain alternate function, but the corresponding pull resistors also need to be adjusted (disabled). At this point I seem to be able to send code to the PI, but cannot execute/debug it. * June 2: I have been going through the RPI GPIO API, and have added some locks on the interrupt create/disable functions and am currently evaluating the locations where locking may be needed. I have came to the conclusion that is best to define locks on API functions than on a per pin basis.At the same time I am separating the RPI specific code into separate functions, which could in the future be implemented by each BSP using the API to provide the BSP specific implementation as to provide the required GPIO functions. I intend to post this more clearly on my blog this week, and also check ketul's GPIO work on the BB so we can start to coordinate some ideas. * June 9: This week I have gathered my views on the rtems GPIO API on a blog post and continued to separate the RPI specifics from the generic code. The blog post was announced on the devel-ml yesterday, but I expect it to take a while to have some feedback. At this point the RPI code is almost completely contained on a separate file, and after that I will be adjusting the generic API to reflect the changes mentioned in the blog post regarding API and BSP initilization, and the changes in the interface with an user application. == 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. * June 2: A basic set of groups has been made and each group is associated with a tag. I'll populate the options with the most appropriate tag/group (currently left blank) and will verify it with my mentors. * June 9: The options have been populated completely. Right now with this tentative list, we will enable each option to belong to one or more than one group. MVC Concept would be used to build the GUI. The GUI would produce the "config.cfg" file which is produced after we run the "waf config" command. * June 16: This week, I compiled the waf version and got to see what the output of the gui is supposed to be - creating the config.cfg file which is later used for waf configure. Started work on the gui. The outlay of menus are done and can be found [https://github.com/anandkp92/waf/tree/waf/gui here]. This week I plan to include tabs and other panels and complete the 'looks' of the gui. Currently Amar is creating functions that gets/sets the options. Once we both are done with our individual parts, I will incorporate the gui with these functions (in the event handlers) to get the expected version of the gui. == 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. * June 2: [''Accomplishments'']: Proposed solution with ppt which can be found in wiki section. working on the revised changes made to thread priority related code by sebastian. [''Next Task'']: Fix the master branch for compiling strict_order mutex configuration. Discuss the scope of JPF relating to this project. Setting up the JPF environment as means for validating the design and proposed solution. * June 9: 1. Complete the setup of JPF. 2. Re-write the test case spsem02 3. Understanding the working of JPF. 4. Work on how to emulate the behavior of nested mutex in JPF. 5. Have detailed discussion with Cyrille about further process in JPF and set the milestones accordingly. * June 16: 1. Complete the JPF coding for discussed lock-model which emulates RTEMS behavior. 2. Complete the unfinished task of confusion regarding the spsem02 test case. Get code reviewed by Cyrille for JPF and then discuss further required improvements or test scenarios. == 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. * June 2: Tested identified cache configurations. Performance is not as expected. For next week complete cache/mmu configuration. * June 9: Follow up to improve cache/mmu configurations. Started work on SMP. Understand mailboxes and smp implementation with mailboxes. I aim to start implementation for the same this week. * June 16: Understood use of mailbox for SMP and started implementation. Achieve significant progress in terms of SMP implementation in the coming week. == 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). * May 33: I started porting DWC OTG driver. Now it compiles. Also I discovered I need some mailbox methods, which, as I understood, are YANG's task. He said he will finish it till this weekend. (The actual discussion is on devel). But I'm planning to try driver without those procs. So I'm working on testing app. == 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. * June 2: Found the root cause for the hang issue. The issue is due to rx interrupt getting enabled before it is serviced. I put a temp hack fix and proceeded. I am able to go to the shell and execute commands. ifconfig of the interface works. irq's are established. Next week I will be working on the packet processing side. * June 9: I worked on packet processing this week. We are able to receive the packets and it is moved up the network stack successfully. Transmission of packets have an issue. The network stack generates packets and it reaches the driver. But the packet is not received on the external side. The stats registers shows that the packets are transferred properly. There are no crc, overrun errors. I also checked for connectivity errors using ethtool and that too was inline with working scenarios.The interface includes an Address lookup engine which decides how the packet is transmitted. This is where there is difference between working freebsd driver and rtems driver. Here rtems has some junk entries which are not part of the network. Working driver has entries for only those mac addresses for which it received packets. In rtems there are some random entries which is wrong. I am checking why it happens. I am checking working freebsd driver and checking what might be a possible issue. == 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. * June 2: During the process of converting the initialization file for running Umon from ROM (rom_reset.S) in the csb740 port to the Beaglebone Black, some existing code were reused as the processor in the csb740 port and the AM335x processor share some similarities. The reused code encompasses the fundamental and required initializations. These included retaining the stack initialization for each of the processor modes as well as setting the processor to an initial processor mode, which is supervisor mode. Right now, I am consolidating the necessary information in order to develop the mechanisms to initialize and set up the external DDR3 RAM on the board. This will provide the capability of removing an application's reliance on the limited internal SRAM Furthermore, the utilization of this external memory will allow larger images to run on the system. From the information I was able to obtain it is both practical and efficient in initalizing the external memory at a very low-level, and as a result this process will be done in rom_reset.S. Shortly after, rom_reset.S jumps to the first C-defined function start(). Mostly like the mechanisms to manipulate the external memory will be done in C. * June 9: The previous Umon image that was built was using the previous Umon 1.19 sources. The new Umon source tree, which was obtained from the RTEMS git repos, is stripped of any code that would conflict with the licenses involved. During the process where code was being removed, the directory/file structure of the new Umon source tree was shifted around to the point where a Umon image cannot be built immediately. After performing the necessary modifications, the basic Umon image that boots from UART and was built from the Umon 1.19 sources can now be built with the new Umon source tree. I have also looked more extensively in the initialization that Umon undergoes. Umon does the minimum system intializations with the ultimate goal of presenting the Umon command line to the user. As mentioned in the previous status update, in the context of the AM335x/Beaglebone Black, program execution first starts at rom_reset.S. This contains the low-level mechanisms to initialize the system. From here, a jump to the first C function start() is performed. The general order of function invocation after start() is umonBssinit() -> init0() -> init1() -> init2() -> reginit() -> init3() before finally reaching CommandLoop() where the Umon command line is presented to the user. Getting to this point is the main goal. Since I am approaching the porting process with a top-down approach, the first step would be getting umonBssInit() to function properly. Delving into the specifics of this function, it can be seen that it manipulates the memory location whose base address is 0x80000000. Referring to the AM335x TRM, this is the start location of the external DDR3 SDRAM. As of right now the main focus is performing the necessary configurations to get the external DDR3 SDRAM working before proceeding to modifying the next initialization functions along the chain previously specified. * June 16: Since the last status update, I elaborated extensively the approach that I am taking in porting Umon as well as the fundamentals of DDR3 SDRAMs which can be found in my blog. I have also consolidated all the necessary information that pertain to the composition, operation, and requirements of DDR3 and I am currently implementing the DDR3 configuration in rom_reset.S. The BBB that I have has a 512MB DDR3 SDRAM, which is the D2516EC4BXGGB from Kingston, and I have already familiarized myself with the parameters of the DDR3 as it is required during the DDR3 configuration. The memory subsystem on the AM335x, and subsequently on the BBB, that interfaces with the DDR3 SDRAM is the EMIF subsystem as specified in section 7.3 in the AM335x TRM. Fortunately, TI has a dedicated wiki that provides tips and insights on the configuration of these registers within the EMIF subsystem in order to interface with DDR3. There is also essential information in the JEDEC DDR3 Standard specification, in particular section 3.3.1, as it concisely summaries the sequence of steps required in order to reset and initialize DDR3 properly. As a result, this is also utilized as reference for the current DDR3 implementation effort. There are also the DDR PHY registers that must be configured accordingly based on the characteristics of the board where the DDR3 exists in order to ensure that proper timing is performed for all DDR transactions. Additionally, the clocks going into the DDR memory must also be configured as specified in section 7.3.3.2 in the AM335x TRM. The information that will be utilized to configure the DDR clocks is in section 8.1.6.11 in the AM335x TRM as well. Once the DDR3 configuration is implemented, a simple test that I will be performing to ensure that the DDR3 is setup properly is by manipulating predetermined values within the DDR3 memory range and then outputting the values through UART0. This memory range of the EMIF subsystem, and as a result it is also the memory that can be allocated to DDR3, is 0x80000000 - 0xBFFFFFFF. This is equivalent to 1GB. The modifications/additions to the Umon sources will be pushed accordingly. == 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. * June 2: Past Week: Most of my time was spent on getting the new stack running. It installs and programs compile using it, but it is not running properly with network demos . I spent around four days working on it with no avail, presently kiwichris is working with me for getting it to work, and hopefully it will be resolved in a day or two. I started with monkey, compiling it with freebsd There weren't major issues and because of the patch kiwichris posted some time ago, things are comparatively smooth. Next Week: Working on rtems-libbsd will be on the sidelines as chris helps me set it up. I will be working solely on monkey. ( I am going to ask edsiper after the meeting about where to head next ). == 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. * June 2 : Almost done with the generalized gpio API and successfully tested on hardware too. My next task is to work with the GPIO Input and ADC driver development. For that I would be referring TRM of AM335X and probably by next week I will be able to have simple demo with push button on BBB. * June 9 : This week I will address most of the comments from mentors and will also coordinate with RPi student for making GPIO API more generalized. Also this week I am going to add required registers (reference:- TRM of AM335x) mapping which are required for ADC interfacing for BBB. == YANG Qiao == * May 19: Mailbox and simple frambuffer implemented. Drawing pixels has tested. Next week I'll will look into the i386 bsp's code and other references for EDID retrieval, resolution autodetection and framebuffer text console implementation. * May 26: Tested the fb interfaces, read and ported part of reusable code from i386 bsp. Next week,Graphic text output would be implemented. * Jun 2: 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. * Jun 9: fb graphic text console implemented. Part of useful supports for videocore, communicated by mailbox property channel, are implemented. Next week, review, discuss, cleanup all codes, write sample/tests if needed. test and create patch for mailbox, framebuffer, videocore, fbcons individually. ready to move on for graphic libraries porting.