Currently, only JLINK is supported with OpenOCD using additional JTAG connection.
The main reasons are:
1. DAPLINK cannot be used to debug non-arm core according to the license of CMSIS-DAP.
2. JTAG support isn’t included in the latest official cmsis-dap implementation.
A low-cost debugger that is compatible with the VEGAboard is the SEGGER J-Link EDU Mini.
Hope this clears up any confusion!
My board is on the go, but I don’t have yet bought the J-Link JTAG adapter.
According to Segger website there is several other models: https://www.segger.com/products/debug-probes/j-link/models/model-overview/
Could you please confirm all of them are compatible, or should we care on some specific model (and not only the cheapest one)?
They are all compatible but going beyond the EDU mini doesn’t really make sense for this board. The more expensive ones download code faster, which is useful if you are flashing large code multiple times a day. The other ones have a higher interface and bandwidth speeds which again probably wouldn’t be useful. I’ve tried out 3 different JTAG programmers (jlink, FTDI and Altera blaster) and they see the vega board no problem.
Main reason is that DAPLINK cannot be used to debug non-arm core according to the license of CMSIS-DAP. And the JTAG support isn’t included in the latest official cmsis-dap implementation.
If someone has a standalone debugger running daplink firmare with JTAG support, he can use it to debug RISC-V core just for try and test by changing the interface from jlink to cmsis-dap in the .cfg file under boards/rv32m1_vega folder.
I have managed to establish connection with the board via cmsis-dap interface but cant flash program any code as halt command fails every time. As mentioned above cmsis-dap works with arm cores, I should be able to program on M0 and M4 cores of the board, right?
Do you have the RV32M1 target in build for the cmsis-dap? That may be why it can’t halt the CPU
Yes I have. This is my target in openocd config file:
set _TARGETNAME $_CHIPNAME.cpu
target create $_TARGETNAME rv32m1 -endian little -chain-position $_TARGETNAME
Sorry target config mentioned above gives this error:
openocd: src/jtag/core.c:343: jtag_checks: Assertion `jtag_trst == 0′ failed.
But this works:
target create $_TARGETNAME cortex_m -dap $_CHIPNAME.dap -ap-num 0
You must be logged in to reply to this topic. Login here