<div dir="ltr">If there are still potential GSOC students out there looking for a project, I would like to offer a potential project to work on: Improving the Raspberry Pi BSP. I would be happy to mentor a student for this project. Below is my description for the task. <div>
<br></div><div>Thanks,</div><div>Alan</div><div><div><br></div><div><div>One of the RTEMS Open Projects is to contribute a BSP or Board Support Package for readily available boards. The Raspberry Pi is probably the most available board at $25 and $35 USD, and there have been over two million of these boards sold. The RTEMS head (4.11) currently has a basic BSP for the Raspberry Pi, supporting the CPU, a single UART, and timer. It is enough to run some basic RTEMS programs, but expanding the BSP to support peripherals will make it much more useful. </div>
<div>For this project, the GSOC student could improve the peripheral support for the Raspberry Pi BSP.</div><div>The peripherals we need to support (in order of increasing difficulty) include:</div><div>1. GPIO (This has been done by one user, but is not integrated) </div>
<div>2. I2C Bus</div><div>3. SPI Bus </div><div>4. Secure Digital card read and write support (using the SPI bus)</div><div>5. Graphics / RTEMS Framebuffer Support (I have a graphics demo working in an RTEMS task)</div><div>
6. USB Device support </div><div>7. HDMI/Graphics console (Requires framebuffer support and USB or GPIO connected keyboard device)</div><div>8. Ethernet network support (Requires USB support)</div><div>The entire list is probably too much for a single student to accomplish, so we can adjust the list of work according to what is possible.</div>
<div><br></div><div>It may also be a good idea to add support for both models of the Raspberry Pi (256MB and 512MB) and be able to configure the memory map in the BSP to match the boot time split between the CPU and GPU memory. </div>
<div><br></div><div>Finally, in order to do some of this coding, it may be necessary to come up with a more efficient way to load and debug code on the Raspberry Pi. Options include using U-boot or connecting a JTAG debug device to load code.</div>
<div><br></div></div></div></div>