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.

[参考译文] AM263P4-Q1:使用 RAT 映射相同的闪存地址

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1528838/am263p4-q1-same-flash-address-mapped-using-rat

器件型号:AM263P4-Q1

工具/软件:

尊敬的团队:

我的客户有以下问题。

用户希望刷写两个应用程序 A 和 B。用户希望将其存储在以下各自的闪存位置。
----- 闪存位置--------------------
0x60100000“应用 A“
0x60200000“应用 B“
(用户希望将执行地址设置为 0x60100000 和 XIP 引导)

根据他们配置的某些条件、他们希望引导应用程序 A 或应用程序 B。他们正在考虑使用 RAT 模块将 0x60200000 映射到 0x60100000。 这是可能的吗? (还有,在初始化 AddrTranslateP_init () 时是否可以直接调用应用程序?)
SDK 版本为 9.2.00.56

此致、

Mari Tunnoda

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

    尊敬的 Aswin:  

    根据我们的讨论、您是否还能确认这是否可以在没有引导段 IP(并使用 RAT 代替)的情况下完成? 客户可以将 SBL 升级到 10.2、因为他们已经在继续使用 SBL 10.1、但如果在应用程序端需要进行更改、则必须重新考虑。

    此致、

    Mari Tunnoda

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

    尊敬的 Nilabh、Aswin:

    请今天通过 EOD 告知我、以便我明天可以更新客户。

    此致、

    Mari Tunnoda

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

    尊敬的 Mari:

    有几种方法可以做到这一点。

    1.使用 bootseg IP 功能

    想象一下、您有两个位于不同闪存偏移处的固件映像。 该映像 A 可以位于 FSS 区域 A 中、映像 B 可以位于 FSS 区域 B。FSS 区域 A 和 B 是闪存中的两个地址偏移。 假设图像 A 位于 0x100000 偏移、图像 B 位于偏移 0x200000。 使用 bootseg IP、可以通过访问偏移量 0x100000 来访问偏移量 0x200000 处的映像。

    请参阅 SDK 中的这个示例以了解详情: https://software-dl.ti.com/mcu-plus-sdk/esd/AM263PX/10_02_00_15/exports/docs/api_guide_am263px/EXAMPLES_DRIVERS_SWAP_TO_B.html

    但是、最新的 SDK 仅提供驱动程序支持。

    2.更改 SBL 中的引导地址。

    SBL 可以配置为从地址 0x60100 0000 加载。 如果应用程序也位于地址 0x6020 0000、则可以在 SBL 中更改加载地址以从此地址加载。 根据任何外部操作、簿记设置可以保存在闪存中。 从 SBL 读取时、可以更改加载地址。 这是一种应用特定的方法、SDK 中没有示例、但可以考虑这种方法。

    3.关于 RAT 映射。

    您能否告诉我客户是如何验证的、我尝试从我这边测试这种方法的。 我通过写入闪存偏移 0x200000 并从 0x300000 读取来进行测试。 通过启用 RAT、通过 0x300000 读取、我能够读取以 0x200000 偏移写入的内容。 然而、这只能在 DAC 读取时实现、而不能通过 Flash_Read API 实现

    此致、

    Aswin

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

    尊敬的 Mari:

    另外、在初始化 AddrTranslateP_init () 时是否可以直接调用应用程序?

    您能对此进行详细说明吗? 我想这是关于 RAT 模块。 RAT 驱动程序基本上在其初始化时调用此函数。

    通常、 AddrTranslateP_init()  只是用于设置地址转换系统。

    它不 会调用或启动主应用程序代码。

    此致、

    Aswin