CC2652R7: Program Address Offset Settings

Part Number: CC2652R7
Other Parts Discussed in Thread: SYSCONFIG

I want to implement a firmware update feature, so the application’s starting address needs to be offset to 0x6000. What settings do I need to configure for my application (using `simple_peripheral` as an example)? So far, I have done the following:
1. In the first line of the `main` function, I called `HWREG(NVIC_VTABLE) = (uint32_t)0x6000;`
2. Modified two locations in the linker file:
2.1. #define FLASH_START                0x6000
2.2
SECTIONS
{
    .resetVecs: load > 0x6000
    .vecs: load > 0x20000000, type = NOLOAD
}
After making these changes, the program fails to run. When I execute BIOS_start();, the program reaches Error_raiseX.
Is there a problem with my modifications? If not, how should I fix it?debug.jpg

  • Hi Nick,

    Please check the SysConfig -> Device Configurations -> "Address of Flash Vector Table" as you need to modify the value of SET_CCFG_IMAGE_VALID_CONF_IMAGE_VALID since the location of the flash vector table will have changed.

      

    Regards,
    Ryan