Alexis,
I am actually programming CPU RAM (starting at 0x40007000) with the code
and using IAP commands to program from RAM to Flash (command 51). We
have a firmware upgrade application that has worked for years. The way
it is done is to read a 1K block from a SD card, write it to RAM, then
upload from RAM to Flash. Continue with 1K blocks until the code is
written.
The issue I had is that after the code is in Flash, I noticed on a new
batch of chips that after programming the flash, the verify of whether
the SD card matches the code flash fails on occasion. But, then it
works for a while. Then, it doesn't. No code memory changes. Just
compares with the SD card. When it failed, I printed out the memory
location and bytes on the SD card and CPU Flash. The locations are
somewhat random.
I found when just reading the code memory, the locations don't always
read correctly. Most of the time they do.
I've changed the chips to a different batch and never had the issue
anymore. So, I think it is a bad batch.
Sutton
Sutton Mehaffey
Lookout Portable Security
4105 Royal Dr. #100
Kennesaw, GA 30144
770-514-7999
770-514-1285 (FAX)
www.lookoutportablesecurity.com
sutton@lookoutportablesecurity.com