Re: [PATCH v4] doc/raspberrypi: Added instructions for raspberrypi

2020-02-15 Thread Christian Mauderer
Hello Niteesh,

thanks. I pushed it:
https://git.rtems.org/rtems-docs/commit/?id=5763454b307afae6f5feb7e6d3d3d780f05f83ab

Best regards

Christian

On 15/02/2020 15:20, G. S. Niteesh wrote:
> Another remainder.
> Can someone please push this?
> 
> Thanks,
> Niteesh
> 
> On Thu, Feb 13, 2020 at 11:19 PM G. S. Niteesh  > wrote:
> 
> On Thu, Feb 13, 2020 at 11:16 PM Alan Cudmore
> mailto:alan.cudm...@gmail.com>> wrote:
> 
> "set scheduler-locking on" in GDB works! I was able to run RPI2
> hello.exe
> 
> So I consider your instructions ready to go in the repo.
> More Pi 2 SMP debugging when I get the time..
> Thanks!
> Alan
> 
> Great. But just a caution, QEMU support raspberry pi is very
> much incomplete
> so any exception or problem may be from QEMU side and not RTEMS. So
> if any
> test goes wrong, try running it on a real board.
> 
> Thanks,
> Niteesh
> 
> On Thu, Feb 13, 2020 at 12:30 PM G. S. Niteesh
> mailto:gsnb...@gmail.com>> wrote:
> >
> > On Thu, Feb 13, 2020 at 10:57 PM Alan Cudmore
> mailto:alan.cudm...@gmail.com>> wrote:
> >>
> >> I get exceptions when trying to run hello.exe.
> >> I'm using qemu-system-arm v 2.11.1 from ubuntu. Should I try
> using the
> >> one built by RSB?
> >
> > No this should be fine. Can you post a screenshot of the output?
> >>
> >> I was trying to get this setup to try RPI 2 SMP in QEMU. I
> may want to
> >> get the latest repo and do a clean build to try this again.
> >
> > SMP doesn't work well with QEMU. Did you try set
> scheduler-locking on in GDB?
> > Running the executables directly in QEMU doesn't work.
> >>
> >> Thanks,
> >> Alan
> >>
> >> On Thu, Feb 13, 2020 at 12:12 PM G. S. Niteesh
> mailto:gsnb...@gmail.com>> wrote:
> >> >
> >> > On Thu, Feb 13, 2020 at 10:40 PM Alan Cudmore
> mailto:alan.cudm...@gmail.com>> wrote:
> >> >>
> >> >> Hi Niteesh,
> >> >> I have followed your instructions for getting RTEMS
> running on the Pi
> >> >> 1 and 2. SMP currently is not working on the 2 for me, but
> that is not
> >> >> a problem with these instructions.
> >> >> I started to try running on QEMU following your
> instructions but have
> >> >> not been able to get time to complete my tests.
> >> >
> >> > What problem are you exactly facing?
> >> >>
> >> >>
> >> >>
> >> >> But this is a vast improvement over "TODO", so I recommend
> accepting
> >> >> this change.
> >> >>
> >> >> Thanks for creating this,
> >> >> Alan
> >> >>
> >> >> On Thu, Feb 13, 2020 at 1:49 AM G. S. Niteesh
> mailto:gsnb...@gmail.com>> wrote:
> >> >> >
> >> >> > Can someone take a look at this, It has been unnoticed
> for quite a while.
> >> >> >
> >> >> > Thank you,
> >> >> > Niteesh
> >> >> >
> >> >> > On Sat, Jan 25, 2020 at 10:49 PM G S Niteesh
> mailto:gsnb...@gmail.com>> wrote:
> >> >> >>
> >> >> >> Added instructions to run examples on raspberrypi.
> >> >> >> ---
> >> >> >>  user/bsps/arm/raspberrypi.rst | 111
> +-
> >> >> >>  1 file changed, 110 insertions(+), 1 deletion(-)
> >> >> >>
> >> >> >> diff --git a/user/bsps/arm/raspberrypi.rst
> b/user/bsps/arm/raspberrypi.rst
> >> >> >> index 4ef75bd..72889a5 100644
> >> >> >> --- a/user/bsps/arm/raspberrypi.rst
> >> >> >> +++ b/user/bsps/arm/raspberrypi.rst
> >> >> >> @@ -5,4 +5,113 @@
> >> >> >>  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 Raspberry Pi which is
> used to boot 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
> >> >> >> +`kernel=` to ``config.txt

Re: [PATCH v4] doc/raspberrypi: Added instructions for raspberrypi

2020-02-15 Thread G. S. Niteesh
Another remainder.
Can someone please push this?

Thanks,
Niteesh

On Thu, Feb 13, 2020 at 11:19 PM G. S. Niteesh  wrote:

