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:AM263P4 SBL–引导地址差异(0x80000与0x80000)

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1484037/am263p4-am263p4-sbl-boot-address-discrepancy-0x80000-vs-0x81000

器件型号:AM263P4
主题中讨论的其他器件: UNIFLASH

工具与软件:

尊敬的 TI 支持团队:

我想了解从 OSPI 闪存引导时 AM263P4 SBL 的预期行为。 文档一般说明 appimage 写入邮箱 地址0x80000 、但在实践中、映像只能在放置时正确引导 0x81000 .

一些不一致之处引起了一些问题:

  1. 大多数文档都参考0x80000 但这不起作用。
  2. TI 自己的工具(基于 Python 和 Uniflash)默认为0x80000 即使在该地址引导失败也是如此。
  3. Uniflash 不允许写入0x81000 、它引用对齐问题时失败、而uart_uniflash.pyuart_uniflash_gui.py允许手动设置地址。

您能否澄清预期行为? 按照 TI 的设计、应该怎么做? 了解预期工作流程对于解决这些不一致问题至关重要。

此外、该问题是否与有任何连接 SBL 的交换型号 ? 我知道交换模式当前未使用、但由于它包含在变体 A 和 B 之间进行选择的逻辑、它是否会以某种方式影响引导地址?

期待您的澄清。

此致、

Jiri  

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

    尊敬的 Jiri:

    抱歉、您必须面对这种困惑、请我澄清0x80000与0x8001000之间的原因

    对于闪存访问、我们使用 OSPI 接口。 现在、OSPI 接口还有一个 PHY、它在以高时钟速度(>50MHz)工作时需要馈送调优数据

    在最新版本的 SDK 中、我们将在0x80000处刷写调优参数、然后在偏移量0x8001000处刷写应用程序闪存。

    在较旧的 SDK 中、我们没有执行此操作。 我明白,这是一个不方便的,当变化突然到来,我们正在努力修复。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid="640187" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1484037/am263p4-am263p4-sbl-boot-address-discrepancy-0x80000-vs-0x81000 "] 大多数文档都参考0x80000 、但这不起作用[/报价]

    最新文档已更新、请参考以下内容。

    https://software-dl.ti.com/mcu-plus-sdk/esd/AM263PX/latest/exports/docs/api_guide_am263px/GETTING_STARTED_FLASH.html

    [报价 userid="640187" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1484037/am263p4-am263p4-sbl-boot-address-discrepancy-0x80000-vs-0x81000 "]
    • TI 自己的工具(基于 Python 和 Uniflash)默认为0x80000 即使在该地址引导失败也是如此。
    • Uniflash 不允许写入0x81000 、它引用对齐问题时失败、而uart_uniflash.pyuart_uniflash_gui.py允许手动设置地址。
    [报价]

    我们这边可能没有、与 SDK 相比、Uniflash 工具更新较晚、因此最新的 Uniflash 工具将在 TI.com 上上线、问题将在下周修复。

    目前、可以使用基于 uart uniflash python 脚本的刷写工具作为权变措施:

    software-dl.ti.com/mcu-plus-sdk/esd/AM263PX/latest/exports/docs/api_guide_am263px/TOOLS_FLASH.html#TOOLS_FLASH_UART_UNIFLASH

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Unknown 说:
    此外、此问题是否与有任何连接 SBL 的交换型号 ? 我知道交换模式当前未使用、但由于它包含在变体 A 和 B 之间进行选择的逻辑、它是否会以某种方式影响引导地址?[/QUOT]

    需要更多信息来对此进行评论。

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

    我们不使用 SBL 的 SWAP 型号、我不确定它是否相关。 就这些。  
    但它使问题:哪里(地址)是第二个 appimage ? 文档中对这方面的一些描述在哪里?

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

    哪个版本的 SDK 使用"OSPI 接口调优数据"、这是什么意思? 我们使用的是最新的可用版本10.01.00.34 (截至今天)。 这是什么意思? 当我们创建自己的电路板(与 CC/LP 不同、因此我们需要自行修改以实现正确的启动)时、这可能会非常重要。 我们需要保持这些修改,当我们不知道应该做什么时,这是很困难的。 换言之、它记录在哪里?

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

    最新版本的 SDK 使用了 OSPI 调优数据:

    在以下文件中: C:\ti\mcu_plus_sdk_am263px_10_01_00_27\tools\boot\sbl_prebuild\am263px-cc\default_sbl_ospi.cfg

    您可以看到我们发送 OSPI 调优矢量:

    若要阅读有关 OSPI 调优的更多信息、请执行以下操作:

    www.ti.com/.../spract2.pdf

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

    另外、有关硬件设计指南行、请参阅:  

    https://www.ti.com/lit/an/sprabj8c/sprabj8c.pdf

    但问题是:第二个 appimage 在哪里(地址)? 文档中对这一点的一些描述在哪里?

    请参阅 TRM 和示例文档: software-dl.ti.com/.../bootseg_ip_working.html

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

    好的、对我来说、不清楚这是用于调优的测试图形。 因为从 SDK 文档中:  

      • Flash PHY 调优数据 :在某些 NOR SPI 驱动器中、为了调优 PHY、已知数据需要存在于闪存中。 此数组是一个大小固定的(通常为128字节)数组、写入闪存的最后一个块。 如果您是第一次向目标闪存、则需要选中此复选框、以便可以将此已知数据写入闪存。

    这意味着它不是操作系统板设置中的"调整数据"、而是作为在 SBL 上运行调谐校准的模式的"隧道数据"。 它不是在"闪存的最后一个块"上、而是在地址0x80000处。 对吗?

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

    当在同一工具中、此地址是应用映像的默认地址时、该 Python 工具如何知道此数据的正确地址是0x80000? (我不是在分析此工具。)

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

    python 工具根据 SDK 中的 cfg 文件来获取地址:

    C:\ti\mcu_plus_sdk_am263px_10_01_00_27\tools\boot\sbl_prebuild\am263px-cc\default_sbl_ospi.cfg

    这在最新版本的 SDK 中进行了更新。