On Mon, Apr 10, 2023 at 4:05 AM Noor Aman <nooraman5...@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@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@rtems.org > http://lists.rtems.org/mailman/listinfo/devel _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel