Use of command line fm.exe results in "failed to send data to device"

Started by georged, December 21, 2021, 08:28:20 AM

Previous topic - Next topic

georged

Let me start by noting that if I use the GUI, I have absolutely no issues with the hardware setup I am using.  I have been actively using this setup for several months to update early prototype hardware.  Using V13.45.

Because I have the desire to preserve 1 page of flash on an LPC5516, I cannot use the GUI to update without several separate manual steps.  The GUI allows me to chose to erase device or sectors used by program being flashed.  My issue is that I want to preserve the last page in a sector.  Yes, I can do this with extra manual steps, but I was hoping to automate to speed the process & make it less error prone.  Thus I opted to try the command line with a command file.

The commands I initiate first erase sectors 0-5 and then pages 384-446.  No issue.

I then initiate the programming step with fm --device="LPC5516" -b57600 --serialport=COM4 --crystalfreq=12 --t1=50 --t2=120 --commandfile="D:\LEDSwitchApp\projects\LEDSwitchApp\LPC551\programAppImage.cmd"

command file is:
--program=D:\LEDSwitchApp\projects\LEDSwitchApp\LPC551\bin\LEDSwitchApp_bootAndApp.hex

The programming starts & consistently fails as follows:
FlashMagic
13.45 build 6257
(c) Embedded Systems Academy, Inc. 2001-2021, All Rights Reserved
ARM7 UART Driver 5.06.5754
Cortex UART Driver 8.71.6249
Cortex Packet UART Driver 2.35.6257
External Memory Driver 2.20.6249
CAN Driver 3.36.6088
ARM7 Ethernet Driver 2.25.5754
Cortex Ethernet Driver 3.05.5754
USB Driver 3.02

Use -h to get some help

STATUS: Connecting to LPC5516 on COM4 at 57600...
TASK: Programming 'D:\LEDSwitchApp\projects\LEDSwitchApp\LPC551\bin\LEDSwitchApp_bootAndApp.hex'...
  STATUS: Programming 0x00037C00...
  STATUS: Programming 0x00037A00...
  STATUS: Programming 0x00037800...
  STATUS: Programming 0x00037600...
  STATUS: Programming 0x00037400...
  STATUS: Programming 0x00037200...
  STATUS: Programming 0x00037000...
  STATUS: Programming 0x00036E00...
  STATUS: Programming 0x00036C00...
  STATUS: Programming 0x00036A00...
  STATUS: Programming 0x00036800...
  STATUS: Programming 0x00036600...
  STATUS: Programming 0x00036400...
  STATUS: Programming 0x00036200...
  STATUS: Programming 0x00036000...
  STATUS: Programming 0x00035E00...
  STATUS: Programming 0x00035C00...
  STATUS: Programming 0x00035A00...
  STATUS: Programming 0x00035800...
  STATUS: Programming 0x00035600...
  STATUS: Programming 0x00035400...
  STATUS: Programming 0x00035200...
  STATUS: Programming 0x00035000...
  STATUS: Programming 0x00034E00...
  STATUS: Programming 0x00034C00...
  STATUS: Programming 0x00034A00...
  STATUS: Programming 0x00034800...
  STATUS: Programming 0x00034600...
  STATUS: Programming 0x00034400...
  STATUS: Programming 0x00034200...
  STATUS: Programming 0x00034000...
  STATUS: Programming 0x00033E00...
  STATUS: Programming 0x00033C00...
  STATUS: Programming 0x00033A00...
  STATUS: Programming 0x00033800...
  STATUS: Programming 0x00033600...
  STATUS: Programming 0x00033400...
  STATUS: Programming 0x00033200...
  STATUS: Programming 0x00033000...
  STATUS: Programming 0x00032E00...
  STATUS: Programming 0x00032C00...
  STATUS: Programming 0x00032A00...
  STATUS: Programming 0x00032800...
  STATUS: Programming 0x00032600...
  STATUS: Programming 0x00032400...
  STATUS: Programming 0x00032200...
  STATUS: Programming 0x00032000...
ERROR: Executing '--program="D:\LEDSwitchApp\projects\LEDSwitchApp\LPC551\bin\LEDSwitchApp_bootAndApp.hex"'
ERROR: Operation Failed. (programming - failed to send data to the device)

It seems that if I perform a full erase followed by programming, no error results.

Ideas?