[PATCH] README for raspberry pi 4 AArch64 BSP

Karel Gardas karel at functional.vision
Sun Apr 9 17:09:19 UTC 2023


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



More information about the devel mailing list