Gotcha. That makes sense. Interestingly, reading from one of these locations in a bare metal environment causes a data abort on the ARM CPU.its less that 1e maps to the rp1Address 0x1F_0000_0000 maps to peripheral address space 0x4000_0000 - 0x4040_0000 on RP1. Not all registers appear to be accessible.
and more that 1f_0000_0000 maps to 0x4000_0000
the 1f addr only works for the peripherals, and the addresses below it (1ec) wont map to what your thinking
So, for example, I have UART0 at 0x1F00030000. The Control register lives at offset 0x30 according to the PLO11 documentation, and is 16 bits wide.
As such, I generate the address 0x1F00030030 and perform a volatile read of two bytes from that location. As soon as the read is executed, OpenOCD returns "Error: abort occurred - dscr = 0x03047e93" and the CPU halts. I believe a data abort is indicated by that output.
This would suggest to me that the memory address is not valid in a bare metal environment...Does something need to be configured to create that mapping?
Statistics: Posted by tfinnegan937 — Tue Apr 02, 2024 1:41 am