MAIX GO OnBoard JTAG unavailable


#1

Anywhere in the board description one can read:
It have on board JTAG&UART based on STM32F103C8, so you can debug M1 without extra Jlink.

I also discovered that due to the STM32 connections all JTAG signals on the board are blocked by STM32 controller, so using Jlink is umpossible.
I also could not find any mention how to use STM32 as onboard JTAG. And I see no suitable devices in the Device Manager.

The question is:
What have to be done for using onboard JTAG?


#2

hi, please confirm your stm32 firmware version.
There have two version: DAP version and open-ec version
DAP version is slow but have both USB2TTL and JTAG functions.
open-ec version is fast, but JTAG function is WIP.


#3

At the moment it flashed with open-ec. I found that after installed zadig driver it became USB debugger, but Kendryte IDE did not recognize it.
OK, if I’ll return to DAP FW, what else have I do?


#4

search for “cmsis dap”, and you will get the result.
And I’m not sure IDE works? IDE is buggy at the moment.
I just work with gdb.


#5

Funny. You mean that:
https://bbs.sipeed.com/search?q=cmsis%20dap


#6

go openocd cfg.zip (33.0 KB)
here is the package of stm32 firmware and openocd cfg.
use openocd_cmsis_dap.cfg when you burn maix_go_cmsisdap_new.hex.
use openocd_ftdi.cfg when you use FT2232 or something.
use openocd_jlink.cfg when you use JLINK.

openocd and gdb usage please google it.


#7

Thanks a lot.
It seems I made it work with open-ec FW. Here is ocd output:

Kendryte Open On-Chip Debugger For RISC-V v0.2.3 (2019-02-21)

Licensed under GNU GPL v2
adapter speed: 500 kHz
Info : auto-selecting first available session transport “jtag”. To override use 'transport select '.
Info : clock speed 500 kHz
Info : TAP riscv.cpu does not have valid IDCODE (idcode=0xfa82fa)
Info : JTAG tap: auto0.tap tap/device found: 0x007d417d (mfg: 0x0be (Seiko Epson), part: 0x07d4, ver: 0x0)
Info : JTAG tap: auto1.tap tap/device found: 0x007d007d (mfg: 0x03e (Oracle Corporation), part: 0x07d0, ver: 0x0)
Info : JTAG tap: auto2.tap tap/device found: 0x3cb5807d (mfg: 0x03e (Oracle Corporation), part: 0xcb58, ver: 0x3)
Info : TAP auto3.tap does not have valid IDCODE (idcode=0xffff8272)
Info : JTAG tap: auto4.tap tap/device found: 0xffffc139 (mfg: 0x09c (Eon Silicon Devices), part: 0xfffc, ver: 0xf)
Warn : AUTO auto0.tap - use “jtag newtap auto0 tap -irlen 2 -expected-id 0x007d417d”
Error: auto0.tap: IR capture error; saw 0x0003 not 0x0001
Warn : Bypassing JTAG setup events due to errors
Error: dtmcontrol is 0. Check JTAG connectivity/board power.
Info : Listening on port 3333 for gdb connections
Error: Target not examined yet

Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet connections

I do not want to use DAP due to remaining issue with DTR signal.


#8

I tried with DAP, but with no success:

adapter speed: 1000 kHz
Error: unable to find CMSIS-DAP device

I do see CMSIS-DAP in device manager.


#9

open ec firmware can only detect chip yet.
DAP is slow, maybe 100KHz


#10

100 kHz - no result