> On Thu, Feb 13, 2020 at 11:16 PM Alan Cudmore 
> wrote:
>
>> "set scheduler-locking on" in GDB works! I was able to run RPI2 hello.exe
>>
>> So I consider your instructions ready to go in the repo.
>> More Pi 2 SMP debugging when I get the time..
>> Thanks!
>> Alan
>>
>> Great. But just a caution, QEMU support raspberry pi is very
> much incomplete
> so any exception or problem may be from QEMU side and not RTEMS. So if any
> test goes wrong, try running it on a real board.
>
> Thanks,
> Niteesh
>
>> On Thu, Feb 13, 2020 at 12:30 PM G. S. Niteesh  wrote:
>> >
>> > On Thu, Feb 13, 2020 at 10:57 PM Alan Cudmore 
>> wrote:
>> >>
>> >> I get exceptions when trying to run hello.exe.
>> >> I'm using qemu-system-arm v 2.11.1 from ubuntu. Should I try using the
>> >> one built by RSB?
>> >
>> > No this should be fine. Can you post a screenshot of the output?
>> >>
>> >> I was trying to get this setup to try RPI 2 SMP in QEMU. I may want to
>> >> get the latest repo and do a clean build to try this again.
>> >
>> > SMP doesn't work well with QEMU. Did you try set scheduler-locking on
>> in GDB?
>> > Running the executables directly in QEMU doesn't work.
>> >>
>> >> Thanks,
>> >> Alan
>> >>
>> >> On Thu, Feb 13, 2020 at 12:12 PM G. S. Niteesh 
>> wrote:
>> >> >
>> >> > On Thu, Feb 13, 2020 at 10:40 PM Alan Cudmore <
>> alan.cudm...@gmail.com> wrote:
>> >> >>
>> >> >> Hi Niteesh,
>> >> >> I have followed your instructions for getting RTEMS running on the
>> Pi
>> >> >> 1 and 2. SMP currently is not working on the 2 for me, but that is
>> not
>> >> >> a problem with these instructions.
>> >> >> I started to try running on QEMU following your instructions but
>> have
>> >> >> not been able to get time to complete my tests.
>> >> >
>> >> > What problem are you exactly facing?
>> >> >>
>> >> >>
>> >> >>
>> >> >> But this is a vast improvement over "TODO", so I recommend accepting
>> >> >> this change.
>> >> >>
>> >> >> Thanks for creating this,
>> >> >> Alan
>> >> >>
>> >> >> On Thu, Feb 13, 2020 at 1:49 AM G. S. Niteesh 
>> wrote:
>> >> >> >
>> >> >> > Can someone take a look at this, It has been unnoticed for quite
>> a while.
>> >> >> >
>> >> >> > Thank you,
>> >> >> > Niteesh
>> >> >> >
>> >> >> > On Sat, Jan 25, 2020 at 10:49 PM G S Niteesh 
>> wrote:
>> >> >> >>
>> >> >> >> Added instructions to run examples on raspberrypi.
>> >> >> >> ---
>> >> >> >>  user/bsps/arm/raspberrypi.rst | 111
>> +-
>> >> >> >>  1 file changed, 110 insertions(+), 1 deletion(-)
>> >> >> >>
>> >> >> >> diff --git a/user/bsps/arm/raspberrypi.rst
>> b/user/bsps/arm/raspberrypi.rst
>> >> >> >> index 4ef75bd..72889a5 100644
>> >> >> >> --- a/user/bsps/arm/raspberrypi.rst
>> >> >> >> +++ b/user/bsps/arm/raspberrypi.rst
>> >> >> >> @@ -5,4 +5,113 @@
>> >> >> >>  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 Raspberry Pi which is used to
>> boot 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
>> >> >> >> +`kernel=` to ``config.txt``.
>> >> >> >> +
>> >> >> >> +You must provide the required files for the GPU to proceed.
>> These files
>> >> >> >> +can be downloaded from
>> >> >> >> +`the Raspberry Pi Firmware Repository <
>> https://github.com/raspberrypi/firmware/tree/master/boot>`_.
>> >> >> >> +You can remove the ``kernel*.img`` files if you want too, but
>> don't touch
>> >> >> >> +the other files.
>> >> >> >> +
>> >> >> >> +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.
>> >> >> >> +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-ua

Re: [PATCH v4] doc/raspberrypi: Added instructions for raspberrypi

2020-02-13 Thread G. S. Niteesh
On Thu, Feb 13, 2020 at 11:16 PM Alan Cudmore 
wrote:

> "set scheduler-locking on" in GDB works! I was able to run RPI2 hello.exe
>
> So I consider your instructions ready to go in the repo.
> More Pi 2 SMP debugging when I get the time..
> Thanks!
> Alan
>
> Great. But just a caution, QEMU support raspberry pi is very
much incomplete
so any exception or problem may be from QEMU side and not RTEMS. So if any
test goes wrong, try running it on a real board.

Thanks,
Niteesh

