AnsweredAssumed Answered

ADuC7020: Can't write to 0x00080000 Flash/EE

Question asked by Tangle on May 25, 2011
Latest reply on May 28, 2011 by Tangle



Another problem with serial downloading.


I've written a serial downloader, using this software I can connect to an ADuC7020 and erase it's memory space.  However when I send 'write' packets in the format outlined by AN-724, I get a negative acknowledge (BEL) returned.  The AN says this is due to an incorrect checksum or an invalid address.  I've checked, checked and checked again the checksums and they seem to be fine, suggesting that the address is invalid.


Using the GNUARM compiler the first line in the ihex file is an 02 record, which sets an address offset of 0x00080000, effectively loading the program into the Flash/EE space.  This all makes sense because the ADuC702x data sheet says this is where the program should go, and that it then gets mirrored to 0x00000000 on a device reset.


If I delete the 02 record on the first line of the hex file (i.e. program into 0x00000000) the program loads and then runs.  However, I do not think that I should be loading the program at 0x00000000.


The hex file load and runs using other serial download software tools regardless of whether the initial line directs it to program at 0x00080000 or 0x00000000.


Has anyone had a similar experience?  Is there something I am missing about the address space?  Does the ADuC automatically offset the memory space during serial download?


Thanks for you help