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:与微控制器特性相关的问题

Guru**** 2556330 points
Other Parts Discussed in Thread: UNIFLASH

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1563958/am263p4-q1-queries-related-to-microcontroller-features

器件型号:AM263P4-Q1
Thread 中讨论的其他器件:UNIFLASHCSD

工具/软件:

请提供以下问题的答案。

  1. ECC

    1. ECC 位是否会通过 RBL 开发引导模式 (debug) 启用?
    2. RBL 运行时 ECC 失败时会出现什么行为?
    3. 在数据中止异常期间、如何区分两位错误和仅注入模式触发器?
    4. 当在 TCM 存储器中注入 2 位 ECC 错误时、会设置哪个状态标志?  
  2. PBIST

    1. 根据您的回复、记录器中提供了证书验证或 SBL 完整性检查失败或 MSS ROM 上的 PBIST 故障等故障。 除了这些故障外、RBL 还可能执行其他测试。 请分享 RBL 可检测到的完整故障列表。
    2. 我们的定制 SBL 是否可用于在不使用 PBIST 模块的情况下测试 TCMA 和 TCMB 存储器?
    3. 请在第 13.6.6.3 节中详细解释如何处理以下情况。
      R5SS VIM 存储器–由于 ISR 存储在 VIM 存储器中、如果要测试 VIM 存储器、则应在中断线上完成轮询、而不是 ISR 执行。
  3. OSPI (8S) 和 xSPI (8D)、就地执行 (XIP)

    1. 什么是 XIP(就地执行)、具体工作原理是什么?
    2. XIP 如何逐步执行指令? 是否需要任何闪存 API?
    3. XIP 模式下的预期执行速度是多少? 例如、如果 CPU 以 400MHz 运行、执行性能会受到影响吗?
    4. 由于代码通常包含多个段、哪些段在 XIP 期间保留在闪存中、哪些段在执行之前被复制到 RAM(执行代码时数据段是否会移至 RAM)?
    5. SDK 中提供的 XIP 示例代码中到底演示了什么?
    6. 什么是 FSS region_0 (0x6000_0000) 和 FSS region_1 (0x8000_0000)、为什么将这些区域指定为引导空间(TRM 第 1506 页)? 在这种情况下、“地址可重映射“意味着什么?
    7. MCELF XIP 最终映像是否加密? 什么是 x509 证书? 如果是、加密如何处理、x509 证书的作用是什么?
    8. XIP 流程中是否需要 OTFA(实时身份验证)验证器?
    9. 是否需要实施代码来读取 SFDP(串行闪存可发现参数)标头结构、或者是否由硬件/软件自动处理?
    10. 配置 XIP 后、代码是否会自动执行、或者我们是否需要实施额外的逻辑来逐指令执行?
    11. 引导 DIP 开关是否可以硬接线到 xSPI 模式? 如果是、Uniflash 是否仍可以在 xSPI 模式下更新/刷写映像而不更改 DIP 开关?
    12. 如何使用 Uniflash 在同一内核上刷写多个映像?
    13. 我们正在开发定制的 sbl_xSPI。 在开发自定义 SBL_xSPI 时、我们应该考虑哪些关键注意事项?
  4. CPSW

    1. CPDMA、主机端口和 MAC 端口是如何连接的?
    2. “发送到主机“和“发送到主机“术语令人困惑、“发送到主机“意味着传输吗?
    3. TI 文档包含很多拼写错误、缺少重要的驱动器寄存器。 例如、AM263x 寄存器附录(修订版 E)中缺少端口 1 和端口 2 的 MAC 端口控制寄存器。 我已在 TI 论坛上提出问题、TI 代表同意缺少这些寄存器、但我尚未收到任何有关这些寄存器的文档/信息。 查询已经 14 天了、我想如何实现处理器文档中缺少寄存器的驱动程序?
  5. MMCSD

    1. 当主机发送 CMD 2 以获取 CID 寄存器时、它在 RSP10、RSP32、RSP54、RSP76 响应寄存器中接收到的响应为 136 位。 由于它们可以保存对应于 CID 寄存器 128 位的 128 位响应位、因此我们是否需要向左移位 1 个字节的数据才能获得 mmcsd_parse.c(函数:MMCSD_parseCIDEmmc)给出的 CID 寄存器值?
      与 CMD 9 相同、也可获取 CSD 寄存器。 当响应不左移时、针对 CSD 位上的 TRAN_SPEED 接收到的值为[103:96]为 0x32、为 25MHz。 如果响应字节左移、则 CSD 寄存器的值不相关。
    2. 我们可以看到 MMC 的函数在 TI Git'github.com/.../mmcsd_v0.c'的以下路径中实现。
      我们可以为 MMC 的最新文件安装哪个版本的 SDK? 还需要一个适用于 MMC 的工作示例工程。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 DeviPrasad:

    我强烈建议您为每一个主题的查询创建单独的主题、我将如何在此处回答第一级问题。

    [报价 userid=“660592" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1563958/am263p4-q1-queries-related-to-microcontroller-features
    • ECC 位是否会通过 RBL 开发引导模式 (debug) 启用?
    • RBL 运行时 ECC 失败时会出现什么行为?
    • 在数据中止异常期间、如何区分两位错误和仅注入模式触发器?
    • 当在 TCM 存储器中注入 2 位 ECC 错误时、会设置哪个状态标志?  
    [/报价]

    为此、如果我理解正确、您需要了解 ROM 如何处理存储器错误。 有关这一点、请参阅 TRM 中的初始化章节、了解更多详细信息。

    总之、引导时会检查映像完整性、如果存在任何中止或任何异常/失败、则 引导会失败。 HSM 中有看门狗、会触发该看门狗。   

    [报价 userid=“660592" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1563958/am263p4-q1-queries-related-to-microcontroller-features
    • 根据您的回复、记录器中提供了证书验证或 SBL 完整性检查失败或 MSS ROM 上的 PBIST 故障等故障。 除了这些故障外、RBL 还可能执行其他测试。 请分享 RBL 可检测到的完整故障列表。
    • 我们的定制 SBL 是否可用于在不使用 PBIST 模块的情况下测试 TCMA 和 TCMB 存储器?
    • 请在第 13.6.6.3 节中详细解释如何处理以下情况。
      R5SS VIM 存储器–由于 ISR 存储在 VIM 存储器中、如果要测试 VIM 存储器、则应在中断线上完成轮询、而不是 ISR 执行。
    [/报价]

    此外、正如您指出的、ROM 主要支持:

    1.证书验证

    2.图像完整性

    3、图像解密

    用于安全启动的 SBL 和 HSMRT 以及 PBIST。 您是否从安全/安保角度看待? 如果您需要更多详细信息、请联系此处: https://www.ti.com/drr/opn/AM263PX-RESTRICTED-SAFETY &  https://www.ti.com/drr/opn/AM263PX-RESTRICTED-SECURITY 

    [报价 userid=“660592" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1563958/am263p4-q1-queries-related-to-microcontroller-features
    • 什么是 XIP(就地执行)、具体工作原理是什么?
    • XIP 如何逐步执行指令? 是否需要任何闪存 API?
    • XIP 模式下的预期执行速度是多少? 例如、如果 CPU 以 400MHz 运行、执行性能会受到影响吗?
    • 由于代码通常包含多个段、哪些段在 XIP 期间保留在闪存中、哪些段在执行之前被复制到 RAM(执行代码时数据段是否会移至 RAM)?
    • SDK 中提供的 XIP 示例代码中到底演示了什么?
    • 什么是 FSS region_0 (0x6000_0000) 和 FSS region_1 (0x8000_0000)、为什么将这些区域指定为引导空间(TRM 第 1506 页)? 在这种情况下、“地址可重映射“意味着什么?
    • MCELF XIP 最终映像是否加密? 什么是 x509 证书? 如果是、加密如何处理、x509 证书的作用是什么?
    • XIP 流程中是否需要 OTFA(实时身份验证)验证器?
    • 是否需要实施代码来读取 SFDP(串行闪存可发现参数)标头结构、或者是否由硬件/软件自动处理?
    • 配置 XIP 后、代码是否会自动执行、或者我们是否需要实施额外的逻辑来逐指令执行?
    • 引导 DIP 开关是否可以硬接线到 xSPI 模式? 如果是、Uniflash 是否仍可以在 xSPI 模式下更新/刷写映像而不更改 DIP 开关?
    • 如何使用 Uniflash 在同一内核上刷写多个映像?
    • 我们正在开发定制的 sbl_xSPI。 在开发自定义 SBL_xSPI 时、我们应该考虑哪些关键注意事项?
    [/报价]

    1.请参阅    https://software-dl.ti.com/mcu-plus-sdk/esd/AM263PX/10_00_00_35/exports/docs/api_guide_am263px/BOOTFLOW_XIP.html 中的启用 XIP 或就地执行部分

    2. CPU 在 400MHz 上运行、此 MCU 上的闪存连接到在 133MHz 上运行的 OSPI 接口上。  

     3. https://software-dl.ti.com/mcu-plus-sdk/esd/AM263PX/10_02_00_15/exports/docs/api_guide_am263px/OPTIFLASH.html 

     4. https://software-dl.ti.com/mcu-plus-sdk/esd/AM263PX/10_02_00_15/exports/docs/api_guide_am263px/SMART_PLACEMENT.html

     5. https://software-dl.ti.com/mcu-plus-sdk/esd/AM263PX/10_02_00_15/exports/docs/api_guide_am263px/MCELF_LANDING.html

    6.建议在开发阶段更改引导模式。 并配置其他引导模式。  

    7.在 OTFA 上,我会确认

    8.是的读取 SFDP 是强制性的, ROM 做它& SBL 也应该读取,我会双重确认。

    [报价 userid=“660592" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1563958/am263p4-q1-queries-related-to-microcontroller-features
      1. CPDMA、主机端口和 MAC 端口是如何连接的?
      2. “发送到主机“和“发送到主机“术语令人困惑、“发送到主机“意味着传输吗?
      3. TI 文档包含很多拼写错误、缺少重要的驱动器寄存器。 例如、AM263x 寄存器附录(修订版 E)中缺少端口 1 和端口 2 的 MAC 端口控制寄存器。 我已在 TI 论坛上提出问题、TI 代表同意缺少这些寄存器、但我尚未收到任何有关这些寄存器的文档/信息。 查询已经 14 天了、我想如何实现处理器文档中缺少寄存器的驱动程序?
    [/报价]

    请参阅 图 13-89。 CPSW 功能方框图和 第 13.2.1.4.2 节 CPSW 端口。 在#3 抱歉、如果未解决此问题、将在内部进行检查并进行更新。

    [报价 userid=“660592" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1563958/am263p4-q1-queries-related-to-microcontroller-features
    • 当主机发送 CMD 2 以获取 CID 寄存器时、它在 RSP10、RSP32、RSP54、RSP76 响应寄存器中接收到的响应为 136 位。 由于它们可以保存对应于 CID 寄存器 128 位的 128 位响应位、因此我们是否需要向左移位 1 个字节的数据才能获得 mmcsd_parse.c(函数:MMCSD_parseCIDEmmc)给出的 CID 寄存器值?
      与 CMD 9 相同、也可获取 CSD 寄存器。 当响应不左移时、针对 CSD 位上的 TRAN_SPEED 接收到的值为[103:96]为 0x32、为 25MHz。 如果响应字节左移、则 CSD 寄存器的值不相关。
    • 我们可以看到 MMC 的函数在 TI Git'github.com/.../mmcsd_v0.c'的以下路径中实现。
      我们可以为 MMC 的最新文件安装哪个版本的 SDK? 还需要一个适用于 MMC 的工作示例工程。
    [/报价]

    目前、在 SDK 上不支持/验证 SD/MMC。 让我检查一下、然后返回。

    此外、我亦会与个别中小型企业联络、以获得完整的答案。   

    此致、Shiv

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    当主机发送 CMD 2 以获取 CID 寄存器时、它在 RSP10、RSP32、RSP54、RSP76 响应寄存器中接收到的响应为 136 位。 由于它们可以保存对应于 CID 寄存器 128 位的 128 位响应位、因此我们是否需要向左移位 1 个字节的数据才能获得 mmcsd_parse.c(函数:MMCSD_parseCIDEmmc)给出的 CID 寄存器值?
    与 CMD 9 相同、也可获取 CSD 寄存器。 当响应不左移时、针对 CSD 位上的 TRAN_SPEED 接收到的值为[103:96]为 0x32、为 25MHz。 如果响应字节向左移动、则 CSD 寄存器的值不相关。

    我相信 (+) AM263P4-Q1:MMCSD 模块与 eMMC 接口 — 基于 Arm 的微控制器论坛 — 基于 Arm 的微控制器 — TI E2E 支持论坛中已经对此进行了解答、如果您的问题仍未解答、请告诉我。

    我们可以看到在 TI Git'github.com/.../mmcsd_v0.c'的以下路径中实现了 MMC 的函数。
    我们可以为 MMC 的最新文件安装哪个版本的 SDK? 还需要 MMC 的工作示例工程。

    AM26x 器件使用 MMCSD 驱动程序的 v1、而不是 V0。 最新的 11.0 SDK(计划今天发布)中为 AM263x 添加了对 eMMC 驱动程序/示例的支持、您可以参阅。 遗憾的是、AM263Px 尚未提供此版本。

    此致、

    Sahana

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

    我参考 了 v1 实现了代码、以读取/写入 AM263x-LP 电路板上连接的 eMMC。 我甚至能够读取 CSD、CID 等寄存器并正确解码这些值、但当尝试向 eMMC 读取/写入数据时、我会在发送 CMD 17/18 和 CMD24/25 时看到写保护错误/命令超时错误。

    您能否分享 eMMC 实例的经验证的工程 zip 与 syscfg 文件、例如“MCSD_RAW_IO_eMMC.c"?“?

    注意:我使用 eMMC 芯片和 eMMC 转 SD 卡适配器连接到 AM263x LaunchPad 的 SD 卡插槽上。

    Product Link : 购买 Radxa eMMC 到 USD 模块,读/写 SD 卡读卡器| Evelta.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能否将经过验证的工程 zip 与 eMMC 实例的 syscfg 文件共享、例如“msd_raw_io_eMMC.c"
    </s>“

    不清楚这里的问题是什么。 您可以在 AM263 MCU 和 SDK 11.0 中找到示例工程。 此示例在 AM263x-LP 上不受支持、您需要一个支持 eMMC 的定制电路板、但尚未通过 eMMC 转 SD 适配器进行验证。

    此致、

    Sahana

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

    您好 Shirly、

    您能为 eMMC 创建一个单独的票证吗?  

    也是  DeviPrasad,

     如果每个主题仍处于开放状态或需要进一步澄清、请帮助为其创建新主题、以便我们可以分配合适的专家并更好地跟踪。 如果可以关闭该主题、请告诉我。

    此致、Shiv

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

    我们是否可以获取  mmcsd_raw_io_eMMC.c'的 CCS 工程 以及相应的 syscfg 文件、因为 SDK 只有源文件 mmcsd_raw_io_eMMC.c 我们可以使用 AM263px 控制卡并尝试测试 EMMC。

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

    您好 Shirly、

     AM263P 控制卡的 MMCSD 原始 IO 的 CCS 工程可在以下路径中找到

    C:\ti\mcu_plus_sdk_am263px_AA_BB_CC_DD\examples\drivers\mmcsd\mmcsd_raw_io\am263px-cc\r5fss0-0_nortos

    其中  AA_BB_CC_DD 是您正在使用的 MCU+ SDK 版本。 与之类似、如果您使用的是 AM263x、这将是一条类似的路径

     

    谢谢、

    Tejas Kulakarni