> On Thu, Feb 13, 2020 at 12:30 PM G. S. Niteesh  wrote:
> >
> > On Thu, Feb 13, 2020 at 10:57 PM Alan Cudmore 
> wrote:
> >>
> >> I get exceptions when trying to run hello.exe.
> >> I'm using qemu-system-arm v 2.11.1 from ubuntu. Should I try using the
> >> one built by RSB?
> >
> > No this should be fine. Can you post a screenshot of the output?
> >>
> >> I was trying to get this setup to try RPI 2 SMP in QEMU. I may want to
> >> get the latest repo and do a clean build to try this again.
> >
> > SMP doesn't work well with QEMU. Did you try set scheduler-locking on in
> GDB?
> > Running the executables directly in QEMU doesn't work.
> >>
> >> Thanks,
> >> Alan
> >>
> >> On Thu, Feb 13, 2020 at 12:12 PM G. S. Niteesh 
> wrote:
> >> >
> >> > On Thu, Feb 13, 2020 at 10:40 PM Alan Cudmore 
> wrote:
> >> >>
> >> >> Hi Niteesh,
> >> >> I have followed your instructions for getting RTEMS running on the Pi
> >> >> 1 and 2. SMP currently is not working on the 2 for me, but that is
> not
> >> >> a problem with these instructions.
> >> >> I started to try running on QEMU following your instructions but have
> >> >> not been able to get time to complete my tests.
> >> >
> >> > What problem are you exactly facing?
> >> >>
> >> >>
> >> >>
> >> >> But this is a vast improvement over "TODO", so I recommend accepting
> >> >> this change.
> >> >>
> >> >> Thanks for creating this,
> >> >> Alan
> >> >>
> >> >> On Thu, Feb 13, 2020 at 1:49 AM G. S. Niteesh 
> wrote:
> >> >> >
> >> >> > Can someone take a look at this, It has been unnoticed for quite a
> while.
> >> >> >
> >> >> > Thank you,
> >> >> > Niteesh
> >> >> >
> >> >> > On Sat, Jan 25, 2020 at 10:49 PM G S Niteesh 
> wrote:
> >> >> >>
> >> >> >> Added instructions to run examples on raspberrypi.
> >> >> >> ---
> >> >> >>  user/bsps/arm/raspberrypi.rst | 111
> +-
> >> >> >>  1 file changed, 110 insertions(+), 1 deletion(-)
> >> >> >>
> >> >> >> diff --git a/user/bsps/arm/raspberrypi.rst
> b/user/bsps/arm/raspberrypi.rst
> >> >> >> index 4ef75bd..72889a5 100644
> >> >> >> --- a/user/bsps/arm/raspberrypi.rst
> >> >> >> +++ b/user/bsps/arm/raspberrypi.rst
> >> >> >> @@ -5,4 +5,113 @@
> >> >> >>  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 Raspberry Pi which is used to boot
> 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
> >> >> >> +`kernel=` to ``config.txt``.
> >> >> >> +
> >> >> >> +You must provide the required files for the GPU to proceed.
> These files
> >> >> >> +can be downloaded from
> >> >> >> +`the Raspberry Pi Firmware Repository <
> https://github.com/raspberrypi/firmware/tree/master/boot>`_.
> >> >> >> +You can remove the ``kernel*.img`` files if you want too, but
> don't touch
> >> >> >> +the other files.
> >> >> >> +
> >> >> >> +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.
> >> >> >> +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=0x20
> >> >> >> + kernel=kernel.img
> >> >> >> +
> >> >> >> +Testing using QEMU
> >> >> >> +--
> >> >> >> +
> >> >> >> +QEMU can be built using RSB. Navigate to
> ``/rtems``
> >> >> >> +and run this command.
> >> >> >> +
> >> >> >> +.. code-blo

Re: [PATCH v4] doc/raspberrypi: Added instructions for raspberrypi

2020-02-13 Thread Alan Cudmore
"set scheduler-locking on" in GDB works! I was able to run RPI2 hello.exe

So I consider your instructions ready to go in the repo.
More Pi 2 SMP debugging when I get the time..
Thanks!
Alan

