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.

[参考译文] AM2432:OSPI RD_DATA_CAPTURE_REG[4:1] DELAY_FLD

Guru**** 2535750 points
Other Parts Discussed in Thread: AM2432

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1566058/am2432-ospi-rd_data_capture_reg-4-1-delay_fld

器件型号:AM2432


工具/软件:

你好

我正在使用 AM2432 和 Winbond 闪存 ROM 的定制板。

第 1 个问题:

在 TRM 上、根据指出、在 SPI 引导期间(主引导模式为 SPI)、ROM 引导加载程序会自动选择适当的 DELAY_FLD 值。

如果 我需要知道所选的结果、 请参阅片上 SRAM 中的引导参数表是否正确? (在我的情况下,地址= 0x701BED18、读取数据= 0000)

第二个 问题:

 ROM 引导加载程序成功加载并执行 SBL_OSPI(已写入闪存)后、似乎会向 DELAY_FLD 字段写入不同的值。

我没有设法在 SBL_OSPI 工程的源代码中找到相关部分。 您能指出在哪里?

同样、如果 我需要知道该字段的值、 提到 CCS 的寄存器转储窗口是否正确? (表达式= OSPI0__OSPI_CFG_VBUSP__VBP2...DELAY_FLD、在我的情况下读取数据= 0010)  

我需要知道磁场值以评估实际波形、它是否符合最小建立和保持时间值。

此致

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

    您好、

    我需要您的帮助来解释为什么您查看地址 0x701BED18?

    我找到了 TRM 中的一些参考资料:

    [引述 userid=“670785" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1566058/am2432-ospi-rd_data_capture_reg-4-1-delay_fld

    第二个 问题:

     ROM 引导加载程序成功加载并执行 SBL_OSPI(已写入闪存)后、似乎会向 DELAY_FLD 字段写入不同的值。

    我没有设法在 SBL_OSPI 工程的源代码中找到相关部分。 您能指出在哪里?

    同样、如果 我需要知道该字段的值、 提到 CCS 的寄存器转储窗口是否正确? (表达式= OSPI0__OSPI_CFG_VBUSP__VBP2...DELAY_FLD、在我的情况下读取数据= 0010)  

    [/报价]

    为此、请允许我留出一些时间、直到我可以对此进行评论并详细说明如何正确解释这些值。

    同时、您能帮助回答以上问题。

    此致、

    Vaibhav

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

    感谢您的答复。

    地址 0x701BED18 是从 0x701BEC00 开始的参数表 0 的一部分。

    如 TRM 的表 4-45“OSPI/QSPI/SPI 引导参数表“中所示、字节偏移 200(十进制)似乎保留了引导期间选择的“Tap Delay“值。

    我之所以提到该地址、是因为 RD_DATA_CAPTURE_REG 寄存器似乎被 SBL 覆盖。

    此致、

    大辅

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

    您好、

    我建议直接从存储器浏览器读取 0xFC40010 的值。

    现在、如何确切地知道将哪个 ROM 设置为读取数据捕获值。

    为此、您需要在引导加载程序的顶部停止。

    例如、如果我的引导加载程序是 SBL NULL、则在 main.c 文件的开头放置一个 LOOP_FOREVER、如下所示:

    同样、如果引导加载程序是 SBL OSPI、则必须将 LOOP_FOREVER 放置在 main.c 中的最顶部行

    完成后、您可以刷写所有二进制文件 、然后继续引导、这样就在流程从 ROM 中退出后、它将卡在永久循环中。

    现在、您可以在 CCS IDE 中连接到 R500 内核。

    在这里、您只需加载符号、在本例中、符号类似于 SBL_OSPI.debug.out 文件。

    对于我来说 、它是:c:\ti\mcu_plus_sdk_am64x_11_01_00_17\examples\drivers\boot\sbl_null\am64x-evm\r5fss0-0_nortos\ti-arm-clang\sbl_null.debug.out

    现在、您可以转到存储器浏览器并放入 0xF40010。 这样您将从位[4:1]获得值。

    谢谢、

    Vaibhav

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我没能在 SBL_OSPI 工程的源代码中找到相关部分。 您能指出在哪里?

    要查找正在设置的值、在 ROM 配置字段 FC40010 bit[4:1]后、您需要查看 API 调用、发生如下:

    Board_drivers 打开--> --> Flash_norOspiOpen/Flash_nandOspiOpen --> OSPI_setRdDataCaptureDelay。

    API OSPI_setRdDataCaptureDelay 负责设置 0xFC40010 中的位[4:1]。

    希望这对您有所帮助。

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

    感谢您的及时回复。

    我觉得我可以遵循你的建议,并得到我想要的价值。
    但是、参数表 (0x701BEC00) 中的“Tap Delay“值(字节偏移 200)与 DELAY_FLD 值是否不同?

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

    您好、

    值没有不同。 它与 Delay_Fld 中的相同。

    谢谢、

    Vaibhav