[PATCH] README for raspberry pi 4 AArch64 BSP

Gedare Bloom gedare at rtems.org
Fri Apr 14 14:22:25 UTC 2023


On Mon, Apr 10, 2023 at 4:05 AM Noor Aman <nooraman5718 at gmail.com> wrote:
>
> 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.
>
Yes, it is preferred to put this information to the docs as linked by
Karel. Ask if you need help with that.

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


More information about the devel mailing list