On Thu, Feb 13, 2020 at 12:30 PM G. S. Niteesh  wrote:
>
> On Thu, Feb 13, 2020 at 10:57 PM Alan Cudmore  wrote:
>>
>> I get exceptions when trying to run hello.exe.
>> I'm using qemu-system-arm v 2.11.1 from ubuntu. Should I try using the
>> one built by RSB?
>
> No this should be fine. Can you post a screenshot of the output?
>>
>> I was trying to get this setup to try RPI 2 SMP in QEMU. I may want to
>> get the latest repo and do a clean build to try this again.
>
> SMP doesn't work well with QEMU. Did you try set scheduler-locking on in GDB?
> Running the executables directly in QEMU doesn't work.
>>
>> Thanks,
>> Alan
>>
>> On Thu, Feb 13, 2020 at 12:12 PM G. S. Niteesh  wrote:
>> >
>> > On Thu, Feb 13, 2020 at 10:40 PM Alan Cudmore  
>> > wrote:
>> >>
>> >> Hi Niteesh,
>> >> I have followed your instructions for getting RTEMS running on the Pi
>> >> 1 and 2. SMP currently is not working on the 2 for me, but that is not
>> >> a problem with these instructions.
>> >> I started to try running on QEMU following your instructions but have
>> >> not been able to get time to complete my tests.
>> >
>> > What problem are you exactly facing?
>> >>
>> >>
>> >>
>> >> But this is a vast improvement over "TODO", so I recommend accepting
>> >> this change.
>> >>
>> >> Thanks for creating this,
>> >> Alan
>> >>
>> >> On Thu, Feb 13, 2020 at 1:49 AM G. S. Niteesh  wrote:
>> >> >
>> >> > Can someone take a look at this, It has been unnoticed for quite a 
>> >> > while.
>> >> >
>> >> > Thank you,
>> >> > Niteesh
>> >> >
>> >> > On Sat, Jan 25, 2020 at 10:49 PM G S Niteesh  wrote:
>> >> >>
>> >> >> Added instructions to run examples on raspberrypi.
>> >> >> ---
>> >> >>  user/bsps/arm/raspberrypi.rst | 111 +-
>> >> >>  1 file changed, 110 insertions(+), 1 deletion(-)
>> >> >>
>> >> >> diff --git a/user/bsps/arm/raspberrypi.rst 
>> >> >> b/user/bsps/arm/raspberrypi.rst
>> >> >> index 4ef75bd..72889a5 100644
>> >> >> --- a/user/bsps/arm/raspberrypi.rst
>> >> >> +++ b/user/bsps/arm/raspberrypi.rst
>> >> >> @@ -5,4 +5,113 @@
>> >> >>  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 Raspberry Pi which is used to boot 
>> >> >> 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
>> >> >> +`kernel=` to ``config.txt``.
>> >> >> +
>> >> >> +You must provide the required files for the GPU to proceed. These 
>> >> >> files
>> >> >> +can be downloaded from
>> >> >> +`the Raspberry Pi Firmware Repository 
>> >> >> `_.
>> >> >> +You can remove the ``kernel*.img`` files if you want too, but don't 
>> >> >> touch
>> >> >> +the other files.
>> >> >> +
>> >> >> +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.
>> >> >> +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=0x20
>> >> >> + kernel=kernel.img
>> >> >> +
>> >> >> +Testing using QEMU
>> >> >> +--
>> >> >> +
>> >> >> +QEMU can be built using RSB. Navigate to 
>> >> >> ``/rtems``
>> >> >> +and run this command.
>> >> >> +
>> >> >> +.. code-block:: none
>> >> >> +
>> >> >> + $ ../source-builder/sb-set-builder --prefix= 
>> >> >> devel/qemu4.bset
>> >> >> +
>> >> >> +**Note**: Replace  and  
>> >> >> with the
>> >> >> +correct path of the directories. For example, if you used quick-start 
>> >> >> section
>> >> >> +as your reference, these two will be ``$HOME/quick-start/src/rsb`` and
>> >> >> +``$HOME/quick-start/rtems/5`` respectively,
>> >> >> +
>> >> >> +QEMU along with GDB can 

Re: [PATCH v4] doc/raspberrypi: Added instructions for raspberrypi

2020-02-13 Thread G. S. Niteesh
On Thu, Feb 13, 2020 at 10:57 PM Alan Cudmore 
wrote:

> I get exceptions when trying to run hello.exe.
> I'm using qemu-system-arm v 2.11.1 from ubuntu. Should I try using the
> one built by RSB?
>
No this should be fine. Can you post a screenshot of the output?

> I was trying to get this setup to try RPI 2 SMP in QEMU. I may want to
> get the latest repo and do a clean build to try this again.
>
SMP doesn't work well with QEMU. Did you try set scheduler-locking on in
GDB?
Running the executables directly in QEMU doesn't work.

> Thanks,
> Alan
>
> On Thu, Feb 13, 2020 at 12:12 PM G. S. Niteesh  wrote:
> >
> > On Thu, Feb 13, 2020 at 10:40 PM Alan Cudmore 
> wrote:
> >>
> >> Hi Niteesh,
> >> I have followed your instructions for getting RTEMS running on the Pi
> >> 1 and 2. SMP currently is not working on the 2 for me, but that is not
> >> a problem with these instructions.
> >> I started to try running on QEMU following your instructions but have
> >> not been able to get time to complete my tests.
> >
> > What problem are you exactly facing?
> >>
> >>
> >>
> >> But this is a vast improvement over "TODO", so I recommend accepting
> >> this change.
> >>
> >> Thanks for creating this,
> >> Alan
> >>
> >> On Thu, Feb 13, 2020 at 1:49 AM G. S. Niteesh 
> wrote:
> >> >
> >> > Can someone take a look at this, It has been unnoticed for quite a
> while.
> >> >
> >> > Thank you,
> >> > Niteesh
> >> >
> >> > On Sat, Jan 25, 2020 at 10:49 PM G S Niteesh 
> wrote:
> >> >>
> >> >> Added instructions to run examples on raspberrypi.
> >> >> ---
> >> >>  user/bsps/arm/raspberrypi.rst | 111
> +-
> >> >>  1 file changed, 110 insertions(+), 1 deletion(-)
> >> >>
> >> >> diff --git a/user/bsps/arm/raspberrypi.rst
> b/user/bsps/arm/raspberrypi.rst
> >> >> index 4ef75bd..72889a5 100644
> >> >> --- a/user/bsps/arm/raspberrypi.rst
> >> >> +++ b/user/bsps/arm/raspberrypi.rst
> >> >> @@ -5,4 +5,113 @@
> >> >>  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 Raspberry Pi which is used to boot
> 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
> >> >> +`kernel=` to ``config.txt``.
> >> >> +
> >> >> +You must provide the required files for the GPU to proceed. These
> files
> >> >> +can be downloaded from
> >> >> +`the Raspberry Pi Firmware Repository <
> https://github.com/raspberrypi/firmware/tree/master/boot>`_.
> >> >> +You can remove the ``kernel*.img`` files if you want too, but don't
> touch
> >> >> +the other files.
> >> >> +
> >> >> +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.
> >> >> +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=0x20
> >> >> + kernel=kernel.img
> >> >> +
> >> >> +Testing using QEMU
> >> >> +--
> >> >> +
> >> >> +QEMU can be built using RSB. Navigate to
> ``/rtems``
> >> >> +and run this command.
> >> >> +
> >> >> +.. code-block:: none
> >> >> +
> >> >> + $ ../source-builder/sb-set-builder --prefix=
> devel/qemu4.bset
> >> >> +
> >> >> +**Note**: Replace  and 
> with the
> >> >> +correct path of the directories. For example, if you used
> quick-start section
> >> >> +as your reference, these two will be ``$HOME/quick-start/src/rsb``
> and
> >> >> +``$HOME/quick-start/rtems/5`` respectively,
> >> >> +
> >> >> +QEMU along with GDB can be used for debugging, but it only supports
> >> >> +Raspberry Pi 2 and the emulation is also incomplete. So some of the
> >> >> +features might not work as expected.
> >> >> +
> >> >> +Make sure your version of QEMU is newer than v2.6, because older
> ones don't
> >> >> +support Raspberry Pis.
> >> >> +
> >> >> +.. code-block:: none
> >> >> +
> >> >> + $ qemu-system-arm -M raspi2 -m 1G -kernel hello.exe -serial
> mon:stdio -nographic -S -s
> >> >> +
> >> >> +This

Re: [PATCH v4] doc/raspberrypi: Added instructions for raspberrypi

2020-02-13 Thread Alan Cudmore
I get exceptions when trying to run hello.exe.
I'm using qemu-system-arm v 2.11.1 from ubuntu. Should I try using the
one built by RSB?
I was trying to get this setup to try RPI 2 SMP in QEMU. I may want to
get the latest repo and do a clean build to try this again.
Thanks,
Alan

On Thu, Feb 13, 2020 at 12:12 PM G. S. Niteesh  wrote:
>
> On Thu, Feb 13, 2020 at 10:40 PM Alan Cudmore  wrote:
>>
>> Hi Niteesh,
>> I have followed your instructions for getting RTEMS running on the Pi
>> 1 and 2. SMP currently is not working on the 2 for me, but that is not
>> a problem with these instructions.
>> I started to try running on QEMU following your instructions but have
>> not been able to get time to complete my tests.
>
> What problem are you exactly facing?
>>
>>
>>
>> But this is a vast improvement over "TODO", so I recommend accepting
>> this change.
>>
>> Thanks for creating this,
>> Alan
>>
>> On Thu, Feb 13, 2020 at 1:49 AM G. S. Niteesh  wrote:
>> >
>> > Can someone take a look at this, It has been unnoticed for quite a while.
>> >
>> > Thank you,
>> > Niteesh
>> >
>> > On Sat, Jan 25, 2020 at 10:49 PM G S Niteesh  wrote:
>> >>
>> >> Added instructions to run examples on raspberrypi.
>> >> ---
>> >>  user/bsps/arm/raspberrypi.rst | 111 +-
>> >>  1 file changed, 110 insertions(+), 1 deletion(-)
>> >>
>> >> diff --git a/user/bsps/arm/raspberrypi.rst b/user/bsps/arm/raspberrypi.rst
>> >> index 4ef75bd..72889a5 100644
>> >> --- a/user/bsps/arm/raspberrypi.rst
>> >> +++ b/user/bsps/arm/raspberrypi.rst
>> >> @@ -5,4 +5,113 @@
>> >>  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 Raspberry Pi which is used to boot 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
>> >> +`kernel=` to ``config.txt``.
>> >> +
>> >> +You must provide the required files for the GPU to proceed. These files
>> >> +can be downloaded from
>> >> +`the Raspberry Pi Firmware Repository 
>> >> `_.
>> >> +You can remove the ``kernel*.img`` files if you want too, but don't touch
>> >> +the other files.
>> >> +
>> >> +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.
>> >> +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=0x20
>> >> + kernel=kernel.img
>> >> +
>> >> +Testing using QEMU
>> >> +--
>> >> +
>> >> +QEMU can be built using RSB. Navigate to ``/rtems``
>> >> +and run this command.
>> >> +
>> >> +.. code-block:: none
>> >> +
>> >> + $ ../source-builder/sb-set-builder --prefix= 
>> >> devel/qemu4.bset
>> >> +
>> >> +**Note**: Replace  and  with 
>> >> the
>> >> +correct path of the directories. For example, if you used quick-start 
>> >> section
>> >> +as your reference, these two will be ``$HOME/quick-start/src/rsb`` and
>> >> +``$HOME/quick-start/rtems/5`` respectively,
>> >> +
>> >> +QEMU along with GDB can be used for debugging, but it only supports
>> >> +Raspberry Pi 2 and the emulation is also incomplete. So some of the
>> >> +features might not work as expected.
>> >> +
>> >> +Make sure your version of QEMU is newer than v2.6, because older ones 
>> >> don't
>> >> +support Raspberry Pis.
>> >> +
>> >> +.. 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
>> >> +connect.
>> >> +
>> >> +The Device Tree Blob (DTB) is needed to load the device tree while 
>> >> starting up
>> >> +the kernel. The BSP uses information from this file to initialize the 
>> >> drivers.
>> >> +
>> >> +Make sure you pass in the correct DTB file. There are currently two 
>> >> version of
>> >> +DTB for the Raspberry Pi 2 ``bcm2709-rpi-2-b.dtb`` and 
>> >> ``bcm2710-rpi-2-b.dtb``.
>> >> +The ``bcm

Re: [PATCH v4] doc/raspberrypi: Added instructions for raspberrypi

2020-02-13 Thread G. S. Niteesh
On Thu, Feb 13, 2020 at 10:40 PM Alan Cudmore 
wrote:

> Hi Niteesh,
> I have followed your instructions for getting RTEMS running on the Pi
> 1 and 2. SMP currently is not working on the 2 for me, but that is not
> a problem with these instructions.
> I started to try running on QEMU following your instructions but have
> not been able to get time to complete my tests.

What problem are you exactly facing?

>
>
But this is a vast improvement over "TODO", so I recommend accepting
> this change.
>
> Thanks for creating this,
> Alan
>
> On Thu, Feb 13, 2020 at 1:49 AM G. S. Niteesh  wrote:
> >
> > Can someone take a look at this, It has been unnoticed for quite a while.
> >
> > Thank you,
> > Niteesh
> >
> > On Sat, Jan 25, 2020 at 10:49 PM G S Niteesh  wrote:
> >>
> >> Added instructions to run examples on raspberrypi.
> >> ---
> >>  user/bsps/arm/raspberrypi.rst | 111 +-
> >>  1 file changed, 110 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/user/bsps/arm/raspberrypi.rst
> b/user/bsps/arm/raspberrypi.rst
> >> index 4ef75bd..72889a5 100644
> >> --- a/user/bsps/arm/raspberrypi.rst
> >> +++ b/user/bsps/arm/raspberrypi.rst
> >> @@ -5,4 +5,113 @@
> >>  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 Raspberry Pi which is used to boot
> 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
> >> +`kernel=` to ``config.txt``.
> >> +
> >> +You must provide the required files for the GPU to proceed. These files
> >> +can be downloaded from
> >> +`the Raspberry Pi Firmware Repository <
> https://github.com/raspberrypi/firmware/tree/master/boot>`_.
> >> +You can remove the ``kernel*.img`` files if you want too, but don't
> touch
> >> +the other files.
> >> +
> >> +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.
> >> +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=0x20
> >> + kernel=kernel.img
> >> +
> >> +Testing using QEMU
> >> +--
> >> +
> >> +QEMU can be built using RSB. Navigate to ``/rtems``
> >> +and run this command.
> >> +
> >> +.. code-block:: none
> >> +
> >> + $ ../source-builder/sb-set-builder --prefix=
> devel/qemu4.bset
> >> +
> >> +**Note**: Replace  and 
> with the
> >> +correct path of the directories. For example, if you used quick-start
> section
> >> +as your reference, these two will be ``$HOME/quick-start/src/rsb`` and
> >> +``$HOME/quick-start/rtems/5`` respectively,
> >> +
> >> +QEMU along with GDB can be used for debugging, but it only supports
> >> +Raspberry Pi 2 and the emulation is also incomplete. So some of the
> >> +features might not work as expected.
> >> +
> >> +Make sure your version of QEMU is newer than v2.6, because older ones
> don't
> >> +support Raspberry Pis.
> >> +
> >> +.. 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
> >> +connect.
> >> +
> >> +The Device Tree Blob (DTB) is needed to load the device tree while
> starting up
> >> +the kernel. The BSP uses information from this file to initialize the
> drivers.
> >> +
> >> +Make sure you pass in the correct DTB file. There are currently two
> version of
> >> +DTB for the Raspberry Pi 2 ``bcm2709-rpi-2-b.dtb`` and
> ``bcm2710-rpi-2-b.dtb``.
> >> +The ``bcm2709-rpi-2-b.dtb`` is for Raspberry Pi 2 Model B and
> >> +``bcm2710-rpi-2-b.dtb`` is for Raspberry Pi 2 Model B v1.2
> >> +
> >> +We need to pass in the DTB file to GDB before running the example.
> >> +
> >> +In a new terminal, run GDB using
> >> +
> >> +.. code-block:: none
> >> +
> >> + $ arm-rtems5-gdb hello.exe
> >> +
> >> +This will open GDB and will load the symbol table from hello.exe.
> Issue the
> >> +following commands in the GDB prompt.
> >> +
> >> +.. code-block:: none
> >> +
> >> + (gdb)

Re: [PATCH v4] doc/raspberrypi: Added instructions for raspberrypi

2020-02-13 Thread Alan Cudmore
Hi Niteesh,
I have followed your instructions for getting RTEMS running on the Pi
1 and 2. SMP currently is not working on the 2 for me, but that is not
a problem with these instructions.
I started to try running on QEMU following your instructions but have
not been able to get time to complete my tests.

But this is a vast improvement over "TODO", so I recommend accepting
this change.

Thanks for creating this,
Alan

