Booting Firmware from Different Memory Location

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Booting Firmware from Different Memory Location

1,281件の閲覧回数
Dipak01
Contributor II

Hi,

We are working on designing Firmware Over the Air features on the iMX RT1020 MCU. We have defined three partition in external QSPI flash which is XIP.

0x60000000 - Bootloader
0x60081000 - Firmware 1
0x60211000 - Firmware 2

Initially, the bootloader will boot from the firmware stored at memory location 0x60081000. When the request for firmware upgrade receives, the device will check the active firmware partition and will download the image at inactive partition. For the first firmware upgrade, image will be downloaded at memory location 0x60211000.

We need to now boot from the second partition which is 0x60211000.

Question: Is it possible to boot an image stored at address 0x60211000 if binary is compiled with flash configuration in the MCUXpresso as below, (first partition address)

BOARD_FLASH (rx) : ORIGIN = 0x60081000, LENGTH = 0x800000 /* 8M bytes (alias Flash) */

Is there any way we can configure the addresses relative rather than absolute from the linker script.

Regards,
Dipak Sharma

ラベル(2)
0 件の賞賛
返信
2 返答(返信)

1,260件の閲覧回数
victorjimenez
NXP TechSupport
NXP TechSupport

Hello Dipak,

You want to compile an image with one address, but you want to execute it from a completely different address, correct? If so, this is not possible. 

Regards,
Victor 

0 件の賞賛
返信

1,257件の閲覧回数
Dipak01
Contributor II

Hi Victor,

Thanks for the information.

You have correctly understood my concern. Yes, It is not possible. We will look for some alternatives.

Regards,
Dipak Sharma

タグ(1)
0 件の賞賛
返信