Tiga Ird Board, OpenOCD, GDB-aarch64-none-gnu, Sharing URLs to read on using a Raspberry Pi 4B with GhostBSD / FreeBSD
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 05 Mar 2024 10:07:06 UTC
Here is a newer version of Raspberry Pi 4B, 3B, 400 image to download
728 Mbytes
http://ghostbsdarm64.hopto.org/packages/Ghost14_5G_selfbuilt_raspi4b_Feb7_1.img
or download a,000 byte shell script file ,
write_freebsd_img_dd_to_da1.sh, to automate the downloading ,
decompressing, and writing into /dev/da1 usb flash drive that large
image file.
Raspberry Pi 5 status thread, where I shared 3 patch files to enable
HDMI Audio out the TV speakers with FreeBSD
https://forums.FreeBSD.org/threads/raspberry-pi-5-status.91406/post-641494
Forum Post with URL Links to JTAG post, UART3, OpenOCD, GDB
https://forums.FreeBSD.org/threads/arm-arm64-gpio-irq-cpu-affinity-is-it-supported.92490/post-645899
Has anybody tested the extra UART 2, 3, 4, 5 serial ports on the
Raspberry Pi 4?
https://forums.FreeBSD.org/threads/raspberry-pi-5-status.91406/post-643076
Directions for patching in source code to enable HDMI Audio Speakers on
the TV.
https://forums.FreeBSD.org/threads/raspberry-pi-5-status.91406/post-641494
What I am looking for is the setup of the .dts and dtsi files to enable
the UART3 serial port to operate in FreeBSD aarch64 on the Raspberry Pi
4B with 8 GB dram, a 500GB SSD, and ethernet DHCP connection to the router.
2nd I have OpenOCD connected and running through a Tigard Board FT2232H
FTDI USB uart serial port devices connected to the Raspberry Pi 4B.
board. I want to test and look into why the UART3 serial port is not
getting setup and used by FreeBSD.
Serial UART3 port setup blog post
https://ghostbsd-arm64.blogspot.com/2024/02/uart3-serial-port-how-to-locate-source.html
uart3-overlay.dts
/dts-v1/;
/plugin/;
/{
compatible = "brcm,bcm2711";
fragment@0 {
target = <&uart3>;
__overlay__ {
pinctrl-names = "default";
pinctrl-0 = <&uart3_pins>;
status = "okay";
};
};
fragment@1 {
target = <&uart3_pins>;
__dormant__ {
brcm,pins = <4 5 6 7>;
brcm,pull = <0 2 2 0>;
};
};
__overrides__ {
ctsrts = <0>,"=1";
};
};
DIFFERENT VERSION of Uart3 DTSI description:
I will send email now, and study tomorrow what is different between
these 2 files.
uart3: serial@7e201600 {
compatible = "arm,pl011", "arm,primecell";
reg = <0x7e201600 0x200>;
interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clocks BCM2835_CLOCK_UART>,
<&clocks BCM2835_CLOCK_VPU>;
resets = <&dvp 0>;
interrupt-parent = <&aon_intr>;
interrupts = <0>, <1>, <2>,
<3>, <4>, <5>;
interrupt-names = "cec-tx", "cec-rx", "cec-low",
"wakeup", "hpd-connected",
"hpd-removed";
ddc = <&ddc0>;
dmas = <&dma 10>;
dma-names = "audio-rx";
# status = "disabled";
status = "okay";
};
Need to understand how what is written in this overlay file converts to
code or is related to already existing code and adds the interrupt
signal 121 to look at UART3 and see if it has an empty transmit register
or has received charters to read from the receive register. Maybe add
the interrupt description to the Uart3-overlay.dts file. Look at the
bcm2711.dts and the raspi4-b-overlay.dts files
In writing this email to you, I am considering the problem I am having
with the UART3 code. From the overlay above, it may enable/setup the
GPIO pins, from 40 pin header, 7 Uart3 TX and 29 Uart3 RX to connect
with open the internal UART3 device on the SOC. Maybe I should move the
description of ther interrupts and GIC interrupt controller to be listed
in this DTS Overlay description. That is the question I am asking. I
will give this a good google search to find examples of describing the
interrupt connections at the Uart3-overlay.dts
2nd, What tools do you use like ddb or gdb or JTAG to get a pick
inside the target device Arm64 SOC? I wish to dump the register at
adress 0x7e20 1600 to see how it is setup? Maybe poke a character 0x41
to the TX transmit register and watch it come out on the Serial Terminal
as a Capital A. This would verify that the hardware is working and the
signals are connected correctly.
Ghidra, Does anybody use this with Arm64 machine language? Or do you
have plenty of access using GDB to disassembly code and set breakpoints?
Is there a llvm lldb debugger to use in place of GDB?
Question, Questions. Wish I could be more helpful to this group with
FreeBSD - Arm64 development. IT seems like I am having to difficult of
time just setting up my test and debug equipment.
Those are my thoughts. I shared some reading material about JTAG on the
Raspbery Pi 4 board.. I hope someone does test HDMI Audio sound on a
Raspberry Pi 5 sbc. Looking for someone to get a working FreeBSD /
GhostBSD desktop with HDMI Audio sound working, Uart3 working, Then can
look at porting OpenBSD or NetBSD wifi driver code for the CY43455 WIFI
Chip. Now owned by Infineon??
--
Fred Finster
GhostBSD-Arm64.blogspot.com
t.me/ghostbsd Telegram Channel
GhostBSD.org website