[PATCH] README for raspberry pi 4 AArch64 BSP

Noor Aman nooraman5718 at gmail.com
Mon Apr 10 10:05:03 UTC 2023


Thanks for the suggestions,

I'll wait for a few days to receive a confirmation or so and after that,
I'll update the documentation instead of adding a README to RTEMS if
required.

Thanks,

On Sun, Apr 9, 2023, 10:39 PM Karel Gardas <karel at functional.vision> wrote:

>
> Hi,
>
> nice patch. I'm not sure if I'm right here, but I've thought the idea is
> to get rid of BSPs specific README files and move all the information
> into the RTEMS user docs. If I'm right, then it would be great if you
> merge your changes to the doc you already pointed out:
>
>
> https://docs.rtems.org/branches/master/user/bsps/bsps-aarch64.html#raspberry-pi-4b
>
> If you would like to work on that, then please clone the docs repo from
> here: git://git.rtems.org/rtems-docs.git
>
> and edit user/bsps/aarch64/raspberrypi4.rst file
>
> You will also need to have some tools installed in order to work on
> that, it is well described in the first paragraph here:
> https://docs.rtems.org/
>
> If you are unsure, wait for official deny or confirmation of the info
> provided by me...
>
> Thanks,
> Karel
>
> On 4/9/23 09:53, Mohd Noor Aman wrote:
> > The readme file includes all links and steps for setting up developping
> > environment for the raspberry pi 4. Added cheap JTAG adapters list which
> are
> > tried and tested. Links for references for raspberry pi 4 are also added.
> > ---
> >   bsps/aarch64/raspberrypi/README | 86 +++++++++++++++++++++++++++++++++
> >   1 file changed, 86 insertions(+)
> >   create mode 100644 bsps/aarch64/raspberrypi/README
> >
> > diff --git a/bsps/aarch64/raspberrypi/README
> b/bsps/aarch64/raspberrypi/README
> > new file mode 100644
> > index 0000000000..9c6465fd5e
> > --- /dev/null
> > +++ b/bsps/aarch64/raspberrypi/README
> > @@ -0,0 +1,86 @@
> > +BSP for the Raspberry Pi aarch64 ArmV8 board
> > +
> > +It currently supports the following peripheral:
> > +-- Console using the PL011 UART0 Raspberry Pi 4 has 6 UARTs, 5 PL011
> based and 1
> > +   miniuart based. Only PL011 UART0 is supported. No support for
> Mini-UART. The
> > +   console driver only works with polled mode right now.
> > +
> > +-- The clock driver uses the ARM Generic Timer.
> > +
> > +-- GIC-400 is compatible with gicv2 headers and is supported by bsp
> > +
> > +
> > +How to boot: Steps on how to boot RTEMS on raspberry pi 4B is given
> here.
> > +
> > +
> https://docs.rtems.org/branches/master/user/bsps/bsps-aarch64.html#raspberry-pi-4b
> > +
> > +
> > +To do list: It would be nice to get support in the BSP for the
> following:
> > +    -- SD card
> > +    -- SPI
> > +    -- I2C
> > +    -- GPIO
> > +    -- Graphics console
> > +    -- Sound
> > +
> > +
> > +JTAG debugging: OpenOCD supports bcm2711 as a target. Many interfaces
> are
> > +supported to work with bcm2711. A few of them which I have tested
> personally
> > +are.
> > +
> > +FT232H: Nice and cheap adapter which supports SPI, I2C JTAG using MPSSE
> engine.
> > +It can either be used as a UART-to-USB or JTAG adapter at a time.
> > +
> > +Esp-prog: its just a FT2232H breakout board which can connect using
> FT2232H
> > +derivatives cfg
> > +
> > +Raspberry Pi SBC: Yes, you can use a raspberry pi to debug another
> raspberry pi
> > +
> > +Raspberry Pi Pico: As of now, openocd support for Raspberry pi Pico is
> under
> > +review, in the meantime you can just build forked version of OpenOCD,
> and use
> > +pico-dirtyJTAG.uf2 for raspberry pi pico.
> > +https://sourceforge.net/u/phdussud/openocd
> > +https://github.com/phdussud/pico-dirtyJtag
> > +
> > +Some of the interfaces which I have not used personally but can most
> probably be
> > +used are:
> > +
> > +FT2XXXH series :  They are of same family as FT232H, just have
> different amount
> > +of MPSSE engine, Which determines how many many protocols can be ran
> > +simultaneously.
> > +
> > +BeagleBone Black: It can be used with OpenOCDs am335xgpio drivers to be
> used as
> > +JTAG/SWD programmer
> > +
> > +Almost every SBC with GPIO: It can be used by openOCD through libgpiod
> library
> > +
> > +
> > +Openocd compilation steps for Raspberry pi:
> > +
> > +    git clone http://openocd.zylin.com/openocd
> > +    cd openocd
> > +    ./bootstrap
> > +    ./configure --enable-sysfsgpio --enable-bcm2835gpio
> > +    make -j$(nproc)
> > +
> > +
> > +Credits and links:
> > +
> > +  A bare metal example which includes examples for interrupts, SMP,
> bluetooth
> > +  https://github.com/isometimes/rpi4-osdev/
> > +
> > +  A Raspberry pi 4 port for RT-Thread which support Ethernet, mailbox
> and UARTs
> > +
> https://github.com/RT-Thread/rt-thread/tree/master/bsp/raspberry-pi/raspi4-64
> > +
> > +  Vxworks is a Real-Time OS which has a public SDK for development,not
> open
> > +  source. The steps for booting Vxworks is given here.
> > +
> https://labs.windriver.com/downloads/wrsdk-vxworks7-docs/2203/README_raspberrypi4b.html
> > +
> > +  s-matyukevich has done a great job for baremetal examples for
> raspberry pi 3B,
> > +  and rhythm16 port all that code for raspberry pi 4B. Worth checking
> out.
> > +  https://s-matyukevich.github.io/raspberry-pi-os/
> > +  https://github.com/rhythm16/rpi4-bare-metal/
> > +
> > +  There are also some examples from valvers about bare metal for
> raspberrypi
> > +  family
> > +
> https://www.valvers.com/open-software/raspberry-pi/bare-metal-programming-in-c-part-1/
> > \ No newline at end of file
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20230410/c137afd9/attachment-0001.htm>


More information about the devel mailing list