<div dir="ltr">I have added basic instructions, just let me know if you need any other section.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Jan 5, 2020 at 6:17 PM G S Niteesh <<a href="mailto:gsnb.gn@gmail.com">gsnb.gn@gmail.com</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">Added instructions to run examples on raspberrypi.<br>
---<br>
 user/bsps/arm/raspberrypi.rst | 75 ++++++++++++++++++++++++++++++++++-<br>
 1 file changed, 74 insertions(+), 1 deletion(-)<br>
<br>
diff --git a/user/bsps/arm/raspberrypi.rst b/user/bsps/arm/raspberrypi.rst<br>
index 4ef75bd..653f8a7 100644<br>
--- a/user/bsps/arm/raspberrypi.rst<br>
+++ b/user/bsps/arm/raspberrypi.rst<br>
@@ -5,4 +5,77 @@<br>
 raspberrypi<br>
 ===========<br>
<br>
-TODO.<br>
+This BSP support's `raspberrypi 1` and `raspberrypi 2` currently.<br>
+The support for `raspberrypi 3` is work under progress.<br>
+The default bootloader on the raspberrypi which is used to boot raspbian<br>
+or other OS can be also used to boot RTEMS. U-boot can also be used<br>
+but it a personal preferance.<br>
+<br>
+Setup up SD card<br>
+----------------<br>
+<br>
+The raspberrypi's have an unconventional booting mechanism. The GPU<br>
+boots first, initializes itself, runs the bootloader and start the CPU.<br>
+The bootloader looks for a kernel image, by default the kernel images must<br>
+have name of form `kernel*.img` but this can be changed by adding `kernel=<img_name>`<br>
+to config.txt.<br>
+<br>
+You must provide the required files for the GPU to proceed. These files<br>
+can be downloded from this 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>
+.You can remove the kernel*.img if you want, but don't touch the other files.<br>
+<br>
+Copy these files in to a SD card with FAT filesystem.<br>
+<br>
+Kernel image<br>
+------------<br>
+<br>
+We will be running the hello.exe on raspberrypi 2. Other examples can be<br>
+found under testsuites.<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>
+Qemu along with GDB can be used for debugging, but it only supports<br>
+``raspberrpi2`` and emulation is also incomplete. So some of the features<br>
+might not work as expected.<br>
+<br>
+Make sure you have latest version of qemu, older ones don't support<br>
+raspberrypi.<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 ``1234`` for GDB to 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 loads the application.<br>
+<br>
+**Note**: Add ``set scheduler-locking on`` in GDB if you have any issues running<br>
+the examples.<br>
+     <br>
+     <br>
+<br>
-- <br>
2.17.1<br>
<br>
</blockquote></div>