Booting Firmware from Different Memory Location

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Booting Firmware from Different Memory Location

1,285 次查看
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,264 次查看
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,261 次查看
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 项奖励
回复