[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