LPC540xx: Run-Time Self-Programming of SPIFI flash

cancel
Showing results for 
Search instead for 
Did you mean: 

LPC540xx: Run-Time Self-Programming of SPIFI flash

Jump to solution
263 Views
Contributor III

We need to self-update external SPIFI flash where our code originally runs from (XIP). In order to do this , the SPIFI flash programming code must execute from RAM.

 

One way I was planning on addressing this is by:

 

a)create a specific project for the programming code (running from RAM); this project would have linker directives to exclusively target RAM for code and RW/RO datas.

 

b)inject the output (KEIL 's ".out") in the original code that runs from external flash

 

c)the original code would: copy the (RAM only) programming code at run-time from flash to RAM, relocate the vector table and jump to it.

  

I am struggling with (b)/(c) as I don't know the file format for the executable (.out). Do you have any suggestion or a better way to achieve this?

Labels (3)
0 Kudos
1 Solution
6 Views
NXP Employee
NXP Employee

Hi,

When you download the SDK for the LPC, please make sure you selected Keil as the Toolchain/IDE and also select the mcuboot option when adding more software components.

pastedImage_1.png

Best Regards,

Ricardo Delsordo

View solution in original post

0 Kudos
3 Replies
6 Views
NXP Employee
NXP Employee

Hi,

I recommend you try mcuboot instead, which is a configurable flash programming utility that is included in the latest version of the SDK for the LPC54018.

Best Regards,

Ricardo Delsordo

0 Kudos
6 Views
Contributor III

I downloaded SDK 2.5.0 (Keil IDE) for 54018 and I can not find mcuboot in any folders . What am I missing?

0 Kudos
7 Views
NXP Employee
NXP Employee

Hi,

When you download the SDK for the LPC, please make sure you selected Keil as the Toolchain/IDE and also select the mcuboot option when adding more software components.

pastedImage_1.png

Best Regards,

Ricardo Delsordo

View solution in original post

0 Kudos