I’m trying to find out what uC programmers are available to program the 7020 out of circuit using some kind of PROM burner or in-circuit using JTAG lines. Do you have any recommendations?
On the ADuC702x family, there are two options to program devices:
- Serial download, either UART or I2C, depending on the model.
There is no parallel programming option on the ADuC702x family.
BP Microsystems (http://www.bpmicro.com/) supports most of the devices of the ADuC702x family for JTAG programming. The ADuC7020 is supported.
The J-FLASH Utility from Segger also supports the ADuC702x family of devices, which may prove useful.
The ADuC702x parts contain simple I2C and UART based boot-loaders as mentioned previously.
Documentation on the boot-loader protocols used in these bootloaders is available on the Analog Devices website. Integrators can use this documentation to add support for these protocols to their products.
Search for the application notes AN-806 and AN-724 on the Analog Devices website for information on these protocols.
I think I have managed to overwrite the 0x80014 address (clearly by trying to program using my own designed PC downloader) and now I get no responce from the chip 7020 i2c version. Is the chip still recoverable by using the a Jtag programmer? I have button on the BM line to pull it low and a button to reset. but this sequence does not work??
The chip should be recoverable using JTAG programmer. The sequence you are describing with BM and reset button is only necessary for I2C download, not for JTAG download.
Just connect JTAG, and use the mass erase function, so that address 0x80014 will be erased.
OK I used the GDB debugger and My amontec JTAG KEY in Eclipse also using OpenOCD. I Managed to get to the Memory inspector and change the memory locations as in AN-840 and managed a mass errase.
I have now recovered and want to download via I2C.
Can I Download a Bin file (that is generated) instead of a Hex file?
Do I start flashing a 0x00000000 or some other address?
You cannot download a BIN file using the I2CWSD, it does not support the format.
There are a number of tools which will allow you to convert between various file formats and maybe apply offsets.
I think you can download even to 0x0, but I cannot confirm this. The I2CWSD tool may apply the offset automatically.
I am using CodeSourcery as my compiler and it generates a bin file as well as a Hex file. I can't use the I2CWSD tool anyway because I don't have a USB to I2C dongle(only a PicKit I2C development dongle which I use the DLL in C# for My programming tool ), So since yesterday I managed to recover my micro write a download program which verifies erases and downloads to the flash. The board is working with the Code with the binary file I downloaded to 0x80 and it seems to work because I can communicate via I2C as I programed it to do.
I Only thing don't Understand is: I can Erase Pages starting at 0x00008000 but not starting at 0x00000000
but I can Write to Flash and Verify It from 0x00000000 but not from 0x00008000
This is odd, can you provide more details or can you resolve it yourself?
Retrieving data ...