Version 5 (modified by Gedare Bloom, on 03/18/15 at 19:31:27) (diff) |
---|
Improve the Raspberry Pi BSP
Table of Contents
Mentors: Alan Cudmore
Students: Past, Present, and Potential Students
Status: Some work: GSoC2013.
Introduction: More peripherals and other improvements for Raspberry Pi. Peripherals we need to support (in order of increasing difficulty):
- GPIO -- Done, but not integrated.
- I2C Bus -- Done, but not integrated.
- SPI Bus -- Done, but not integrated.
- Secure Digital card read and write support (using the SPI bus)
- Graphics / RTEMS Framebuffer Support
- USB Device support
- HDMI/Graphics console (Requires framebuffer support and USB or GPIO connected keyboard device)
- Ethernet network support (Requires USB support)
Another issue is 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.
A related project is to add a BSP variant for the Raspberry Pi 2.
RTEMS GSOC 2015 Raspberry Pi Ideas
Due to the plethora of interested students this year, we have created a few groups of project ideas. Students should focus on one project group, and more than one student may propose a project in the same group. There are plenty of *extra* tasks that we can create unique projects for all the students.
Project Group 1 - Low Level Peripherals and SD Card
- Complete SPI, GPIO, I2C integration
- Implement SD Card file system support ( using SPI )
- Implement Model identification detection and reporting
- Extra: Implement DMA support for I2C and SPI
- Extra: Implement support for second SPI device on A+/B+/Pi 2
Project Group 2 - USB Support
- Implement USB device support using libBSD
- Implement basic HID device support ( keyboard/mouse )
- Implement USB Ethernet Device support
- Extra: Implement USB on multiple Pi models
- Extra: Implement USB storage device support
Project Group 3 - Raspberry Pi 2 Support
- Implement correct arm architecture support (v7)
- Implement correct cache configuration
- Enable and test SMP configuration
- Extra: Integrate/Test? Low Level Peripheral Code
- Extra: Integrate/Test? USB Code
Project Group 4 - Raspberry Pi Graphics support
- Implement mailbox interface for graphics/framebuffer
- Implement RTEMS framebuffer device support
- Implement RTEMS framebuffer/graphics based console (output)
- Integrate RTEMS graphics library with RTEMS Source Builder with RPi example
- Extra: Determine how to manage Kernel/GPU memory split options
- Extra: Coordinate with USB project group to integrate USB input with HDMI console/shell
Goal: Concise statement of the overall goal of the project. Refine this initial statement to include: project deliverables (code, docs, testing), required/suggested methodology, standards of quality, possible goal extensions beyond the main objective.
Requirements: List the requirements and level of expertise you estimate are required by the developer tackling this project will have to have: Required level of programming language(s), specific areas of RTEMS or tools, level of familiarity with RTEMS, cross-development, GNU/Linux, etx., development/documentation/testing tools, mathematical/algorithmic background, other desirable skills.
Resources: Current RTEMS developers, papers, etc that may help you in this project.
Acknowledgements
- who helped and did work
Miscellaneous Sections
As the project progresses, you will need to add build instructions, etc and this page will evolve from a project description into a HOWTO.
References
- TBD
Other sections: If you have more to say about the project that doesn't fit in the proposed sections of this template, feel free to add other sections at will.