- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm using Quartus 23.4 (I can't upgrade to a later version) and wanted to run GDB.
I followed the NIOS V processor example and was able to get the Ashling GDB Server and GDB running.
I'm running gdb-server as:
ash-riscv-gdb-server --device 0343B0DD --auto-detect true --probe-type usb-blaster-2 --core-number 0 --jtag-frequency auto-adjust --gdb-port 54321
I'm running gdb as:
/opt/intelFPGA_pro/23.4/riscfree/toolchain/riscv32-unknown-elf/bin/riscv32-unknown-elf-gdb /path/to/exec.elf
Running
(gdb) target remote:54321
I see the GDB server respond with
Got a debugger connection from 127.0.0.1 on port 54321.
If then run
(gdb) continue
I can connect via a JTAG UART interface and communicate to my device.
If I hit Ctrl-C in gdb, I can no longer communicate with the device. But if I run:
(gdb) continue
I can then communicate with the device again via JTAG UART.
However, I want to set a breakpoint which requires loading the exec.elf in gdb.
If I run
(gdb) load
The program successfully loads and I can set a breakpoint.
However, if I run:
(gdb) continue
I can no longer communicate with the device over a JTAG UART connection.
If I only run `(gdb) load` and don't set any breakpoints, I still cannot communicate over JTAG UART.
The JTAG UART communication only fails after running (gdb) load.
Please let me know if you need any other information to help fix the issue. Thanks for the help!
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi
Is there an error message when you lose the communication after the "load" command?
If you are using the GUI are you having any issue when debugging the application?
Regards
Jingyang, Teh
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
There is no error message on either the gdb client or server. The GDB server is still running but the JTAG UART connection is no longer working. I am not using the GUI but am instead using ash-riscv-gdb-server and riscv32-unknown-elf-gdb as described above.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
For more information, the JTAG UART connection I'm using is based off of the alterajtaguart tool from https://github.com/thotypous/alterajtaguart/
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hey
Could you try using the JUART connection that is added from the IP Catalog instead? It is free to use from in the Platform Designer.
Regards
Jingyang, Teh
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi
Do you have an update on this case?
Have you tried adding the JUART IP from the IP Catalogue instead of the one in GitHub?
Regards
Jingyang, Teh
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I am using the JUART IP from the IP Catalog in Project Designer. The GitHub link I provided: https://github.com/thotypous/alterajtaguart/ is just a way to talk to that JTAG UART connection from the host computer.
Do you know if it's possible to have multiple JTAG UART interfaces on the same FPGA?
Is it possible this is required if I want to have both the gdb and the JTAG UART console open at the same time?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi
Apologize for the late reply, as I was OOO.
While using the JTAG UART, you could not access the console from the JTAG.
Because it is only one JTAG connection, either it is used to output a console or being used as debug.
Adding additional JTAG UART would not help this situation.
Regards
Jingyang, Teh
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
No worries about the OOO.
Are there other available channels (other than JTAG) which a console interface could connect to?
Is there a recommended way to have a console connection and GDB (over JTAG) running at the same time?
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page