[PATCH v2] doc/raspberrypi: Added instructions for raspberrypi

Christian Mauderer list at c-mauderer.de
Mon Jan 6 09:47:49 UTC 2020


Looks a lot better.

On 05/01/2020 20:19, G S Niteesh wrote:
> Added instructions to run examples on raspberrypi.
> ---
>  user/bsps/arm/raspberrypi.rst | 74 ++++++++++++++++++++++++++++++++++-
>  1 file changed, 73 insertions(+), 1 deletion(-)
> 
> diff --git a/user/bsps/arm/raspberrypi.rst b/user/bsps/arm/raspberrypi.rst
> index 4ef75bd..7eccca5 100644
> --- a/user/bsps/arm/raspberrypi.rst
> +++ b/user/bsps/arm/raspberrypi.rst
> @@ -5,4 +5,76 @@
>  raspberrypi
>  ===========
>  
> -TODO.
> +This BSP supports `Raspberry Pi 1` and `Raspberry Pi 2` currently.
> +The support for `Raspberry Pi 3` is work under progress.
> +The default bootloader on the raspberrypi which is used to boot raspbian

raspberrypi -> Raspberry Pi
raspbian -> Raspbian

> +or other OS can be also used to boot RTEMS. U-boot can also be used.
> +
> +Setup SD card
> +----------------
> +
> +The Raspberry Pis have an unconventional booting mechanism. The GPU
> +boots first, initializes itself, runs the bootloader and starts the CPU.
> +The bootloader looks for a kernel image, by default the kernel images must
> +have a name of the form `kernel*.img` but this can be changed by adding

Please highlight all files in the same way. Other BSPs use the following
syntax:

    The ``ticker.exe`` elf file must be translated ...

So here it is:

`kernel*.img` -> ``kernel*.img``

> +`kernel=<img_name>` to config.txt.

config.txt -> ``config.txt``

> +
> +You must provide the required files for the GPU to proceed. These files
> +can be downloaded from this
> +`link <https://github.com/raspberrypi/firmware/tree/master/boot>`_.

I would suggest:

... can be downloaded from
`the Raspberry Pi Firmware Repository
<https://github.com/raspberrypi/firmware/tree/master/boot>`_.

I think you shouldn't break links so if this is too long you can
exceptionally break the 80 character rule. It's done for other links too.

> +You can remove the kernel*.img if you want, but don't touch the other files.

kernel*.img -> ``kernel*.img``

> +
> +Copy these files in to a SD card with FAT filesystem.
> +
> +Kernel image
> +------------
> +
> +The following steps show how to run hello.exe on a Raspberry Pi 2.

hello.exe -> ``hello.exe``

> +The same instructions can be applied to Raspberry Pi 1 also.
> +Other executables can be processed in a similar way.
> +
> +To create the kernel image:
> +
> +.. code-block:: none
> +
> +     arm-rtems5-objcopy -Obinary hello.exe kernel.img
> +
> +Copy the kernel image to the SD card.
> +
> +Make sure you have these lines below in your config.txt.
> +
> +.. code-block:: none
> +
> +     enable-uart=1
> +     kernel_address=0x200000
> +     kernel=kernel.img
> +
> +Testing
> +-------

Maybe change that chapter to "Emulation" or "Testing using QEMU". When
reading I had expected a hardware setup in this chapter after the
SD-card has been prepared in the previous one.

> +
> +Qemu along with GDB can be used for debugging, but it only supports

Please always use the capitalization that the project uses. In this case:

Qemu -> QEMU

> +``Raspberry Pi 2`` and the emulation is also incomplete. So some of the

Again: One formatting for one phrase. So that would be:

``Raspberry Pi 2`` -> Raspberry Pi 2

> +features might not work as expected.
> +
> +Make sure you have latest version of qemu, because older ones don't support

qemu -> QEMU

> +Raspberry Pi.
> +
> +.. code-block:: none
> +
> +     qemu-system-arm -M raspi2 -m 1G -kernel hello.exe -serial mon:stdio -nographic -S -s
> +
> +This starts qemu and creates a socket at port ``localhost:1234`` for GDB to

qemu -> QEMU

> +connect.
> +
> +In a new terminal, run GDB using
> +
> +.. code-block:: none
> +
> +     arm-rtems5-gdb hello.exe
> +     tar remote:1234
> +     load
> +
> +This will connect GDB to qemu and load the application.

qemu -> QEMU

> +
> +**Note**: Add ``set scheduler-locking on`` in GDB if you have any issues
> +running the examples.
> \ No newline at end of file
> 


More information about the devel mailing list