This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2640R2F: Follow up of : CC2640R2F: Shall the IMAGE_VALID_CONF value be used to start an application at an address different from 0x0?

Part Number: CC2640R2F


Finally I had some time to further investigate the problem.

In order to start an application at an address different from 0x0, it is necessary

to set the IMAGE_VALID_CONF value in the CCFG as described in TI documentation (with reset vector being located at the IMAGE_VALID_CONF address)

BUT the value SHALL BE a multiple of 0x100.

  • Hi Yves,
    Assigning an expert to get back to you.
  • Hi Yves,

    Not sure what you are asking.

    From the "CC16x0, CC26x0 SimpleLink Wireless MCU Technical Reference Manual":

    "...

    This field must have a value of 0x00000000 in order for enabling the boot sequence to transfer control to a flash image.
    A non-zero value forces the boot sequence to call the boot loader.
    For CC2640R2:  This field must have the address  value of the start of the flash vector table in order for enabling the boot sequence  to transfer control to a flash image.
    Any illegal vector table start address value forces the boot sequence to call the boot loader.
    Note that if any other legal vector table start address value than 0x0 is selected the PRCM:WARMRESET.WR_TO_PINRESET must be set to 1.

    ..."

    Hope this clears things up.

    Best Regards,
    Yuval

  • Hi Yuval,

     

    In http://e2e.ti.com/support/wireless-connectivity/bluetooth/f/538/t/783648

    I experienced that even if

    • The IMAGE_VALID_CONF value was set to 0xC0,
    • The reset vector is located at this address (0x0C),

    the boot loader was not starting my program.

    After a couple of trials I found that the boot loader works as expected when the value of IMAGE_VALID_CONF is a multiple of 0x100, e.g. if

    • The IMAGE_VALID_CONF value is set to 0x100,
    • The reset vector is located at this address (0x100),

    the boot loader starts as expected my program.

    This resolve the issue I raised in the reference thread.

    It would be good if the restriction on the IMAGE_VALID_CONF value is documented somewhere.

    Sincerely yours,

    Yves