On Thu, Feb 13, 2020 at 1:49 AM G. S. Niteesh  wrote:
>
> Can someone take a look at this, It has been unnoticed for quite a while.
>
> Thank you,
> Niteesh
>
> On Sat, Jan 25, 2020 at 10:49 PM G S Niteesh  wrote:
>>
>> Added instructions to run examples on raspberrypi.
>> ---
>>  user/bsps/arm/raspberrypi.rst | 111 +-
>>  1 file changed, 110 insertions(+), 1 deletion(-)
>>
>> diff --git a/user/bsps/arm/raspberrypi.rst b/user/bsps/arm/raspberrypi.rst
>> index 4ef75bd..72889a5 100644
>> --- a/user/bsps/arm/raspberrypi.rst
>> +++ b/user/bsps/arm/raspberrypi.rst
>> @@ -5,4 +5,113 @@
>>  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 Raspberry Pi which is used to boot 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
>> +`kernel=` to ``config.txt``.
>> +
>> +You must provide the required files for the GPU to proceed. These files
>> +can be downloaded from
>> +`the Raspberry Pi Firmware Repository 
>> `_.
>> +You can remove the ``kernel*.img`` files if you want too, but don't touch
>> +the other files.
>> +
>> +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.
>> +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=0x20
>> + kernel=kernel.img
>> +
>> +Testing using QEMU
>> +--
>> +
>> +QEMU can be built using RSB. Navigate to ``/rtems``
>> +and run this command.
>> +
>> +.. code-block:: none
>> +
>> + $ ../source-builder/sb-set-builder --prefix= 
>> devel/qemu4.bset
>> +
>> +**Note**: Replace  and  with the
>> +correct path of the directories. For example, if you used quick-start 
>> section
>> +as your reference, these two will be ``$HOME/quick-start/src/rsb`` and
>> +``$HOME/quick-start/rtems/5`` respectively,
>> +
>> +QEMU along with GDB can be used for debugging, but it only supports
>> +Raspberry Pi 2 and the emulation is also incomplete. So some of the
>> +features might not work as expected.
>> +
>> +Make sure your version of QEMU is newer than v2.6, because older ones don't
>> +support Raspberry Pis.
>> +
>> +.. 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
>> +connect.
>> +
>> +The Device Tree Blob (DTB) is needed to load the device tree while starting 
>> up
>> +the kernel. The BSP uses information from this file to initialize the 
>> drivers.
>> +
>> +Make sure you pass in the correct DTB file. There are currently two version 
>> of
>> +DTB for the Raspberry Pi 2 ``bcm2709-rpi-2-b.dtb`` and 
>> ``bcm2710-rpi-2-b.dtb``.
>> +The ``bcm2709-rpi-2-b.dtb`` is for Raspberry Pi 2 Model B and
>> +``bcm2710-rpi-2-b.dtb`` is for Raspberry Pi 2 Model B v1.2
>> +
>> +We need to pass in the DTB file to GDB before running the example.
>> +
>> +In a new terminal, run GDB using
>> +
>> +.. code-block:: none
>> +
>> + $ arm-rtems5-gdb hello.exe
>> +
>> +This will open GDB and will load the symbol table from hello.exe. Issue the
>> +following commands in the GDB prompt.
>> +
>> +.. code-block:: none
>> +
>> + (gdb) tar remote:1234
>> + (gdb) load
>> + (gdb) restore bcm2709-rpi-2-b.dtb binary 0x2ef0
>> + (gdb) set $r2 = 0x2ef0
>> +
>> +This will connect GDB to QEMU and will load the DTB file and the 
>> application.
>> +
>> +.. code-block:: none
>> +
>> + (gdb) continue
>> +
>> +The ``continue`` command will run the executable.
>> +
>> +**Note**

Re: [PATCH v4] doc/raspberrypi: Added instructions for raspberrypi

2020-02-12 Thread G. S. Niteesh
Can someone take a look at this, It has been unnoticed for quite a while.

Thank you,
Niteesh

On Sat, Jan 25, 2020 at 10:49 PM G S Niteesh  wrote:

