Intel Hex File

Started by FMUser, June 18, 2010, 08:56:32 AM

Previous topic - Next topic

FMUser

Question:

Does Flash Magic (and the .dll) follow the Intel hex file line by line or does it search for the lowest address to start its load (I want to modify the Intex hex file to burn sector 0 last by locating sector 0 hex file lines last)?

Andy Ayre

It loads the entire hex file into memory then regenerates the hex records before sending them to the device, so they are always ordered.

However the good news is that for ARM-based devices sector 0 is always programmed last anyway, because that is where the 0x14 checksum is located.

Andy
Embedded Systems Academy, Inc.
support at esacademy dot com

FMUser

Andy,

This is not the behavior I am seeing. Using the file flashmagicarm.dll all sectors were first erased. Then programming started at offset 0!

After 1 kB of data flashed, I power cycled the board. The 2103 was DEAD (see attached file -Coorruption.hex) The original hex file is contiguous from 0x0000 - 0x65C0 (end of hex file posted below).

:1065A0001A30041A59041A48041A74041AB6AC1A98
:1065B000C9041ADC041A87101A900423BC561A67FF
:0865C000081A7B0429CCC1007C
:00000001FF

I had to jumper P0.14 to get into ISP bootloader to pull this memory from the chip.

Thanks.

Andy Ayre

#3
Yeah, well, it might have been helpful if you told us the version you were using... And whether it is the GUI, command line version, or you are writing a custom application...

Andy
Embedded Systems Academy, Inc.
support at esacademy dot com

FMUser

Sorry,

Custom application.

.dll attached

FMUser

#5
Andy,

I requested the parameters and actual call from the person coding the app:

The command is fm_program.   Imported into .NET it is:


Andy Ayre

There are three ways of finding the version number. You can:

  - call fm_version in the DLL
  - restart the installer - it has the version number on the first page.
  - start the GUI version of Flash Magic that came with the DLL you are using then go to Help -> About

Reverse programming of flash was added to Flash Magic 4.17 and flashmagicarm.dll version 1.44, released January 2008.

If you have a version of the DLL newer than this then please generate and send us a debug file. You will need to call the fm_select_debug_mode function. However it's probably easier to do this from the GUI version of Flash Magic as it uses the same DLL. Instructions are here:

  http://www.flashmagictool.com/debugfile.html

Andy
Embedded Systems Academy, Inc.
support at esacademy dot com

FMUser

Andy,

Sorry it took so long, but Im only the middleman.

Response to your query:

flashmagicarm.dll:  1.41.267

Clearly this need to be upgraded and then retried.

Thanks.

Andy Ayre

Go to http://www.esacademy.com/en/products/download-request and enter your activation code to get the current version.

Andy
Embedded Systems Academy, Inc.
support at esacademy dot com