Flash Magic Forum

In-System Programming Support => ARM Cortex => Topic started by: kena on July 04, 2013, 08:43:12 AM

Title: Speed of Programming Command Line vs GUI
Post by: kena on July 04, 2013, 08:43:12 AM
Hi,

I am using both the GUI and command line to upload a hex file. To attempt to ensure both operations are the same I use the 'File->Save Command Line Directives' command. The command line is:

FM "COM(3, 57600) DEVICE(LPC1788, 0.0, 0) HARDWARE(BOOTEXEC, 50, 100) ERASE(DEVICE, NOPROTECTISP) HEXFILE(test.hex, NOCHECKSUMS, FILL, NOPROTECTISP)"

Using the GUI the operation takes about 1 minute. Using the command line it takes 6.5 minutes.

Is there any explanation for the difference? Why is the command line version so slow?

Thanks,

KenA
Title: Re: Speed of Programming Command Line vs GUI
Post by: Andy Ayre on July 05, 2013, 01:19:03 AM
The GUI and the command line don't actually perform the ISP operations. Instead they both pass it on to the same DLL, so the same code is running in both cases.

Please double-check that the command line options match the settings in the GUI. If that doesn't help post back.

Andy
Title: Re: Speed of Programming Command Line vs GUI
Post by: kena on July 05, 2013, 05:27:27 AM
The difference was 'FILL' vs 'NOFILL' :-)

Thanks Andy!
Title: Re: Speed of Programming Command Line vs GUI
Post by: Andy Ayre on July 05, 2013, 06:33:54 AM
Hi Kena,

We double-checked this with the current version and wasn't able to reproduce the problem. When "Fill Unused Flash" is unchecked the save directives feature generates "NOFILL". When "Fill Unused Flash" is checked it generates "FILL".

Can you please give us the steps to reproduce the problem? Thanks.

Andy
Title: Re: Speed of Programming Command Line vs GUI
Post by: kena on July 05, 2013, 08:00:17 AM
Hi Andy,

It was my error. The command line I was using was _not_ the same as the one generated by the GUI via "save directives", as you were hinting. "Fill unused flash" was not selected in the GUI but in my command line version I was specifying 'FILL'. So it was

FM COM(3, 57600) DEVICE(LPC1788, 0.000000, 0) HARDWARE(BOOTEXEC, 50, 100) ERASE(DEVICE, PROTECTISP) HEXFILE(test.hex, NOCHECKSUMS, FILL, PROTECTISP)

versus

FM COM(3, 57600) DEVICE(LPC1788, 0.000000, 0) HARDWARE(BOOTEXEC, 50, 100) ERASE(DEVICE, PROTECTISP) HEXFILE(test.hex, NOCHECKSUMS, NOFILL, PROTECTISP)

Sorry for the confusion, and thanks for the help.

KenA