Recent Posts

Pages: 1 [2] 3 4 ... 10
You don't program the hex file into flash - it is downloaded to RAM automatically.

It looks from the debug file that you are choosing the LPC1833 rather than your external flash bootloader. In section 1:

Click on Change
Expand External Memory (third item)
Expand UART
Choose your custom bootloader

If you don't see your bootloader then copy it into the Bootloaders\External Memory folder.
Correcting the IRAM in descriptor and target, I recompiled and flash the. hex. Still, it shows the operation failed.

I am attaching the debug file, could you please take a look into that and let me know if there is anything related to configuration.

The ram start address in the descriptor doesn't match the start address you are actually using. Andy
By doing so, still I am getting "operation failed" bootloader in RAM is not executing.

I have attached the debug file of flash magic, please find the attachment, and help me with the issue.

Thank you so much to guide me.

I have changed the ram address in the descriptor mentioned below.

In descriptor-

0x10050000,                                  // ram start address (for bootloader storage)
  0x100FFFFF,                                  // ram end address (for bootloader storage)
  0x400,//0x10000,                                     // programmable sector size in bytes
  0xFF,                                        // programmable memory erased value
  256,                                         // number of bytes to program at once

In the target, I have set

IROM1- Start Address-0x10000500 and size:0x6000
IRAM1- Start Address-0x10050000 and size:0x10000

After setting the configuration, I compiled the code and created the .map and .hex file. Below is the memory layout in the .map file

Load Region LR_IROM1 (Base: 0x10000500, Size: 0x0000565c, Max: 0x00006000, ABSOLUTE)

    Execution Region ER_IROM1 (Exec base: 0x10000500, Load base: 0x10000500, Size: 0x000055dc, Max: 0x00006000, ABSOLUTE)

Execution Region RW_IRAM1 (Exec base: 0x10050000, Load base: 0x10005adc, Size: 0x00000e50, Max: 0x00010000, ABSOLUTE)

In your bootloader's descriptor you need to specify how the bootloader gets into the LPC1833, for example:


tells Flash Magic to automatically download the bootloader using SWD via an NXP Link2.

For the LPC1833 the bootloader should be downloaded into RAM not Flash. If you look at the .map file of the included example the code starts at address 0x10000500. This address also appears in the descriptor so that Flash Magic knows where to put it.


We have two option to update a image in flash ROM
1..bin using jtag
2. .hex file using flash magic.
So, first we flash .bin in flash ROM and then with a little bit change we created a .hex file and tried to update our customized  bootloader into the flash ROM.
So, basically  before programming  bootloader erase the flash and then program the new image.
After flashing by selecting  this bootloader,  we got the operation failed and when found no content  in the flash. It seems that bootloader  erase the flash but not programed.
What do you mean the "new image is not updated"? That Flash Magic is not sending the bootloader? How are you verifying that?

I am using UART0 for downloading the bootloader. I checked this after modifying the example code (Flash Magic\Bootloaders\External Memory\LPCxpresso18S37), but still, I am getting the same error (Operation failed, bootloader in RAM is not executing(2)). After this error, I observed that the existing image has been erased but the new image is not updated.

It would be very helpful if you can provide any documentation of the steps to be followed to develop the customized bootloader code.
You will need to change all of the parts related to SPIFI to match your external flash device. Andy
Pages: 1 [2] 3 4 ... 10