<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">On 9/9/2013 9:29 AM, Alan Cudmore
wrote:<br>
</div>
<blockquote
cite="mid:CAJrjN71E_M81-7Z7LnH85TJD6ibzhgiLK1yMJ1musKSxZeD3BQ@mail.gmail.com"
type="cite">
<div dir="ltr">Simon,
<div style="">In my experience, there is no single place to get
all of the information you need, especially for specific
device driver development. In addition, it has taken me a
while to feel comfortable navigating the RTEMS source tree and
being able to quickly locate BSPs, drivers, and libraries. </div>
<div style=""><br>
</div>
</div>
</blockquote>
RTEMS is a very large collection of software for a lot of hardware<br>
combinations. I include a source tree walk through as part of <br>
teaching the class. <br>
<br>
My walk through has two sections -- one that is BSP and target<br>
hardware INDEPENDENT-- and another that is BSP and target<br>
hardware DEPENDENT.<br>
<blockquote
cite="mid:CAJrjN71E_M81-7Z7LnH85TJD6ibzhgiLK1yMJ1musKSxZeD3BQ@mail.gmail.com"
type="cite">
<div dir="ltr">
<div style="">Here are the docs that I know of:</div>
<div style="">Starting point: <a moz-do-not-send="true"
href="http://www.rtems.org/onlinedocs.html">http://www.rtems.org/onlinedocs.html</a><br>
</div>
<div style=""><br>
</div>
</div>
</blockquote>
That's the main starting point and includes historical versions.<br>
<blockquote
cite="mid:CAJrjN71E_M81-7Z7LnH85TJD6ibzhgiLK1yMJ1musKSxZeD3BQ@mail.gmail.com"
type="cite">
<div dir="ltr">
<div style="">
Manuals for developing RTEMS applications:</div>
<div style=""><a moz-do-not-send="true"
href="http://rtems.org/onlinedocs/doc-current/share/rtems/html/">http://rtems.org/onlinedocs/doc-current/share/rtems/html/</a><br>
</div>
<div style=""><br>
</div>
</div>
</blockquote>
That is built twice a day off the git head. <br>
<br>
In addition, the C library is newlib and the manual for the methods<br>
in libc/libm are documented by that project.<br>
<blockquote
cite="mid:CAJrjN71E_M81-7Z7LnH85TJD6ibzhgiLK1yMJ1musKSxZeD3BQ@mail.gmail.com"
type="cite">
<div dir="ltr">
<div style="">
Doxygen for the cpukit ( but why is that directory called
cpukit? )</div>
<div style=""><a moz-do-not-send="true"
href="http://www.rtems.org/onlinedocs/doxygen/cpukit/html/">http://www.rtems.org/onlinedocs/doxygen/cpukit/html/</a><br>
</div>
<div style="">
<br>
</div>
</div>
</blockquote>
Well.. the other parts of the tree are thought of as BSP Kit and
tests.<br>
But CVS didn't let us easily move things around. libcpu, libchip,
and<br>
libbsp are a "BSP Kit"<br>
<br>
Everything in cpukit is supposed to be applicable to all BSPs and<br>
not be dependent on any particular cpu mdoel.<br>
<br>
Although it does include the Classic and POSIX APIs, the Doxygen is<br>
probably best avoided unless you are curious about the internals of<br>
RTEMS or modifying it. :)<br>
the Doxygen is <br>
<blockquote
cite="mid:CAJrjN71E_M81-7Z7LnH85TJD6ibzhgiLK1yMJ1musKSxZeD3BQ@mail.gmail.com"
type="cite">
<div dir="ltr">
<div style="">For the Raspberry Pi: I was hoping to start with
the I2C driver shortly. It seems there are two options:</div>
<div style="">1. A standalone I2C driver similar to the one in
the arm/lpc32xx BSP:</div>
<div style="">
<a moz-do-not-send="true"
href="http://git.rtems.org/rtems/tree/c/src/lib/libbsp/arm/lpc32xx/misc/i2c.c">http://git.rtems.org/rtems/tree/c/src/lib/libbsp/arm/lpc32xx/misc/i2c.c</a><br>
</div>
<div style=""><br>
</div>
<div style="">2. A driver for libi2c similar to the one in the
arm/lpc24xx BSP:</div>
<div style=""><a moz-do-not-send="true"
href="http://git.rtems.org/rtems/tree/c/src/lib/libbsp/arm/lpc24xx/i2c">http://git.rtems.org/rtems/tree/c/src/lib/libbsp/arm/lpc24xx/i2c</a><br>
</div>
<div style=""><br>
</div>
<div style="">This readme file gives a pretty good overview of
libi2c:</div>
<div style=""><a moz-do-not-send="true"
href="http://git.rtems.org/rtems/tree/cpukit/libi2c/README_libi2c">http://git.rtems.org/rtems/tree/cpukit/libi2c/README_libi2c</a><br>
</div>
<div style=""><br>
</div>
<div style="">I was going to start with a simple i2c driver for
the Rpi, then try to implement a libi2c driver when I had a
little more experience with it.</div>
<div style=""><br>
</div>
<div style="">Same with the SPI/SD card access: I'm pretty sure
I saw a good example of using the SPI bus to access a SD card
, but I can't find it right now ( exactly your point! ) </div>
<div style="">
<br>
</div>
<div style="">Also, here is another GPIO driver for the
Raspberry Pi. I was able to use this for reading button states
and lighting multiple LEDs. </div>
<div style=""><a moz-do-not-send="true"
href="https://github.com/pficheux/raspberry_pi">https://github.com/pficheux/raspberry_pi</a><br>
</div>
<div style=""><br>
</div>
<div style="">But feel free to ask more questions: I would like
to help with the I2c implementation. </div>
<div style=""><br>
</div>
</div>
</blockquote>
And this block of questions is a good example of why there is no
single source<br>
for all your RTEMS answers. At some point, you need a board or chip
manual. :)<br>
<blockquote
cite="mid:CAJrjN71E_M81-7Z7LnH85TJD6ibzhgiLK1yMJ1musKSxZeD3BQ@mail.gmail.com"
type="cite">
<div dir="ltr">
<div style="">Alan</div>
<div style=""><br>
</div>
<div style=""><br>
</div>
<div style="">
<br>
</div>
<div style=""><br>
</div>
<div style=""><br>
</div>
<div style=""><br>
</div>
<div style=""><br>
</div>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">On Mon, Sep 9, 2013 at 5:20 AM, Simon
Williams <span dir="ltr"><<a moz-do-not-send="true"
href="mailto:williamssimonp@gmail.com" target="_blank">williamssimonp@gmail.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">
<div>I have made some progress with the work I have been
doing for the Raspberry Pi, but I am finding that
progress is being held up due to lack of information
about RTEMS. Is there a repository of information I am
not aware of?</div>
<div><br>
</div>
<div>I have a GPIO driver which allows me to have an RTEMS
task that switches an external LED on and off. The is
based on the description of the discrete driver in the
BSP and Device Driver Development Guide, but that
description is almost non-existent! There also does not
appear to be any sample implementation anywhere. I have
one specific issue with my implementation, which is that
stat() does not return anything useful and so I have to
use the deprecated RTEMS specific call to get
information about the devices. This leads me to believe
that I have not got it quite right! </div>
<div><br>
</div>
<div>My next targets are I2C, followed by a driver to put
the console on an <span
style="color:rgb(68,68,68);font-family:arial,sans-serif;line-height:16px">HD44780
compatible display and keyboard attached to the I2C
bus. After that, I will be looking at an SD card
filesystem and other I2C devices I need for my
application. I would be extremely grateful if anyone
could point me towards some well documented examples
of these sort of drivers for other boards, I would be
grateful. The problem with most of the examples I
have found in the repository is that any documentation
that they contain assumes that the reader has a good
knowledge of RTEMS and it's requirements and it is
that knowledge that I am trying to gain!</span></div>
<div><span
style="color:rgb(68,68,68);font-family:arial,sans-serif;line-height:16px"><br>
</span></div>
<div><span
style="color:rgb(68,68,68);font-family:arial,sans-serif;line-height:16px">I
would also be interested to know if there is any
documentation I have not been able to find on using
the C++ class library as my application level code
will be written in C++.</span></div>
<div><span
style="color:rgb(68,68,68);font-family:arial,sans-serif;line-height:16px"><br>
</span></div>
<div><span
style="color:rgb(68,68,68);font-family:arial,sans-serif;line-height:16px">Thanks
in advance for your help.</span></div>
<div><br>
</div>
</div>
<br>
_______________________________________________<br>
rtems-users mailing list<br>
<a moz-do-not-send="true"
href="mailto:rtems-users@rtems.org">rtems-users@rtems.org</a><br>
<a moz-do-not-send="true"
href="http://www.rtems.org/mailman/listinfo/rtems-users"
target="_blank">http://www.rtems.org/mailman/listinfo/rtems-users</a><br>
<br>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
<br>
<pre class="moz-signature" cols="72">--
Joel Sherrill, Ph.D. Director of Research & Development
<a class="moz-txt-link-abbreviated" href="mailto:joel.sherrill@OARcorp.com">joel.sherrill@OARcorp.com</a> On-Line Applications Research
Ask me about RTEMS: a free RTOS Huntsville AL 35805
Support Available (256) 722-9985 </pre>
</body>
</html>