Hallo Uwe,
danke für die Info. Bei PlatformIO kann man den Longan Nano über das
normale Type-C Kabel debuggen. Da hatte ich dieses LCD Demo
draufgespielt. PlatformIO beinhaltet die Nuclei SDK und die Nuclei
Studio IDE ebenfalls. Daher dachte ich das es gehen sollte über Type-C
zu debuggen. Bei dem Eval Board von Giga Device mit ähnlichem
Mikrocontroller der GD32 Serie funktioniert das auch über USB wie in
einem YouTube Video "GigaDevice RISC-V / GD32VF103 Nuclei Studio -
getting started" zu sehen. Hast du vielleicht Vorschläge woran es liegen
könnte?
Ich habe die ID des USB Treibers überprüft und festgestellt, dass der in
der cfg anders ist. Diese habe ich zum testen angepasst und folgende
Fehlermeldung erhalten:
Nuclei OpenOCD, 64-bit Open On-Chip Debugger 0.10.0+dev-00036-gbfc178ffb
(2021-02-01-06:41)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
Info : Using libusb driver
Error: failed to reset FTDI device: LIBUSB_ERROR_PIPE
Error: unable to open ftdi device with vid 28e9, pid 0189, description
'*', serial '*' at bus location '*'
Außerdem habe ich diese GD32 Treiber mit einem Treibertool komplett ein
mal gelöscht, da bei dem Geräte Manager Reste bleiben und es so
ausprobiert. Selbe Meldung wie erster Beitrag.
Theoretisch sollte es über die Nuclei Studio IDE einfach funktionieren.
Kann es eventuell an irgendwelchen Build Settings liegen?
Nuclei benutzt:
- RISC-V GNU Toolchain
- Nuclei OpenOCD
- Windows Build Tools
Diese sind bereits in der neuesten Version implementiert. Kann man aber
ändern, da Eclipse die Basis ist.
Ich würde gerne etwas verlinken auf die Nuclei Webseite bzw. auf das
Handbuch, weil ich nicht verstehe was mit diesen Parametern bzw.
Befehlen gemeint ist und ob ich diese überhaupt brauche und wo ich diese
einzusetzen habe. Wie mache ich das?
Ich habe das Dokument "Windows Nuclei Studio User Guide" auf Chinesisch
mit Google übersetzt und da steht auch nicht viel drin zum Longan Nano.
Kann man da irgendwas wie bei der Platform.ini einstellen, um über DFU
USB zu debuggen oder villeicht anders wo in Eclipse?
openocd_gd32vf103.cfg:
adapter_khz 10000
reset_config srst_only
adapter_nsrst_assert_width 100
interface ftdi
ftdi_vid_pid 0x28E9 0x0189
## If ftdi_device_desc not specified, the device description is ignored
during device selection.
## So if you want to specify a dedicated FTDI device, you can select
following device description:
## "Dual RS232-HS" is for RVSTAR V1 on-board debugger
## "USB <-> JTAG-DEBUGGER" is for RVSTAR V2 on-board debugger
## Uncomment one which match your device description
# ftdi_device_desc "Dual RS232-HS"
# ftdi_device_desc "USB <-> JTAG-DEBUGGER"
ftdi_layout_init 0x0008 0x001b
ftdi_layout_signal nSRST -oe 0x0020 -data 0x0020
# These signals are used for cJTAG escape sequence on initialization
only
ftdi_layout_signal TCK -data 0x0001
ftdi_layout_signal TDI -data 0x0002
ftdi_layout_signal TDO -input 0x0004
ftdi_layout_signal TMS -data 0x0008
ftdi_layout_signal JTAG_SEL -data 0x0100 -oe 0x0100
transport select jtag
set _CHIPNAME riscv
jtag newtap $_CHIPNAME cpu -irlen 5 -expected-id 0x1e200a6d
# Work-area is a space in RAM used for flash programming
if { [info exists WORKAREASIZE] } {
set _WORKAREASIZE $WORKAREASIZE
} else {
set _WORKAREASIZE 0x5000
}
set _TARGETNAME $_CHIPNAME.cpu
target create $_TARGETNAME riscv -chain-position $_TARGETNAME
$_TARGETNAME configure -work-area-phys 0x20000000 -work-area-size
$_WORKAREASIZE -work-area-backup 0
set _FLASHNAME $_CHIPNAME.flash
flash bank $_FLASHNAME gd32vf103 0x08000000 0 0 0 $_TARGETNAME
# Expose Nuclei self-defined CSRS range
# See
https://github.com/riscv/riscv-gnu-toolchain/issues/319#issuecomment-358397306
# Then user can view the csr register value in gdb using: info reg
csr775 for CSR MTVT(0x307)
riscv expose_csrs 770-800,835-850,1984-2032,2064-2070
riscv set_reset_timeout_sec 1
init
halt
Vielen Dank und viele Grüße