Commit ee1b7b9d authored by Jim Tan's avatar Jim Tan Committed by David Brown
Browse files

zephyr: fix booting address incorrect in ram-load mode



Signed-off-by: default avatarJim Tan <KuoChun.Tan@ite.com.tw>
parent 93d02179
...@@ -297,8 +297,12 @@ static void do_boot(struct boot_rsp *rsp) ...@@ -297,8 +297,12 @@ static void do_boot(struct boot_rsp *rsp)
*/ */
static void do_boot(struct boot_rsp *rsp) static void do_boot(struct boot_rsp *rsp)
{ {
uintptr_t flash_base;
void *start; void *start;
#if defined(MCUBOOT_RAM_LOAD)
start = (void *)(rsp->br_hdr->ih_load_addr + rsp->br_hdr->ih_hdr_size);
#else
uintptr_t flash_base;
int rc; int rc;
rc = flash_device_base(rsp->br_flash_dev_id, &flash_base); rc = flash_device_base(rsp->br_flash_dev_id, &flash_base);
...@@ -306,6 +310,7 @@ static void do_boot(struct boot_rsp *rsp) ...@@ -306,6 +310,7 @@ static void do_boot(struct boot_rsp *rsp)
start = (void *)(flash_base + rsp->br_image_off + start = (void *)(flash_base + rsp->br_image_off +
rsp->br_hdr->ih_hdr_size); rsp->br_hdr->ih_hdr_size);
#endif
/* Lock interrupts and dive into the entry point */ /* Lock interrupts and dive into the entry point */
irq_lock(); irq_lock();
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment