I have a MAX32670 on a custom board that I program with SWD using a DAP board that comes with most MAX326xx eval boards. We disconnect the DAP board from the eval board and solder the wires to a cable that connects to our board.
This has worked fine for a long time for us, but recently two of our MAX32670s have stopped programming this way. I can't see any good reason why this would happen. The CPU still boots up and runs the last firmware we downloaded to it just fine, and nothing unusual happened between the time they last programmed successfully and when they stopped, or at least nothing that I can identify.
We use the eclipse MaximSDK with a GDB OpenOCD debug configuration using these arguments in the debugger tab:
-s ${TOOLCHAIN_PATH}/OpenOCD/scripts -f interface/cmsis-dap.cfg -f target/max32670.cfg
We have also disabled the options "Enable Arm semihosting" and "Pre-run/Restart reset" in the Startup tab.
I see these messages when I try to run the debugger:
Open On-Chip Debugger 0.11.0+dev-g56a818e4c (2023-06-28-22:13)
Licensed under GNU GPL v2
For bug reports, read
DEPRECATED! use 'adapter driver' not 'interface'
DEPRECATED! use 'adapter srst delay' not 'adapter_nsrst_delay'
DEPRECATED! use 'adapter srst pulse_width' not 'adapter_nsrst_assert_width'
Started by GNU MCU Eclipse
Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet connections
Info : CMSIS-DAP: SWD supported
Info : CMSIS-DAP: FW Version = 1.0
Info : CMSIS-DAP: Interface Initialised (SWD)
Info : SWCLK/TCK = 1 SWDIO/TMS = 1 TDI = 0 TDO = 0 nTRST = 0 nRESET = 1
Info : CMSIS-DAP: Interface ready
Info : clock speed 2000 kHz
Error: Error connecting DP: cannot read IDR
All the messages except "Error connecting DP: cannot read IDR" are what I see normally.
I feel as though the chip has been locked and can no longer be programmed, but I don't see how that could have happened. Does anyone have any ideas?
Thanks
tagged
[edited by: GenevaCooper at 1:38 AM (GMT -5) on 31 Jan 2024]