<div dir="ltr"><div>Do you want to add a build section or just add in a statement that states "it was built</div><div>using xx version of RSB"?</div><div><br></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jan 6, 2020 at 11:51 PM Gedare Bloom <<a href="mailto:gedare@rtems.org">gedare@rtems.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Mon, Jan 6, 2020 at 2:47 AM Christian Mauderer <<a href="mailto:list@c-mauderer.de" target="_blank">list@c-mauderer.de</a>> wrote:<br>
><br>
> Looks a lot better.<br>
><br>
> On 05/01/2020 20:19, G S Niteesh wrote:<br>
> > Added instructions to run examples on raspberrypi.<br>
> > ---<br>
> >  user/bsps/arm/raspberrypi.rst | 74 ++++++++++++++++++++++++++++++++++-<br>
> >  1 file changed, 73 insertions(+), 1 deletion(-)<br>
> ><br>
> > diff --git a/user/bsps/arm/raspberrypi.rst b/user/bsps/arm/raspberrypi.rst<br>
> > index 4ef75bd..7eccca5 100644<br>
> > --- a/user/bsps/arm/raspberrypi.rst<br>
> > +++ b/user/bsps/arm/raspberrypi.rst<br>
> > @@ -5,4 +5,76 @@<br>
> >  raspberrypi<br>
> >  ===========<br>
> ><br>
> > -TODO.<br>
> > +This BSP supports `Raspberry Pi 1` and `Raspberry Pi 2` currently.<br>
> > +The support for `Raspberry Pi 3` is work under progress.<br>
> > +The default bootloader on the raspberrypi which is used to boot raspbian<br>
><br>
> raspberrypi -> Raspberry Pi<br>
> raspbian -> Raspbian<br>
><br>
> > +or other OS can be also used to boot RTEMS. U-boot can also be used.<br>
> > +<br>
> > +Setup SD card<br>
> > +----------------<br>
> > +<br>
> > +The Raspberry Pis have an unconventional booting mechanism. The GPU<br>
> > +boots first, initializes itself, runs the bootloader and starts the CPU.<br>
> > +The bootloader looks for a kernel image, by default the kernel images must<br>
> > +have a name of the form `kernel*.img` but this can be changed by adding<br>
><br>
> Please highlight all files in the same way. Other BSPs use the following<br>
> syntax:<br>
><br>
>     The ``ticker.exe`` elf file must be translated ...<br>
><br>
> So here it is:<br>
><br>
> `kernel*.img` -> ``kernel*.img``<br>
><br>
> > +`kernel=<img_name>` to config.txt.<br>
><br>
> config.txt -> ``config.txt``<br>
><br>
> > +<br>
> > +You must provide the required files for the GPU to proceed. These files<br>
> > +can be downloaded from this<br>
> > +`link <<a href="https://github.com/raspberrypi/firmware/tree/master/boot" rel="noreferrer" target="_blank">https://github.com/raspberrypi/firmware/tree/master/boot</a>>`_.<br>
><br>
> I would suggest:<br>
><br>
> ... can be downloaded from<br>
> `the Raspberry Pi Firmware Repository<br>
> <<a href="https://github.com/raspberrypi/firmware/tree/master/boot" rel="noreferrer" target="_blank">https://github.com/raspberrypi/firmware/tree/master/boot</a>>`_.<br>
><br>
> I think you shouldn't break links so if this is too long you can<br>
> exceptionally break the 80 character rule. It's done for other links too.<br>
><br>
> > +You can remove the kernel*.img if you want, but don't touch the other files.<br>
><br>
> kernel*.img -> ``kernel*.img``<br>
><br>
> > +<br>
> > +Copy these files in to a SD card with FAT filesystem.<br>
> > +<br>
> > +Kernel image<br>
> > +------------<br>
> > +<br>
> > +The following steps show how to run hello.exe on a Raspberry Pi 2.<br>
><br>
> hello.exe -> ``hello.exe``<br>
><br>
> > +The same instructions can be applied to Raspberry Pi 1 also.<br>
> > +Other executables can be processed in a similar way.<br>
> > +<br>
> > +To create the kernel image:<br>
> > +<br>
> > +.. code-block:: none<br>
> > +<br>
> > +     arm-rtems5-objcopy -Obinary hello.exe kernel.img<br>
> > +<br>
> > +Copy the kernel image to the SD card.<br>
> > +<br>
> > +Make sure you have these lines below in your config.txt.<br>
> > +<br>
> > +.. code-block:: none<br>
> > +<br>
> > +     enable-uart=1<br>
> > +     kernel_address=0x200000<br>
> > +     kernel=kernel.img<br>
> > +<br>
> > +Testing<br>
> > +-------<br>
><br>
> Maybe change that chapter to "Emulation" or "Testing using QEMU". When<br>
> reading I had expected a hardware setup in this chapter after the<br>
> SD-card has been prepared in the previous one.<br>
><br>
> > +<br>
> > +Qemu along with GDB can be used for debugging, but it only supports<br>
><br>
> Please always use the capitalization that the project uses. In this case:<br>
><br>
> Qemu -> QEMU<br>
><br>
> > +``Raspberry Pi 2`` and the emulation is also incomplete. So some of the<br>
><br>
> Again: One formatting for one phrase. So that would be:<br>
><br>
> ``Raspberry Pi 2`` -> Raspberry Pi 2<br>
><br>
> > +features might not work as expected.<br>
> > +<br>
> > +Make sure you have latest version of qemu, because older ones don't support<br>
><br>
> qemu -> QEMU<br>
><br>
My only other comment is if this version is built by RSB already it is<br>
worth mentioning here.<br>
<br>
> > +Raspberry Pi.<br>
> > +<br>
> > +.. code-block:: none<br>
> > +<br>
> > +     qemu-system-arm -M raspi2 -m 1G -kernel hello.exe -serial mon:stdio -nographic -S -s<br>
> > +<br>
> > +This starts qemu and creates a socket at port ``localhost:1234`` for GDB to<br>
><br>
> qemu -> QEMU<br>
><br>
> > +connect.<br>
> > +<br>
> > +In a new terminal, run GDB using<br>
> > +<br>
> > +.. code-block:: none<br>
> > +<br>
> > +     arm-rtems5-gdb hello.exe<br>
> > +     tar remote:1234<br>
> > +     load<br>
> > +<br>
> > +This will connect GDB to qemu and load the application.<br>
><br>
> qemu -> QEMU<br>
><br>
> > +<br>
> > +**Note**: Add ``set scheduler-locking on`` in GDB if you have any issues<br>
> > +running the examples.<br>
> > \ No newline at end of file<br>
> ><br>
</blockquote></div></div>