[PATCH] doc/raspberrypi: Added instructions for raspberrypi

Niteesh gsnb.gn at gmail.com
Sun Jan 5 12:51:24 UTC 2020


I have added basic instructions, just let me know if you need any other
section.

On Sun, Jan 5, 2020 at 6:17 PM G S Niteesh <gsnb.gn at gmail.com> wrote:

> Added instructions to run examples on raspberrypi.
> ---
>  user/bsps/arm/raspberrypi.rst | 75 ++++++++++++++++++++++++++++++++++-
>  1 file changed, 74 insertions(+), 1 deletion(-)
>
> diff --git a/user/bsps/arm/raspberrypi.rst b/user/bsps/arm/raspberrypi.rst
> index 4ef75bd..653f8a7 100644
> --- a/user/bsps/arm/raspberrypi.rst
> +++ b/user/bsps/arm/raspberrypi.rst
> @@ -5,4 +5,77 @@
>  raspberrypi
>  ===========
>
> -TODO.
> +This BSP support's `raspberrypi 1` and `raspberrypi 2` currently.
> +The support for `raspberrypi 3` is work under progress.
> +The default bootloader on the raspberrypi which is used to boot raspbian
> +or other OS can be also used to boot RTEMS. U-boot can also be used
> +but it a personal preferance.
> +
> +Setup up SD card
> +----------------
> +
> +The raspberrypi's have an unconventional booting mechanism. The GPU
> +boots first, initializes itself, runs the bootloader and start the CPU.
> +The bootloader looks for a kernel image, by default the kernel images must
> +have name of form `kernel*.img` but this can be changed by adding
> `kernel=<img_name>`
> +to config.txt.
> +
> +You must provide the required files for the GPU to proceed. These files
> +can be downloded from this link
> https://github.com/raspberrypi/firmware/tree/master/boot
> +.You can remove the kernel*.img if you want, but don't touch the other
> files.
> +
> +Copy these files in to a SD card with FAT filesystem.
> +
> +Kernel image
> +------------
> +
> +We will be running the hello.exe on raspberrypi 2. Other examples can be
> +found under testsuites.
> +
> +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
> +-------
> +
> +Qemu along with GDB can be used for debugging, but it only supports
> +``raspberrpi2`` and emulation is also incomplete. So some of the features
> +might not work as expected.
> +
> +Make sure you have latest version of qemu, older ones don't support
> +raspberrypi.
> +
> +.. 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 ``1234`` for GDB to 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 loads the application.
> +
> +**Note**: Add ``set scheduler-locking on`` in GDB if you have any issues
> running
> +the examples.
> +
> +
> +
> --
> 2.17.1
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20200105/041adcf0/attachment.html>


More information about the devel mailing list