<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <br>
    <div class="moz-cite-prefix">On 4/16/2014 2:06 PM, Alan Cudmore
      wrote:<br>
    </div>
    <blockquote
cite="mid:CAJrjN73_uzd4fs3HXW_ENDQes+EN_y_T9Kq-8bUqMnoSqWOxww@mail.gmail.com"
      type="cite">
      <div dir="ltr"><br>
        <div class="gmail_extra"><br>
          <br>
          <div class="gmail_quote">On Thu, Apr 10, 2014 at 7:11 PM,
            Andre Marques <span dir="ltr"><<a moz-do-not-send="true"
                href="mailto:andre.lousa.marques@gmail.com"
                target="_blank">andre.lousa.marques@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 class="">On 04/04/14 20:19, Joel Sherrill wrote:<br>
                <blockquote class="gmail_quote" style="margin:0 0 0
                  .8ex;border-left:1px #ccc solid;padding-left:1ex">
                  On 4/4/2014 1:15 PM, Gedare Bloom wrote:<br>
                  <blockquote class="gmail_quote" style="margin:0 0 0
                    .8ex;border-left:1px #ccc solid;padding-left:1ex">
                    The license looked fine to me.<br>
                  </blockquote>
                  +1<br>
                  <br>
                  As always, we just need to be careful on a file per
                  file basis just in case<br>
                  something else in rpi-boot has a different license.<br>
                </blockquote>
                <br>
              </div>
              All files in rpi-boot use a similar licence, so I will be
              using some code from rpi-boot as a base for this.</blockquote>
            <div><br>
            </div>
            <div>Great.</div>
            <div> </div>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div class=""><br>
                <br>
                <blockquote class="gmail_quote" style="margin:0 0 0
                  .8ex;border-left:1px #ccc solid;padding-left:1ex">
                  <blockquote class="gmail_quote" style="margin:0 0 0
                    .8ex;border-left:1px #ccc solid;padding-left:1ex">
                    On Thu, Apr 3, 2014 at 10:06 PM, Alan Cudmore <<a
                      moz-do-not-send="true"
                      href="mailto:alan.cudmore@gmail.com"
                      target="_blank">alan.cudmore@gmail.com</a>>
                    wrote:<br>
                    <blockquote class="gmail_quote" style="margin:0 0 0
                      .8ex;border-left:1px #ccc solid;padding-left:1ex">
                       From my limited research, it looks like the emmc
                      controller in the Raspberry<br>
                      Pi BCM2835 may be the way to go.<br>
                      It looks like it is a high level controller for
                      the SD/MMC card slot on the<br>
                      Pi.<br>
                      <br>
                      Since this is a custom controller, I don't think
                      there would be an existing<br>
                      driver in RTEMS.<br>
                      <br>
                      It seems that this emmc controller in the Pi may
                      handle different types of<br>
                      cards, and at a higher level than just using the
                      SPI bus to access the card.<br>
                      ( This is based on some searches of conversations
                      on the raspberry pi forums<br>
                      , not my experience )<br>
                      <br>
                      You would have to write a driver for this emmc
                      controller and provide the<br>
                      interface to libblock for the file system
                      interface on RTEMS. The code you<br>
                      have linked above for rpi-boot looks like it has a
                      permissive license, so it<br>
                      *may* be possible to use this code in the RTEMS
                      driver. There is some other<br>
                      potentially useful code in there too.<br>
                    </blockquote>
                  </blockquote>
                </blockquote>
                <br>
              </div>
              The mailbox access, mmio read and write and the timer code
              will also be usefull, and not only for emmc. This timer
              code differs from the misc/timer.h currently in the
              raspberrypi BSP, as it waits a certain amount of time
              (until some register gets updated). The misc/timer.h is a
              benchmark timer, so one of them would have to be renamed
              or reorganized.<br>
              <br>
            </blockquote>
            <div><br>
            </div>
            <div>Can an RTEMS timer be used for the mailbox
              communication? </div>
            <div>Also, I don't think the benchmark timer code in the
              RTEMS Raspberry Pi BSP is functional.</div>
            <div><br>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    Do you mean rtems_timer_XXX or the timer in the BSP?<br>
    <br>
    The timer driver in the BSP is strictly for benchmarking -- nothing
    else. It is used<br>
    by the tmtests and psxtmtests. It should not be used for any other
    purpose.<br>
    <br>
    How does the mailbox work? Describe it and we can figure out how to
    best address<br>
    it. <br>
    <blockquote
cite="mid:CAJrjN73_uzd4fs3HXW_ENDQes+EN_y_T9Kq-8bUqMnoSqWOxww@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote">
            <div>I have been contacted by someone who is currently
              working on a console driver for the BSP, and has been able
              to display fonts. We may want to include him, because I
              think the graphics code uses mailbox communication to the
              GPU. </div>
            <div><br>
            </div>
            <div>It is very interesting that the GPU is running a
              commercial RTOS, and we will be communicating to it with
              RTEMS.</div>
            <div><br>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    :)<br>
    <blockquote
cite="mid:CAJrjN73_uzd4fs3HXW_ENDQes+EN_y_T9Kq-8bUqMnoSqWOxww@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote">
            <div> </div>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              My plan was to have at the root of the raspberrypi BSP a
              folder "emmc" for the emmc driver code, and the mailbox,
              mmio and timer on the misc folder, with the headers on the
              include folder. What do you think?<br>
              <br>
              I have been trying the rpi-boot emmc code for the past
              week, and I modified the hello test to use the emmc driver
              (an overly simplified version of the rpi-boot, just to
              read the slot info register for now), and my compilation
              process has been:<br>
              <br>
              1. Add/change files in Raspberrypi BSP<br>
              2. Update Makefile.am<br>
              3. Run bootstrap -p and bootstrap from the RaspberryPi BSP
              folder<br>
              4. (Re)configure RTEMS<br>
              5. make and make install RTEMS from the root folder<br>
              <br>
            </blockquote>
            <div>That is pretty much what I do. Although it might be
              possible to test drivers and code in the RKI image, then
              integrate it into the RTEMS tree when it is ready.</div>
            <div><br>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    --enable-maintainer-mode is supposed to track regenerating the
    Makefile.in<br>
    and configure files when you modify Makefile.am or configure.ac.<br>
    <br>
    The current build system has a serious deficiency in that it does
    **not** <br>
    track the dependency of the test executables on any .a or .h file
    from RTEMS.<br>
    So the best solution for quick builds is usually to remove the
    executable you<br>
    are testing and then run make.<br>
    <br>
    Step 3 above is the minimum for a bootstrap. bootstrap -p is only
    needed<br>
    when you add/delete/move .h files.<br>
    <blockquote
cite="mid:CAJrjN73_uzd4fs3HXW_ENDQes+EN_y_T9Kq-8bUqMnoSqWOxww@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote">
            <div> </div>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              I have been using the --enable-maintainer-mode, but I am
              not sure about exacly what it simplifies, because I always
              needed to do those steps for it to compile and link
              correctly.<br>
            </blockquote>
            <div><br>
            </div>
            <div>I don't know what this does either..</div>
            <div><br>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    Just tracks dependencies on generated Makefile/configure related
    files back<br>
    to their source.<br>
    <blockquote
cite="mid:CAJrjN73_uzd4fs3HXW_ENDQes+EN_y_T9Kq-8bUqMnoSqWOxww@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote">
            <div><br>
            </div>
            <div>Alan</div>
            <div> </div>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <br>
              --André Marques
              <div class="HOEnZb">
                <div class="h5"><br>
                  <br>
                  <blockquote class="gmail_quote" style="margin:0 0 0
                    .8ex;border-left:1px #ccc solid;padding-left:1ex">
                    <blockquote class="gmail_quote" style="margin:0 0 0
                      .8ex;border-left:1px #ccc solid;padding-left:1ex">
                      <blockquote class="gmail_quote" style="margin:0 0
                        0 .8ex;border-left:1px #ccc
                        solid;padding-left:1ex">
                        <br>
                        I'll have to try the serial bootloader, I am
                        also close to ordering an<br>
                        inexpensive JTAG adapter to try loading and
                        debugging through JTAG. uboot is<br>
                        another possibility, using a TFTP server.<br>
                        <br>
                        Alan<br>
                        <br>
                        <br>
                        <br>
                        <br>
                        On Wed, Apr 2, 2014 at 12:02 PM, Andre Marques<br>
                        <<a moz-do-not-send="true"
                          href="mailto:andre.lousa.marques@gmail.com"
                          target="_blank">andre.lousa.marques@gmail.com</a>>
                        wrote:<br>
                        <blockquote class="gmail_quote" style="margin:0
                          0 0 .8ex;border-left:1px #ccc
                          solid;padding-left:1ex">
                          Hello,<br>
                          <br>
                          I'm intending to work in the SD card support
                          for the Raspberry Pi BSP,<br>
                          using the SD mode instead of the SPI mode.<br>
                          <br>
                          The references I have gathered so far for this
                          are as follows:<br>
                          <br>
                          The Raspberry Pi SOC guide: Broadcom BCM2835
                          Peripherals Guide (Chapter 5<br>
                          - EMMC)<br>
                          <br>
                          The simplified SD standard -<br>
                          <a moz-do-not-send="true"
                            href="https://www.sdcard.org/downloads/pls/simplified_specs/"
                            target="_blank">https://www.sdcard.org/downloads/pls/simplified_specs/</a><br>
                          <br>
                          And the following github code -<br>
                          <a moz-do-not-send="true"
                            href="https://github.com/jncronin/rpi-boot/blob/master/emmc.c"
                            target="_blank">https://github.com/jncronin/rpi-boot/blob/master/emmc.c</a><br>
                          <br>
                          There is also the libchip/i2c/spi-sd-card
                          libi2c driver, which can also be<br>
                          a reference (even though it uses SPI).<br>
                          <br>
                          Now, the questions:<br>
                          <br>
                          Should I use the Generic Disk Device driver,
                          as the<br>
                          libchip/i2c/spi-sd-card ?<br>
                          <br>
                          Is there any driver using the SD mode for sd
                          card access, or using an emmc<br>
                          interface currently in the RTEMS code base? I
                          haven't found any.<br>
                          <br>
                          On a side note, I managed to send RTEMS
                          applications to the RPi though the<br>
                          UART interface using the xmodem protocol.<br>
                          <br>
                          For that I used the following bootloader<br>
                          <br>
                          <a moz-do-not-send="true"
                            href="https://github.com/dwelch67/raspberrypi/tree/master/bootloader05"
                            target="_blank">https://github.com/dwelch67/raspberrypi/tree/master/bootloader05</a><br>
                          <br>
                          It takes me 2 minutes to send 1 MB of data to
                          the RPi, but this could be<br>
                          improved if it used 1024 byte block transfer
                          instead of the default of 128.<br>
                          The bootloader loads the transfered program to
                          memory and runs it. Then the<br>
                          RPi must be rebooted so a new program can be
                          sent.<br>
                          <br>
                          It may not be the best way, but only requires
                          an usb-to-uart cable, and<br>
                          avoids the current SD card "dance" to run
                          programs on the Pi.<br>
                          <br>
                          Thank you for your time.<br>
                          <br>
                          --André Marques<br>
                          <br>
                          <br>
                        </blockquote>
                        _______________________________________________<br>
                        rtems-devel mailing list<br>
                        <a moz-do-not-send="true"
                          href="mailto:rtems-devel@rtems.org"
                          target="_blank">rtems-devel@rtems.org</a><br>
                        <a moz-do-not-send="true"
                          href="http://www.rtems.org/mailman/listinfo/rtems-devel"
                          target="_blank">http://www.rtems.org/mailman/listinfo/rtems-devel</a><br>
                        <br>
                      </blockquote>
                      _______________________________________________<br>
                      rtems-devel mailing list<br>
                      <a moz-do-not-send="true"
                        href="mailto:rtems-devel@rtems.org"
                        target="_blank">rtems-devel@rtems.org</a><br>
                      <a moz-do-not-send="true"
                        href="http://www.rtems.org/mailman/listinfo/rtems-devel"
                        target="_blank">http://www.rtems.org/mailman/listinfo/rtems-devel</a><br>
                    </blockquote>
                  </blockquote>
                  <br>
                </div>
              </div>
            </blockquote>
          </div>
          <br>
        </div>
      </div>
    </blockquote>
    <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>