> Added instructions to run examples on raspberrypi.
> ---
>  user/bsps/arm/raspberrypi.rst | 111 +-
>  1 file changed, 110 insertions(+), 1 deletion(-)
>
> diff --git a/user/bsps/arm/raspberrypi.rst b/user/bsps/arm/raspberrypi.rst
> index 4ef75bd..72889a5 100644
> --- a/user/bsps/arm/raspberrypi.rst
> +++ b/user/bsps/arm/raspberrypi.rst
> @@ -5,4 +5,113 @@
>  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 Raspberry Pi which is used to boot 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
> +`kernel=` to ``config.txt``.
> +
> +You must provide the required files for the GPU to proceed. These files
> +can be downloaded from
> +`the Raspberry Pi Firmware Repository <
> https://github.com/raspberrypi/firmware/tree/master/boot>`_.
> +You can remove the ``kernel*.img`` files if you want too, but don't touch
> +the other files.
> +
> +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.
> +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=0x20
> + kernel=kernel.img
> +
> +Testing using QEMU
> +--
> +
> +QEMU can be built using RSB. Navigate to ``/rtems``
> +and run this command.
> +
> +.. code-block:: none
> +
> + $ ../source-builder/sb-set-builder --prefix=
> devel/qemu4.bset
> +
> +**Note**: Replace  and  with
> the
> +correct path of the directories. For example, if you used quick-start
> section
> +as your reference, these two will be ``$HOME/quick-start/src/rsb`` and
> +``$HOME/quick-start/rtems/5`` respectively,
> +
> +QEMU along with GDB can be used for debugging, but it only supports
> +Raspberry Pi 2 and the emulation is also incomplete. So some of the
> +features might not work as expected.
> +
> +Make sure your version of QEMU is newer than v2.6, because older ones
> don't
> +support Raspberry Pis.
> +
> +.. 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
> +connect.
> +
> +The Device Tree Blob (DTB) is needed to load the device tree while
> starting up
> +the kernel. The BSP uses information from this file to initialize the
> drivers.
> +
> +Make sure you pass in the correct DTB file. There are currently two
> version of
> +DTB for the Raspberry Pi 2 ``bcm2709-rpi-2-b.dtb`` and
> ``bcm2710-rpi-2-b.dtb``.
> +The ``bcm2709-rpi-2-b.dtb`` is for Raspberry Pi 2 Model B and
> +``bcm2710-rpi-2-b.dtb`` is for Raspberry Pi 2 Model B v1.2
> +
> +We need to pass in the DTB file to GDB before running the example.
> +
> +In a new terminal, run GDB using
> +
> +.. code-block:: none
> +
> + $ arm-rtems5-gdb hello.exe
> +
> +This will open GDB and will load the symbol table from hello.exe. Issue
> the
> +following commands in the GDB prompt.
> +
> +.. code-block:: none
> +
> + (gdb) tar remote:1234
> + (gdb) load
> + (gdb) restore bcm2709-rpi-2-b.dtb binary 0x2ef0
> + (gdb) set $r2 = 0x2ef0
> +
> +This will connect GDB to QEMU and will load the DTB file and the
> application.
> +
> +.. code-block:: none
> +
> + (gdb) continue
> +
> +The ``continue`` command will run the executable.
> +
> +**Note**: Add ``set scheduler-locking on`` in GDB if you have any issues
> +running the examples.
> --
> 2.17.1
>
>
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

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

2020-01-25 Thread G S Niteesh
Added instructions to run examples on raspberrypi.
---
 user/bsps/arm/raspberrypi.rst | 111 +-
 1 file changed, 110 insertions(+), 1 deletion(-)

diff --git a/user/bsps/arm/raspberrypi.rst b/user/bsps/arm/raspberrypi.rst
index 4ef75bd..72889a5 100644
--- a/user/bsps/arm/raspberrypi.rst
+++ b/user/bsps/arm/raspberrypi.rst
@@ -5,4 +5,113 @@
 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 Raspberry Pi which is used to boot 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
+`kernel=` to ``config.txt``.
+
+You must provide the required files for the GPU to proceed. These files
+can be downloaded from
+`the Raspberry Pi Firmware Repository 
`_.
+You can remove the ``kernel*.img`` files if you want too, but don't touch
+the other files.
+
+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.
+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=0x20
+ kernel=kernel.img
+
+Testing using QEMU
+--
+
+QEMU can be built using RSB. Navigate to ``/rtems``
+and run this command.
+
+.. code-block:: none
+
+ $ ../source-builder/sb-set-builder --prefix= 
devel/qemu4.bset
+
+**Note**: Replace  and  with the
+correct path of the directories. For example, if you used quick-start section
+as your reference, these two will be ``$HOME/quick-start/src/rsb`` and
+``$HOME/quick-start/rtems/5`` respectively,
+
+QEMU along with GDB can be used for debugging, but it only supports
+Raspberry Pi 2 and the emulation is also incomplete. So some of the
+features might not work as expected.
+
+Make sure your version of QEMU is newer than v2.6, because older ones don't
+support Raspberry Pis.
+
+.. 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
+connect.
+
+The Device Tree Blob (DTB) is needed to load the device tree while starting up
+the kernel. The BSP uses information from this file to initialize the drivers.
+
+Make sure you pass in the correct DTB file. There are currently two version of
+DTB for the Raspberry Pi 2 ``bcm2709-rpi-2-b.dtb`` and ``bcm2710-rpi-2-b.dtb``.
+The ``bcm2709-rpi-2-b.dtb`` is for Raspberry Pi 2 Model B and
+``bcm2710-rpi-2-b.dtb`` is for Raspberry Pi 2 Model B v1.2
+
+We need to pass in the DTB file to GDB before running the example.
+
+In a new terminal, run GDB using
+
+.. code-block:: none
+
+ $ arm-rtems5-gdb hello.exe
+
+This will open GDB and will load the symbol table from hello.exe. Issue the
+following commands in the GDB prompt.
+
+.. code-block:: none
+
+ (gdb) tar remote:1234
+ (gdb) load
+ (gdb) restore bcm2709-rpi-2-b.dtb binary 0x2ef0
+ (gdb) set $r2 = 0x2ef0
+
+This will connect GDB to QEMU and will load the DTB file and the application.
+
+.. code-block:: none
+
+ (gdb) continue
+
+The ``continue`` command will run the executable.
+
+**Note**: Add ``set scheduler-locking on`` in GDB if you have any issues
+running the examples.
-- 
2.17.1

___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel