LPC1225 Bootloader

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

LPC1225 Bootloader

1,244 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by abthegreat on Wed Aug 12 23:19:07 MST 2015
I need to develop a boot loader to enable OTA firmware updates. My understanding of LPCXpresso is basic and would appreciate any example that i can use for learning.

The bootloader will need to look if the update is present and change the location of the main program to the location of the new firmware binary.

All help is appreciated,

Thanks in advance
Labels (1)
0 Kudos
9 Replies

981 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by rama krishna deekshitulu on Fri Feb 26 00:10:53 MST 2016
Thank you LPCXpresso Support
The issue is solved and is perfectly working.
0 Kudos

981 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by rama krishna deekshitulu on Tue Feb 23 04:24:55 MST 2016
still same problem
0 Kudos

981 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by lpcxpresso-support on Fri Feb 19 06:33:38 MST 2016
The Cortex-M0 cpu (as used in LPC12xx) does not support a VTOR register to allow flexible remapping of the location of the vector table.

The nearest you can probably do is to use the LPC12xx's SYSMEMREMAP register to move the vector table from flash (i.e. your bootloader) and into RAM - where your own application will need to copy its vector table. You'll need to do this before your application reenables interrupts - otherwise you will just continue to use the vector table set up by your bootloader.

Regards,
LPCXpresso Support
0 Kudos

981 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by rama krishna deekshitulu on Fri Feb 19 05:31:28 MST 2016
I would like to clarify my current situation, As previously attached my code is split into two parts. The boot loader flashes an OTA upgrade using IAP and then jumps to the newly flashed code. My issue starts at this point where jumping to the new code sector using assembly to load the appropriate registers (SP & PC) with address to the values at the new application SP and PC locations.

New application code without SysTick runs fine and works normal but code that includes it tends to freeze.Do i need to do something specific to use SysTick timer with the secondary boot loader.

Does the application code need a specific sequence of code to use SysTick after jumping from bootloader or is this something that needs to be done before jumping to application in the bootloader.


Quote: gnxp
Yes I checked your files. I do not see any delay statement after disable_irq. So if you are using delay in print then it won't work.
As I am telling you, this information is not complete. You need to trace your application to find out if you disable interrupts. Your delay depends on systick, so if you disable systick how will delay work?


0 Kudos

981 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by gnxp on Thu Feb 18 07:34:11 MST 2016
Yes I checked your files. I do not see any delay statement after disable_irq. So if you are using delay in print then it won't work.
As I am telling you, this information is not complete. You need to trace your application to find out if you disable interrupts. Your delay depends on systick, so if you disable systick how will delay work?
0 Kudos

981 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by rama krishna deekshitulu on Tue Feb 16 23:00:15 MST 2016

I'm using " __disable_irq();"  to disable all interrupts in boot loader file please check once
0 Kudos

981 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by gnxp on Tue Feb 16 16:29:47 MST 2016
There is not enough information in your files to indicate if anything is wrong.
But if delay is stuck, that means systick is not firing. Find out in your code where you have disabled interrupts.
0 Kudos

981 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by rama krishna deekshitulu on Tue Feb 16 02:03:41 MST 2016
Dear gnxp,

I'm new in this forum. I'm working with a LPC1225. I've encountered this problem whenever i'm using system tick timers if i'm not use system tick timers everything fine.When I'm trying to execute the IAP application for system tick timer the code is stuck at delay function. if i'm not use delay function its working fine.that means second boot loader application is working well.. please check below attachment and help me please.
0 Kudos

981 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by gnxp on Thu Aug 13 02:45:58 MST 2015
And what have you tried till now?
0 Kudos