Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"Failed to read memory" on GD32VW553K-START #15

Open
maxgerhardt opened this issue Dec 14, 2024 · 0 comments
Open

"Failed to read memory" on GD32VW553K-START #15

maxgerhardt opened this issue Dec 14, 2024 · 0 comments

Comments

@maxgerhardt
Copy link

maxgerhardt commented Dec 14, 2024

Using latest released "Nuclei OpenOCD" and "Nuclei RISC-V Embedded Toolchain" from https://nucleisys.com/download.php#tools, I can connect to the GD32VW553K chip using this config file, and I can connect to the GDB server opened by it with riscv64-unknown-elf-gdb, but trying to read peripheral memory always fails.

C:\Users\Max\Downloads\nuclei-openocd-2024.06-win32-x32\Nuclei\OpenOCD\2024.06>bin\openocd.exe -f C:\Users\Max\Downloads\openocd_gd32vw55x.cfg
Open On-Chip Debugger 0.11.0+dev-02400-g1dac85c02 (2024-06-26-03:40)
Licensed under GNU GPL v2
For bug reports, read
        http://openocd.org/doc/doxygen/bugs.html
Info : Using CMSIS-DAPv2 interface with VID:PID=0x28e9:0x0797, serial=9A678C590435
Info : CMSIS-DAP: SWD supported
Info : CMSIS-DAP: JTAG supported
Info : CMSIS-DAP: SWO-UART supported
Info : CMSIS-DAP: Atomic commands supported
Info : CMSIS-DAP: Test domain timer supported
Info : CMSIS-DAP: FW Version = 0255
Info : CMSIS-DAP: Interface Initialised (JTAG)
Info : SWCLK/TCK = 1 SWDIO/TMS = 1 TDI = 1 TDO = 0 nTRST = 0 nRESET = 1
Info : CMSIS-DAP: Interface ready
Info : clock speed 1000 kHz
Info : cmsis-dap JTAG TLR_RESET
Info : cmsis-dap JTAG TLR_RESET
Info : JTAG tap: riscv.cpu tap/device found: 0x10307a6d (mfg: 0x536 (Nuclei System Technology Co Ltd), part: 0x0307, ver: 0x1)
Info : JTAG tap: auto0.tap tap/device found: 0x790007a3 (mfg: 0x3d1 (GigaDevice Semiconductor (Beijing) Inc), part: 0x9000, ver: 0x7)
Warn : AUTO auto0.tap - use "jtag newtap auto0 tap -irlen 5 -expected-id 0x790007a3"
Info : [riscv.cpu] datacount=4 progbufsize=2
Info : coreid=0, nuclei debug map reg 00: 0x0, 16: 0x0, 32: 0x0
Info : Examined RISC-V core; found 1 harts
Info :  hart 0: XLEN=32, misa=0x4010912f
[riscv.cpu] Target successfully examined.
Info : starting gdb server for riscv.cpu on 3333
Info : Listening on port 3333 for gdb connections
Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet connections

For example, for the RCU peripheral (reset and clock unit):

x/4x 0x40021000
0x40021000:	0x00000000	0x00000000	0x00000000	0x00000000

All zeroes. At the same time, OpenOCD says

Error: Target riscv.cpu: Failed to read memory (addr=0x40021000)
Error:   progbuf=failed, sysbus=failed, abstract=failed
Error: Target riscv.cpu: Failed to read memory (addr=0x40021004)
Error:   progbuf=failed, sysbus=failed, abstract=failed
Error: Target riscv.cpu: Failed to read memory (addr=0x40021008)
Error:   progbuf=failed, sysbus=failed, abstract=failed
Error: Target riscv.cpu: Failed to read memory (addr=0x4002100c)
Error:   progbuf=failed, sysbus=failed, abstract=failed

Other RAM addresses read just fine.

x/10x &SystemCoreClock
0x20000004 <SystemCoreClock>:	0x09896800	0x00000064	0x20000048	0x00000000
0x20000014 <SystemExceptionHandlers>:	0x080003b2	0x080003b2	0x080003b2	0x080003b2
0x20000024 <SystemExceptionHandlers+16>:	0x080003b2	0x080003b2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant