Hi,
Currently i'm using LPC54S018 flashless MCU for writing a custom bootloader which shall be residing
inside the external SPI/QSPI flash memory and bootloader then will be used to upgrade the application
which also be residing in external flash memory.
I'm new to LPC series controller that's why unable to map the external flash and Ram memory mapping with Linker file.
can somebody help me and also why SDK is not covering this part.
Only RAM flashloader is available. how can i use RAM flashloader for above problem.
i means (custom bootloader + Application binary) both i want inside external flash memory.
Thanks in advance!
Regards,
Ritesh
Hi,
seems we experience the same problem (my own thread is at https://community.nxp.com/t5/LPC-Microcontrollers/lpc54s018-lpc5418-jump-from-custom-boot-to-firmwar...)
I still don't have any solution to our common problem.
But I hope someone could give us some good links.
Regards
Hi Alice,
can i flash two different binaies at two different-2 location in external flash of LPC54S018 for testing whether it
is working correctly or not.
because i could se every time i'm programming the binary from any location using segger jlink swd debugger or even from GUI tool
inside the MCUXpresso ide, it flashes the binary always at 0x10000000 only but i want to flash at some other location
how can i do that??
any help would be appreciated!
1) "can i flash two different binaies at two different-2 location in external flash of LPC54S018"
->> YES.
2) "inside the MCUXpresso ide, it flashes the binary always at 0x10000000 only but i want to flash at some other location
how can i do that??"
->> Change from memory setting as below, detail you can refer to <mcuxpresso IDE user guide>.
3) About secondary bootloader code, you can refer to flashloader project under SDK.
BR
Alice
Alice,
my controller is flashless..(doen't have internal flash)
i'm able to change load addresses in MCU setting in MCUXpresso ide and it is reflecting in linker file as well as in .map also.
but when load the program into device through jlink swd debugger either via inbuilt ide debug method or via Flash GUI tool in MCUXpresso ide
it shows programming Bank 0 @0x10000000 always...becuase it takes all the external SPIFI flash 128Mb as one bank only...
also it show it is erasing 128KB(2 sectors) but loaded program doesn't execute..
Even external flash has all the method to erase sector, block and chip through different command.
is it MCUXpresso ide limitation or device's bootrom bootloader is playing something.???
i'm stucked..
why this is not able to execute at two different memory location even a blinky program.
Hello,
As i understand, in your project, the application image is programed by your secondary bootloader,
so you can use IDE download secondary bootloader from 0x10000000, then use it download application iamge.
If you want to just program image, you can try to use blhost I mentioned before, while it can not run, because it not start from 0x10000000.
BR
Alice
thanks Alice for quick response!
but i want to develop secondary bootloader which will reside in external flash(SPIFI) and loads the application binary inside the same flash at
some other location and both should be executed in sequence!
after reset-> Bootrom bootloader-> secondary bootloader(@0x00000000) -> application binary(0x10100000)
just wanna understand both XIP and plain load image concept working.
how to program both binary at two different location using Jlink segger on board SWD
because whenever i program any binary vector table is placed at 0x000000
and i'm unable to jump to application @0x10100000
do i need to copy app.bin using spifi flash driver at some other location inside bootloader code before jump_to_application call??
just wanted to test two hello world program: one as bootloader
and another as Application inside the flash
and want both code to be executed??
can you provide code snippet for both including linker file?
just wanna understand how and where msp, pc is being set for both code.
thanks in advance!
Regards,
Ritesh
personal email: riteshsingh.ece@gmail.com
Hello ritesh_singh,
You can use RAM flashloder program custom bootloader to external flash first, then use the customer bootloader update your application image.
There is a thread about how to use flashloader:
BR
Alice