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.

TPS65982: Pointer address for Region0 and Region1 for FW in Flash

Part Number: TPS65982

Hi Team,

My customer would like to change Pointer address from 0x00002000(Region0), 0x00020000(Resion) to other value.
Are there any restriction on this part?

In the following document page 13, There is a code below and the code looks Region0 and Resion1 address are restricted or a check to prevent writing for wrong region. My customer would like to know why TI put the "if" structure here just in case.

if (tempData == rgnPntrVal[rgnNum]) 

Refer from ; www.tij.co.jp/.../slva783a.pdf

Regards,

Takashi Onawa

  • Hi Onawa-san,

    section 3.5 of the firmware user's guide discusses in more detail how the FW is loaded and read from the device. It also touches on the pointer addresses for the different regions. The code in the app note you pointed to was provided solely as an example.
    Here is a link to the FW user's guide: www.ti.com/.../slvuah7b.pdf

    Thank you,
    Eric
  • Hi Eric-san,

    Thanks for sharing the link....

    Could you give me a clearly answer for my customer's questions below?
    It's necessary to close this issue.

    >My customer would like to change Pointer address from 0x00002000(Region0), 0x00020000(Resion) to other value.
    >Are there any restriction on this part?

    Because of the following two code, the RegionUpdate 82 (bool rgnNum) function is designed to operate only when the Resion pointer are 0x00002000 (Region 0) and 0x00020000 (Resion1). As I mentioned first, they would like to know the pointer address, so they are demanding me to check what purpose intentionally incorporated this process.

    >const uint32_t rgnPntrVal[2] = {0x00002000, 0x00020000};
    >if (tempData == rgnPntrVal[rgnNum]) 

    Regards,

    Takashi Onawa

  • Hi Eric-san,

    Could you please comment for my customer's question above?

    (Sorry, there was a typo in the sentence.)

    〉As I mentioned first, they would like to know change the pointer address,
    〉so they are demanding me to check what purpose intentionally incorporated this process.

    Regards,

    Takashi Onawa

  • Hi Eric-san,

    Any comments?

    Regards,
    Takashi Onawa
  • Hi Onawa-san,

    Apologies for the delay here.
    There are two boot records that contain the pointers to the low and high region. They take up 0-0xFFF and 0x1000-0x1FFF. So the low and high region can’t go there. The other rules are that the low and high region have to start on a flash block boundary (be divisible by 0x1000) and can’t overlap.
    So typically the low region will always be at 0x2000. Then the earliest that the high region could be for a TPS65982 that has max image size of 64k (0x1_0000) is 0x2000 + 0x1_0000 + 0x1000 (boot header) = 0x1_3000.

    Thank you,
    Eric
  • Hi Eric-san,

    I understood that the pointer address for FW allocation can be freely set anywhere in Flash If the address did not violate the following two points. is this understanding correct? Please answer "Yes" or "No".

    1.  Image can not be assigned  from 0 to 0 FFF and 0 × 1000 to 0 × 1 FFF.
    2. High region have to start on a flash block boundary (be divisible by 0x1000) and can’t overlap.

    Regards,

    Takashi Onawa

  • Hi Onawa-san,

    1. Image can not be assigned from 0 to 0 FFF and 0 × 1000 to 0 × 1 FFF.

    Yes, the image cannot go in these regions.

    2. High region have to start on a flash block boundary (be divisible by 0x1000) and can’t overlap.

    Yes, that is correct.

    Thank you,
    Eric
  • Eric-san,

     Please answer YES or No whether my understanding is correct....

    I understood that the pointer address for FW allocation can be freely set anywhere in Flash If the address did not violate the following two points. is this understanding correct?

    Regards,

    Takashi Onawa

  • Hi Onawa-san,

    Yes, you are correct.

    However, the low region must come before the high region.

    Thank you,
    Eric
  • Eric-san,

    Thanks, I understood ! I will close this thread soon.

    Regards,
    Takashi Onawa