Sounds like a good approach.
There is a wealth of code out there, but much of it uses a license that is
incompatible with RTEMS.
If we did not consider the license, I think we could have graphics, USB,
network, etc working pretty quickly.
Good resources here, but not directly useable:
Graphics, mailbox, SMP, etc:
https://github.com/PeterLemon/RaspberryPi
Bare metal USB library with Ethernet support:
https://github.com/rsta2/uspi
Uboot also has support for the Pi with Ethernet and SD card support.
Alan
From: QIAO YANG
Sent: Thursday, March 5, 2015 4:18 PM
To: Andre Marques
Cc: Joel Sherrill, Alan Cudmore, Gedare Bloom, rtems-de...@rtems.org
With official documents and elinux wiki , we can find lots of details of
different RPI model. Including chip datasheets , layout, and pin definitions
etc...
For the moment, I've got a B and B+. So I think maybe I can start by building
RTEMS and load it with uboot, check out the code for gpio and i2c , and maybe
adapt the i2c driver with the new library.
I'll keep you updated if I've got stucked or made any progress :) .
Thanks for all helps!!
> 在 2015年3月5日,18:36,André Marques 写道:
>
>> On 05-03-2015 16:46, Joel Sherrill wrote:
>>
>>> On 3/5/2015 10:40 AM, Alan Cudmore wrote:
>>> The list below is still pretty good.
>>> Items 1 - 3 were done by Andre last summer, but we still don't have them
>>> in the git repository. The RTEMS I2C API has changed and we were going
>>> to try to move the I2C implementation to the new Linux based API.
>> So the API needs to change on I2C. What else remains to do to merge Andre's
>> work? Is this the first step of a 2015 project?
>
> I have been working on and off Pavel's interrupt handling suggestions
> (https://lists.rtems.org/pipermail/devel/2014-October/008911.html) for the
> GPIO code, and soon enough will post a patch with those.
>
> I2C support is done but the end of GSOC coincided with the release of the new
> I2C API, so it is on hold until it is ported to the new API.
>
> As far as SPI is concerned it was not merged because we were trying to merge
> the three at the same time.
>
>> I am guessing that USB and then the NIC are high on the list. Does FreeBSD
>> support the Pi? That would make it easier. This assumes the new TCP/IP
>> stack.
>>
>> FWIW we need to make sure Andre's final write up is linked to from GSOC 2014
>> and the next Pi activities get their own project page for 2015.
>>> I still think that having complete Raspberry Pi support would be great
>>> for RTEMS, and RTOS education in general. The Pi has worldwide
>>> availability, and is probably the least expensive target board that can
>>> run RTEMS.
>>> Having a non-simulated RTEMS board that has network, file system, and
>>> now even SMP support for $35 USD would be amazing.
>> +1
>>
>> I haven't looked much. Does it have JTAG support even via soldering?
>>> Now the new Pi2 with a Quad Core ARM7 and the HAT add on board standard,
>>> the Pi is even better for real applications such as this Navigation board:
>>> http://www.emlid.com/
>> Is the SoC documentation available?
>
> As far as peripherals go there should not be a difference between the Pi 1
> and 2 (from what I could understand). It may be just a matter of changing
> register addresses, but I have no Pi 2 to check that yet.
>
>> Would it be better to complete the Pi or start a Pi v2 BSP? The last I
>> knew the
>> Pi V2 SoC documentation wasn't public yet so it isn't an option yet.
>>
>> On general principle, I like the idea of finishing the Pi V1 BSP. If info is
>> available and we can support it, a project to complete V1 and start V2
>> BSP is a good one.
>>
>>> Alan
>>>
On 3/5/2015 9:28 AM, Gedare Bloom wrote:
Hello Yang Qiao,
There is the future work listed in that page, and there are some other
project ideas for raspberry pi. There also could be the opportunity to
support the raspberry pi 2.
The original list of open Raspberry Pi projects were:
Peripherals we need to support (in order of increasing difficulty):
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)
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.
I don't know the status of all of the above, but I think there is
still a lot to do in #5-8.
Gedare
> On Thu, Mar 5, 2015 at 4:28 AM, QIAO YANG