I have an updated board that uses the ADuC7021 microcontroller. We have used this before and I can get the JTAG programming to work on the old one. I am using the MultiInterrupt project from the code examples for the ADuC7026, with the appropriate header and ports changed.
On the new board, I am able to debug using IAR through the mIDAS once, and subsequent attempts give me one of three errors
1) JTAG chain not found
2) Memory access timed out @ 00010000 (sometimes 00040000) -> JTAG speed too high? Failed to read when restoring memory after ADI software reset.
3) Unable to halt ARM core
I soldered in a reset switch in order to use the serial downloader. Though it is not fullproof (it will give "waiting for correct ID string" most of the time), I am able to erase the memory with it. After that I can program the microcontroller once about 20% of the time, but will always get the above errors after that first debugging attempt. Any attempts to download programming with the ARMWSD have given the error "Erase failure. Process aborted."
I have tried 30kHz, 100kHz, and 200kHz JTAG speed, and have a 1 second delay in my code as the first line into main. All the frequencies behave the same. Any suggestions on what to do?
I've attached the RDI communications in case that gives any clues.