potential GSOC project: Improve the Raspberry Pi BSP

Andre Marques andre.lousa.marques at gmail.com
Thu Mar 20 09:36:49 UTC 2014


On 03/20/14 02:21, Alan Cudmore wrote:
> Interesting idea.
> Part of this may be done:
> GPIO : Can start with Pierre's implementation
> i2c: Isn't there a libi2c already?
> SPI: ?

cpukit/libi2c also deals with SPI.

It is also implemented on the FreeBSD port to RPi

https://github.com/freebsd/freebsd/blob/master/sys/arm/broadcom/bcm2835/bcm2835_spi.c

and more info can be found at

http://elinux.org/RPi_SPI

> SD card: ? There should be at least one example to follow in the ARM tree.
> Framebuffer: I think this is well defined.
>
>
> Alan
>
>
>
> On Wed, Mar 19, 2014 at 7:59 PM, Gedare Bloom <gedare at rtems.org 
> <mailto:gedare at rtems.org>> wrote:
>
>     On Wed, Mar 19, 2014 at 7:04 PM, Joel Sherrill
>     <joel.sherrill at oarcorp.com <mailto:joel.sherrill at oarcorp.com>> wrote:
>     >
>     > On 3/19/2014 4:18 PM, Pierre Ficheux wrote:
>     >> Hi Alan,
>     >>
>     >> ----- Mail original -----
>     >>> De: "Alan Cudmore" <alan.cudmore at gmail.com
>     <mailto:alan.cudmore at gmail.com>>
>     >>> À: "Pierre Ficheux" <pierre.ficheux at openwide.fr
>     <mailto:pierre.ficheux at openwide.fr>>
>     >>> Cc: "Andre Marques" <andre.lousa.marques at gmail.com
>     <mailto:andre.lousa.marques at gmail.com>>, rtems-users at rtems.org
>     <mailto:rtems-users at rtems.org>
>     >>> Envoyé: Mercredi 19 Mars 2014 22:10:50
>     >>> Objet: Re: potential GSOC project: Improve the Raspberry Pi BSP
>     >>>
>     >>>
>     >>> Hi Pierre,
>     >>> We hope to use your GPIO implementation for this project. Any
>     >>> problems with incorporating it into the BSP?
>     >> No problem at all.
>     >>
>     >>>
>     >>> For the USB and MMC support, the u-boot code would be nice,
>     but it is
>     >>> GPL and not compatible with the RTEMS libraries. But it could
>     serve
>     >>> as a reference.
>     >> I'm not aware of RTEMS licensing issue :) I know it's GPL with
>     linking exception but what's the problem with "libraries" ?
>     > Ultimately, everything is statically linked together. So the
>     license of
>     > a library
>     > could virally impact the license of all users.
>     >
>     > Ideally this support would be part of the BSP.
>     >
>     > There is a proposed API and simple driver model for analogs and
>     discrete IO
>     > in RTEMS git in another git module. It includes some shell
>     commands to
>     > assist
>     > in debugging and playing with IO settings.
>     Would adding "generic" RTEMS interfaces for GPIO, i2c, SPI, and SD
>     card with example implementations in Raspberry Pi be feasible and
>     interesting?
>
>     -Gedare
>
>     >>>
>     >>> Also, I am not sure how to approach the USB and network
>     >>> implementation. For example, we could probably get the Ethernet to
>     >>> work, and the USB code would just be "a bunch of files" in the
>     >>> ethernet driver directory. But I think the right way would be
>     to use
>     >>> the FreeBSD library support of the USB and Ethernet devices. I
>     just
>     >>> don't know how to do that :)
>     >> I do agree. I talked about U-Boot for MMC support though it
>     includes USB support too.
>     > If this were in the new BSD USB/TCP/IP code, it should be
>     > straightforward to
>     > support both USB and TCP/IP.
>     >> regards
>     >>>
>     >>> Alan
>     >>>
>     >>>
>     >>>
>     >>>
>     >>>
>     >>> On Wed, Mar 19, 2014 at 4:33 PM, Pierre Ficheux <
>     >>> pierre.ficheux at openwide.fr <mailto:pierre.ficheux at openwide.fr>
>     > wrote:
>     >>>
>     >>>
>     >>> USB should be interesting too on RPi because of Ethernet
>     support ;)
>     >>>
>     >>> Regarding SD card you should take a look at U-Boot for RPi which
>     >>> includes MMC support in drivers/mmc. U-Boot includes USB
>     support for
>     >>> RPi too in drivers/usb.
>     >>>
>     >>> https://github.com/gonzoua/u-boot-pi
>     >>>
>     >>> regards
>     >>>
>     >>> ----- Mail original -----
>     >>>> De: "Andre Marques" < andre.lousa.marques at gmail.com
>     <mailto:andre.lousa.marques at gmail.com> >
>     >>>> À: "Alan Cudmore" < alan.cudmore at gmail.com
>     <mailto:alan.cudmore at gmail.com> >
>     >>>> Cc: rtems-users at rtems.org <mailto:rtems-users at rtems.org>
>     >>>> Envoyé: Mercredi 19 Mars 2014 20:59:56
>     >>>> Objet: Re: potential GSOC project: Improve the Raspberry Pi BSP
>     >>>
>     >>>>
>     >>>>
>     >>>> Hello Alan,
>     >>>>
>     >>>> I have decided to go with the framebuffer instead of the USB
>     >>>> support.
>     >>>> Will update the proposal with this.
>     >>>>
>     >>>> Before GSOC I am considering to look at the SD card access
>     through
>     >>>> the onboard card reader. What do you think?
>     >>>>
>     >>>> --André Marques.
>     >>>>
>     >>>> On 03/19/14 00:56, Alan Cudmore wrote:
>     >>>>
>     >>>>
>     >>>>
>     >>>> Hi André ,
>     >>>> I agree about the USB stack. I am not even sure about how to
>     >>>> integrate a driver that depends on the FreeBSD USB stack.
>     >>>>
>     >>>>
>     >>>> The GPIO driver from Pierre is the one I was referring to. I
>     don't
>     >>>> think anyone ever made a decision on how to integrate the GPIO
>     >>>> driver. If we have macros in the BSP header files then the
>     GPIO can
>     >>>> be programmed with the simple macros or the driver that Pierre
>     >>>> wrote. If the project decides to use the GPIO device model for
>     >>>> other
>     >>>> BSPs, then the generic driver code can be moved to a shared
>     >>>> directory at a later date.
>     >>>>
>     >>>>
>     >>>> Thanks for the update,
>     >>>>
>     >>>>
>     >>>> Alan
>     >>>>
>     >>>>
>     >>>>
>     >>>>
>     >>>>
>     >>>> On Tue, Mar 18, 2014 at 11:04 AM, Andre Marques <
>     >>>> andre.lousa.marques at gmail.com
>     <mailto:andre.lousa.marques at gmail.com> > wrote:
>     >>>>
>     >>>>
>     >>>>
>     >>>>
>     >>>> Hello,
>     >>>>
>     >>>> about the USB driver port from FreeBSD I am finding it
>     difficult to
>     >>>> gauge how much work it would involve, so I will follow your
>     >>>> suggestion and look at something else.
>     >>>>
>     >>>> As for GPIO I belive the work that has been done is this:
>     >>>>
>     >>>>
>     https://github.com/pficheux/raspberry_pi/tree/master/RTEMS/gpio_driver
>     >>>>
>     >>>> Am I right?
>     >>>>
>     >>>> I also found a discussion on the best way of implementing the
>     >>>> driver
>     >>>>
>     >>>>
>     http://www.rtems.org/pipermail/rtems-users/2013-October/012059.html
>     >>>>
>     >>>> but i am not sure if that came to a decision.
>     >>>>
>     >>>> Meanwhile I will update the proposal with some basic info on the
>     >>>> drivers.
>     >>>>
>     >>>> --André Marques.
>     >>>>
>     >>>>
>     >>>>
>     >>>> On 03/14/14 13:16, Andre Marques wrote:
>     >>>>
>     >>>>
>     >>>>
>     >>>>
>     >>>>
>     >>>> Hello,
>     >>>>
>     >>>> On 03/14/14 02:33, Alan Cudmore wrote:
>     >>>>
>     >>>>
>     >>>>
>     >>>> Andre,
>     >>>> I think your project proposal looks good, but I wonder if
>     including
>     >>>> USB support is too much. There are low level "bare metal" USB
>     >>>> examples out there for the Raspberry Pi, and that may serve as a
>     >>>> starting point, but I think a real USB implementation will
>     use the
>     >>>> BSD library that has been ported to RTEMS. It may be possible,
>     >>>> since
>     >>>> there is a FreeBSD port to the Raspberry Pi. Maybe others can
>     help
>     >>>> here.
>     >>>>
>     >>>>
>     >>>> I will take a look into this.
>     >>>>
>     >>>>
>     >>>>
>     >>>>
>     >>>>
>     >>>> If you think that GPIO, SPI, and I2C are not enough, then you
>     could
>     >>>> always look at the framebuffer or SD card access.
>     >>>>
>     >>>>
>     >>>> Yes, right now I am trying to clarify everything the best I
>     can so
>     >>>> I
>     >>>> don't end up with a lot more (or less) work than I can handle.
>     >>>>
>     >>>>
>     >>>>
>     >>>>
>     >>>>
>     >>>> Finally, it may be necessary to have an Raspberry Pi and a few
>     >>>> peripherals. For example, I have an inexpensive I2C compass
>     module
>     >>>> that I use with linux, and I have a breadboard wired up with LEDs
>     >>>> to
>     >>>> test GPIO.
>     >>>>
>     >>>>
>     >>>> Right now I have access to a Raspberry Pi at the university, not
>     >>>> sure
>     >>>> about the peripherals though. Anyway, if this projects really
>     goes
>     >>>> forward I will get myself a raspberry and peripherals (I have
>     >>>> already some other components, like a breadboard, leds, wire,
>     etc).
>     >>>>
>     >>>>
>     >>>>
>     >>>>
>     >>>>
>     >>>> Thanks,
>     >>>> Alan
>     >>>>
>     >>>>
>     >>>>
>     >>>>
>     >>>>
>     >>>> On Thu, Mar 13, 2014 at 8:32 PM, Alan Cudmore <
>     >>>> alan.cudmore at gmail.com <mailto:alan.cudmore at gmail.com> > wrote:
>     >>>>
>     >>>>
>     >>>>
>     >>>> I'm glad there is interest in this project. Andre, I will
>     read your
>     >>>> proposal and provide feedback.
>     >>>> Joel, I was on the melange site and the system recognizes my
>     >>>> account.
>     >>>> Do I need to do anything to be a mentor for RTEMS?
>     >>>> Alan
>     >>>>
>     >>>>
>     >>>>
>     >>>>
>     >>>>
>     >>>>
>     >>>>
>     >>>> On Thu, Mar 13, 2014 at 7:31 PM, Andre Marques <
>     >>>> andre.lousa.marques at gmail.com
>     <mailto:andre.lousa.marques at gmail.com> > wrote:
>     >>>>
>     >>>>
>     >>>>
>     >>>>
>     >>>> It is now on melange too.
>     >>>>
>     >>>> --André Marques.
>     >>>>
>     >>>>
>     >>>>
>     >>>> On 03/13/14 23:21, Hesham Moustafa wrote:
>     >>>>
>     >>>>
>     >>>>
>     >>>>
>     >>>>
>     >>>> Hi Andre,
>     >>>>
>     >>>>
>     >>>> I quote from RTEMS SoC page :
>     >>>>
>     >>>> "GSOC STUDENTS! PLEASE FILL IN THE APPLICATION AT
>     >>>> http://www.google-melange.com ! YOU CAN EDIT UNTIL THE DEADLINE!
>     >>>> BUT
>     >>>
>     >>>> YOU WILL NOT GET A SLOT IF YOU DO NOT APPLY THROUGH Google!!!"
>     >>>>
>     >>>>
>     >>>> Regards,
>     >>>> Hesham
>     >>>>
>     >>>>
>     >>>>
>     >>>>
>     >>>>
>     >>>>
>     >>>>
>     >>>>
>     >>>>
>     >>>>
>     >>>> On Fri, Mar 14, 2014 at 1:16 AM, Andre Marques <
>     >>>> andre.lousa.marques at gmail.com
>     <mailto:andre.lousa.marques at gmail.com> > wrote:
>     >>>>
>     >>>>
>     >>>>
>     >>>>
>     >>>> Hello,
>     >>>>
>     >>>> I just posted the first proposal draft for "Raspberry Pi BSP
>     >>>> Peripherals " in the RTEMS Wiki
>     >>>>
>     >>>> http://wiki.rtems.org/wiki/index.php/RTEMSSummerOfCode
>     >>>>
>     >>>> Any feedback is more than welcome. Should I post it already in
>     >>>> melange too?
>     >>>>
>     >>>> --André Marques.
>     >>>>
>     >>>>
>     >>>>
>     >>>> On 03/13/14 15:26, Joel Sherrill wrote:
>     >>>>
>     >>>>
>     >>>>
>     >>>>
>     >>>>
>     >>>>
>     >>>> On 3/13/2014 9:46 AM, Andre Marques wrote:
>     >>>>
>     >>>>
>     >>>>
>     >>>> Hello,
>     >>>>
>     >>>> I would be very interested in working in this project because I'm
>     >>>> currently trying to work with Raspberry Pi and RTEMS for my
>     >>>> undergraduate thesis, so this could be a great followup to
>     that for
>     >>>> the summer.
>     >>>>
>     >>>> I will need to do some reseach on it before making a proposal
>     (the
>     >>>> time is also gettting shorter), but will post a proposal
>     draft very
>     >>>> soon.
>     >>>>
>     >>>> This would be a great area to work. As Alan says, the list is
>     >>>> likely
>     >>>> too much for
>     >>>> one student, so it seems likely that the work could be
>     divided for
>     >>>> two students
>     >>>> working on different parts.
>     >>>>
>     >>>> For the Pi Master list, I would like to add the Geert board. That
>     >>>> looks like something
>     >>>> of interest to RTEMS folks.
>     >>>>
>     >>>> --joel
>     >>>>
>     >>>>
>     >>>>
>     >>>>
>     >>>> --André Marques.
>     >>>>
>     >>>> On 03/13/14 11:23, Alan Cudmore wrote:
>     >>>>
>     >>>>
>     >>>>
>     >>>> ( I posted this to the rtems-devel list by mistake, my apologies
>     >>>> for
>     >>>> the duplicate message )
>     >>>>
>     >>>>
>     >>>>
>     >>>> f 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.
>     >>>>
>     >>>>
>     >>>> Thanks,
>     >>>> Alan
>     >>>>
>     >>>>
>     >>>> 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.
>     >>>> For this project, the GSOC student could improve the peripheral
>     >>>> support for the Raspberry Pi BSP.
>     >>>> The peripherals we need to support (in order of increasing
>     >>>> difficulty) include:
>     >>>> 1. GPIO (This has been done by one user, but is not integrated)
>     >>>> 2. I2C Bus
>     >>>> 3. SPI Bus
>     >>>> 4. Secure Digital card read and write support (using the SPI bus)
>     >>>> 5. Graphics / RTEMS Framebuffer Support (I have a graphics demo
>     >>>> working in an RTEMS task)
>     >>>> 6. USB Device support
>     >>>> 7. HDMI/Graphics console (Requires framebuffer support and USB or
>     >>>> GPIO connected keyboard device)
>     >>>> 8. Ethernet network support (Requires USB support)
>     >>>> 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.
>     >>>>
>     >>>>
>     >>>> 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.
>     >>>>
>     >>>>
>     >>>> 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.
>     >>>>
>     >>>>
>     >>>>
>     >>>> _______________________________________________
>     >>>> rtems-users mailing list rtems-users at rtems.org
>     <mailto:rtems-users at rtems.org>
>     >>>> http://www.rtems.org/mailman/listinfo/rtems-users
>     >>>>
>     >>>> --
>     >>>> Joel Sherrill, Ph.D. Director of Research & Development
>     >>>> joel.sherrill at OARcorp.com On-Line Applications Research
>     >>>> Ask me about RTEMS: a free RTOS Huntsville AL 35805
>     >>>> Support Available (256) 722-9985 <tel:%28256%29%20722-9985>
>     >>>>
>     >>>> _______________________________________________
>     >>>> rtems-users mailing list
>     >>>> rtems-users at rtems.org <mailto:rtems-users at rtems.org>
>     >>>> http://www.rtems.org/mailman/listinfo/rtems-users
>     >>>>
>     >>>>
>     >>>>
>     >>>>
>     >>>> _______________________________________________
>     >>>> rtems-users mailing list
>     >>>> rtems-users at rtems.org <mailto:rtems-users at rtems.org>
>     >>>> http://www.rtems.org/mailman/listinfo/rtems-users
>     >>>>
>     >>>>
>     >>>>
>     >>>>
>     >>>>
>     >>>>
>     >>>>
>     >>>>
>     >>>> _______________________________________________
>     >>>> rtems-users mailing list
>     >>>> rtems-users at rtems.org <mailto:rtems-users at rtems.org>
>     >>>> http://www.rtems.org/mailman/listinfo/rtems-users
>     >>>>
>     >>> --
>     >>> Pierre FICHEUX -/- CTO OW/OWI, France -\-
>     pierre.ficheux at openwide.fr <mailto:pierre.ficheux at openwide.fr>
>     >>> http://ingenierie.openwide.fr
>     >>> http://www.linuxembedded.fr
>     >>> I would love to change the world, but they won't give me the
>     source
>     >>> code
>     >>>
>     >>>
>     >> --
>     >> Pierre FICHEUX -/- CTO OW/OWI, France -\-
>     pierre.ficheux at openwide.fr <mailto:pierre.ficheux at openwide.fr>
>     >> http://ingenierie.openwide.fr
>     >> http://www.linuxembedded.fr
>     >> I would love to change the world, but they won't give me the
>     source code
>     >>
>     >> _______________________________________________
>     >> rtems-users mailing list
>     >> rtems-users at rtems.org <mailto:rtems-users at rtems.org>
>     >> http://www.rtems.org/mailman/listinfo/rtems-users
>     >
>     > --
>     > Joel Sherrill, Ph.D.             Director of Research & Development
>     > joel.sherrill at OARcorp.com        On-Line Applications Research
>     > Ask me about RTEMS: a free RTOS  Huntsville AL 35805
>     > Support Available (256) 722-9985 <tel:%28256%29%20722-9985>
>     >
>     > _______________________________________________
>     > rtems-users mailing list
>     > rtems-users at rtems.org <mailto:rtems-users at rtems.org>
>     > http://www.rtems.org/mailman/listinfo/rtems-users
>
>
>
>
> _______________________________________________
> rtems-users mailing list
> rtems-users at rtems.org
> http://www.rtems.org/mailman/listinfo/rtems-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/users/attachments/20140320/816138a8/attachment-0001.html>


More information about the users mailing list