2013-04-06 03:26 PM
Hello.
If I want tosave 2 FW (current one and newer) on 2 section. This is for robust cases when I want to be sure I have a good update FW before delete the old one.For that I made 2 sections (let say section 3-6 for 1 FW and section 7-10 for the second). Each time before download I see which one is the oldest (by FW version on specific place ) and the Boot place the new FW on that sector. After all get O.K. the Boot check again which one is newer and make a jump to that sector.The question:In the FW can I made the same offset all time like 0x08000000 start and vector jump the same and boot assign the FW on one of the sectors and make its jump there will do the reset (relative address) or there should be correlation betweenh icf file offset and placement on sector (absulote address)?I hope I clear myself .ReagrdsBar. #2-fw-using-iap-app2013-04-06 04:44 PM
Well running code linked at a different address would be difficult, but you could park the entire replacement app at 0x08080000, check it's validity, and have your boot loader then copy it down to 0x08010000.
2013-04-06 11:28 PM
Hi.
Yes I was thinking about it , but it mean double download and double time upgrade. So you say that for diffrent location there is a change in the FW code itself? Regards Bar.2013-04-07 05:34 AM
If you want to run it from a secondary location you'll want to link it for that new location. There are ways around this, but would involve creating a vector table in RAM, and ensuring you have no other absolute address references.
By parking I mean download it to the device once, and then copy it locally. The point being to only erase your working app if you have a new complete and valid image to replace it with.