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 > _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel