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.

[参考译文] TPS6.5982万:闪存中FW的Region0和Region1的指针地址

Guru**** 2481465 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/660338/tps65982-pointer-address-for-region0-and-region1-for-fw-in-flash

部件号:TPS6.5982万

大家好,

我的客户想将指针地址从 0x0.2万 (区域0),0x2万 (区域)更改为其他值。
此零件是否有任何限制?

在下面的文档第13页中,下面有一个代码,代码看起来 Region0和Resion1 address are restricted或检查以防止写入错误的区域。 我的客户想知道为什么TI在这里放置了"IF"结构以防万一。

IF (tempdata == rgnPntrVal[rgnNum])  

请参阅; www.tij.co.jp/.../slva783a.pdf

此致,

Takashi Onawa

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Onawa-san,

    固件用户指南的3.5 部分更详细地讨论了如何加载固件以及如何从设备读取固件。 它还涉及不同区域的指针地址。 您所指向的应用手册中的代码仅作为示例提供。
    以下是固件用户指南的链接: www.ti.com/.../slvuah7b.pdf

    谢谢!
    Eric
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好,Eric San,

    感谢您分享链接

    您能否为我的客户在下面提出的问题提供清晰的答案?
    有必要关闭此问题。

    >我的客户想将指针地址从0x0.2万 (区域0),0x2万 (区域)更改为其他值。
    >此部分是否有任何限制?

    由于以下两个代码,RegionUpdate 82 (bool rgnNum)函数设计为仅当Resion指针为0x0.2万 (区域0)和0x2万 (Resion1)时才运行。 正如我首先提到的,他们想知道指针地址,因此他们要求 我检查有意将此过程纳入的目的是什么。

    >const UINT32_t rgnPntrVal[2]={0x0.2万, 0x2万";
    >IF (tempdata == rgnPntrVal[rgnNum])  

    此致,

    Takashi Onawa

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好,Eric San,

    请您评论一下我的客户的上述问题吗?

    (抱歉,句子中出现拼写错误。)

    〉正如我前面提到的,他们想知道 更改指针地址,
    〉他们要求我检查有意将此流程纳入其中的目的是什么。

    此致,

    Takashi Onawa

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好,Eric San,

    有什么意见?

    此致,
    Takashi Onawa
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Onawa-san,

    很抱歉耽误你的时间。
    有两个引导记录包含指向LOW和HIGH区域的指针。 它们使用0-0xFFF和0x1000-0x1FFF。 所以低,高的地区都不能去那里。 其他规则是,低和高区域必须在闪存块边界上开始(可被0x1000整除),并且不能重叠。
    因此通常,低区域将始终为0x2000。 那么,对于最大图像大小为64k (0x1_0000)的TPS6.5982万,高区域的最早值是0x2000 + 0x1_0000 + 0x1000 (引导标头)= 0x1_3000。

    谢谢!
    Eric
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好,Eric San,

    我了解,如果地址没有违反以下两点,则固件分配的指针地址可以在闪存中任意设置。这种理解是否正确? 请回答"是"或"否"。

    1. 图像不能从 0到0 FFF和0×1000到0×1 FFF分配。
    2.高区域必须在闪存块边界上开始(可被0x1000整除),并且不能重叠。

    此致,

    Takashi Onawa

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Onawa-san,

    1.图像不能从0到0 FFF和0×1000到0×1 FFF分配。

    是的,图像不能进入这些区域。

    2.高区域必须在闪存块边界上开始(可被0x1000整除),并且不能重叠。

    是的,正确。

    谢谢!
    Eric
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Eric San,

     请回答“是”或“否”,我的理解是否正确....

    我了解,如果地址没有违反以下两点,则固件分配的指针地址可以在闪存中任意设置。这种理解是否正确?

    此致,

    Takashi Onawa

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Onawa-san,

    是的,您回答正确。

    但是,低区必须先于高区。

    谢谢!
    Eric
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Eric San,

    谢谢,我明白了! 我将很快结束这一线程。

    此致,
    Takashi Onawa