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.

[参考译文] AM2612:最大 OSPI0 时钟输出保持 7.5MHz

Guru**** 2927270 points

Other Parts Discussed in Thread: LP-AM261, AM2612, TIDA-010979, SYSCONFIG, UNIFLASH

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1647348/am2612-maximum-ospi0-clock-output-keeps-7-5mhz

器件型号: AM2612
Thread 中讨论的其他器件: TIDA-010979、 SYSCONFIG 、LP-AM261、 UNIFLASH

尊敬的专家:

我们在 TIDA-010979 中使用了包括 AM2612 和 FLASH (ISSI IS25LP016) 在内的相同设计, 其接口是 OSPI0。

目前我们可以低时钟频率(关于 2MHz)成功访问闪存。 接下来我们想对它求高值。 在 SysConfig 文件中、对于 OSPI 配置、只要输入时钟频率 (Hz) 为 240000000 (240MHz)、并且输入时钟分频器为 8 或 4、测得的时钟始终为 7.5MHz(预计它应该为 30MHz 或 60MHz)。 即使我们尝试使用 OSPI_setBaudRateDiv (ospiHandle、8、4 或 2) API 在 Board_flashOpen () 之后再次强制执行设置、它保持不变。

您能帮我们检查并提供您的建议吗? 谢谢。

BR、Robert Huang  

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

    您好 Robert:

    您能告诉我您正在使用哪个 SDK(MCU PLUS SDK 版本)吗?  

    谢谢、

    Aswin

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

    尊敬的 Aswin:

    它是 mcu_plus_sdk_am261x_11_01_00_19 文件夹名称。

    BR、Robert Huang

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

    您好 Robert:  

    您能介绍下时钟配置的原理吗?

    OSPI SysConfig 配置和时钟树中的 OSPI 时钟配置的屏幕截图就足够了。 我想看看是什么  

    PLL 分频器、gm CLK 分频器和波特率分频器。

    此致、

    Aswin  

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

    尊敬的 Aswin:

    请参阅随附的快照。 当插入->图像/视频/文件和我键入每个图像的原始快照大小时、不知道尺寸的含义。 希望您可以清楚地了解它们。 谢谢。

    BR、Robert Huang

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

    您好 Robert:  

    请尝试此配置。

    PLL 配置从 SBL 完成。 所以在您的 SBL 中、我将这个工程命名为 SBL: examples\drivers\boot\sbl_ospi_multiple_elf\am261x-som

    1.时钟树工具中的配置

    2. OSPI 部分的配置。 关闭 PHY

    也可以在应用中执行相同的过程。 时钟树和 OSPI PHY 配置

    在应用中、PLL 配置是必要的、因为根据其输入、应用还会验证 SBL 中的 PLL 配置是否与配置的配置相匹配。

    我要连接我的 sysconfigs

    1. SBL SysConfig: examples\drivers\boot\sbl_ospi_multiple_elf\am261x-SoM

    e2e.ti.com/.../8270.example.syscfg

    2.应用 SysConfig: examples\hello_world\am261x-sm\r5fss0-0_freeRTOS

    e2e.ti.com/.../8270.example.syscfg

    这是获得的输出。 引导介质时钟为 30MHz、即 OSPI 时钟。

    此致、

    Aswin

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

    尊敬的 Aswin:

    我将 sbl_ospi_morple_elf_am261x-lp_r5fss0-0_nortos_ti-arm-clang 工程用作我的定制电路板工程、并对您提到的 git snapshot 进行了一些更改(在之前与之后)。 启动介质时钟更改为 30MHz 作为您的时钟、但在 opsi 时钟引脚上测量的波形仍保留了有关 7.5MHz 方波的信息。 您能帮我们检查一下是否有任何可能的情况吗? 谢谢。

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

    您好 Robert:  


    您能为我提供这些寄存器的值吗?

    此致、

    Aswin

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

    您好 Robert:  

    为了阐明这些寄存器是否正确配置、OSPI 输出频率应为 30Hz。 因此、我们可以检查这些寄存器以确保它们是否正确配置。

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

    尊敬的 Aswin:  

    我们在 SBL 和应用程序上刷写了 30MHz 设置配置+禁用 PHY 模式、并运行输出消息、如下所示、以供您参考。

    正在启动 OSPI 引导加载程序...
    kpi_data:[bootloader_profile] CPU 时钟:500.000MHz
    kpi_data:[bootloader_profile]引导介质:NOR SPI 闪存
    kpi_data:[bootloader_profile]引导介质时钟:30.000MHz
    kpi_data:[bootloader_profile]引导映像大小:258 KB
    kpi_data:[bootloader_profile]当前核心:
    r5f0-0
    kpi_data:【引导加载程序配置文件】System_init : 985us
    kpi_data:[bootloader profile] Drivers_open:249us
    kpi_data:[bootloader profile] LoadHsmRtFw:6317us
    kpi_data:[bootloader profile] Board_drivers 打开:666us
    kpi_data:[bootloader profile] CPU load:25770us
    kpi_data:[bootloader profile] SBL end:11us
    kpi_data:[bootloader_profile] SBL 总用时:34001us

    图像加载完成、切换到应用程序...
    [OSPI0 时钟寄存器转储] Robert Huang 20260603
    =====================================================
    1. TOP_RCM_PLL_CORE_M2NDIV [0x53200410]= 0x00010009
    M2[23:16]= 1、N[7:0]= 9
    2. TOP_RCM_PLL_CORE_MN2DIV [0x53200414]= 0x000000C8
    M[11:0]= 200、N2[19:16]= 0
    3. TOP_RCM_PLL_CORE_FRACDIV [0x53200418]= 0x02000000
    FRATIONALM[17:0]= 0、REGSD[31:24]= 2
    4. TOP_RCM_PLL_CORE_HSDIVIDER_CLKOUT0 [0x5320042C]= 0x00000320
    DIV[4:0]= 0、GATE_CTRL[8]= 1、PWDN[12]= 0、STATUS[9]= 1
    5. MSS_RCM_OSPI0_OSPI0_CLK_SRC_SEL [0x532085F0]= 0x00000333
    CLKSRCSEL[11:0]= 819
    6. MSS_RCM_OSPI0_CLK_DIV_VAL [0x532083F0]= 0x00000000
    CLKDIVR[11:0]= 0
    =====================================================
    BR、Robert Huang
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    e2e.ti.com/.../sbl_5F00_ospi_5F00_multicore_5F00_elf.debug.tiimagee2e.ti.com/.../hello_5F00_world.debug.mcelf

    e2e.ti.com/.../sbl_5F00_example.syscfg e2e.ti.com/.../hw_5F00_example.syscfg

    您好 Robert:

    寄存器转储值在我的设置和您的设置之间似乎有所不同。

    我的注册值
    TOP_RCM_PLL_CORE_M2NDIV [0x53200410]= 0x00010009
    TOP_RCM_PLL_CORE_MN2DIV [0x53200414]= 0x00000320
    TOP_RCM_PLL_CORE_FRACDIV [0x53200418]= 0x08000000
    TOP_RCM_PLL_CORE_HSDIVIDER_CLKOUT0 [0x5320042C]= 0x00000324
    MSS_RCM_OSPI0_CLK_SRC_SEL [0x532085F0]= 0x00000333
    MSS_RCM_OSPI0_CLK_DIV_VAL [0x532083F0]= 0x00000000

    您能否刷写附加的 SBL 和 hello world 映像并进行一次检查?

    另请参阅我的 SysConfig 文件。

    刷写新映像后、请验证寄存器值。

    此致、

    Aswin

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

    尊敬的 Aswin:

    我们在定制电路板(参考 TIDA-010979)上对您提供的 SBL 和应用程序映像进行了编程(进度如下)。 它不会在 4s 引导模式下显示来自 UART 输出的任何消息。 对于 UART 引导模式、它每 3 秒输出一次“C“字符。 顺便说一下、 sbl_uart_uniflash_am261x-lp_r5fss0-0_nortos_ti-arm-clang.tiimage(闪存写入器)由我们根据作为 TIDA-010979 的不同 ISSI 闪存进行修改和构建、而不是 LP-AM261 EVM 板中使用的闪存、其中 OSPI 时钟设置如下快照供您参考。

    python uart_uniflash.py -p /dev/ttyACM0 --cfg ./tida_orbit-ti/tiorbit-ti_sbl_app_TI_FAE.cfg

    正在解析配置文件...
    正在解析配置文件...成功。 找到 3 个命令!!!

    正在执行命令 1(共 3 个)...
    找到闪存写入器...正在发送./disa_orbit-ti/sbl_uart_uniflash_am261x-lp_r5fss0-0_nortos_ti-arm-clang.tiimage

    已在 8.73s 内发送大小为 95457 字节的 flashwriter ./developer-ti/sbl_uart_uniflash_am261x-lp_r5fss0-0_nortos_ti-arm-clang.tiimage。

    正在执行第 2 个命令(共 3 个)...
    命令参数:--file=./tida_orbit-ti/ sbl_ospi_multicore_elf.debug.tiimage --operation=flash --flash-offset=0x0
    发送了./tida_orbit-ti/ sbl_ospi_multicore_elf.debug.tiimage、大小为 291740 字节、单位为 29.31 秒。
    【状态】成功!!!

    正在执行第 3 个命令(共 3 个)...
    命令参数:--file=./tida_orbit-ti/hello_world.debug.mcelf --operation=flash-sector-write --flash-offset=0x81000
    发送了./tida_orbit-ti/TI.com hello_world.debug.mcelf、大小为 53108 字节、规格为 7.71 秒。
    【状态】成功!!!

    将执行配置文件中的所有命令!!!

    BR、Robert Huang

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

    您好 Robert:

    抱歉、我提供的二进制文件基于 AM261 EVM。 因此闪存部分会有所不同。 我的目的是以这些文件为例、以防您在应用中设置时钟参数时遇到问题。

    您仍可以查看提供的 SysConfig 文件。 可在 TI 系统配置工具中打开该选项、并可检查时钟和 OSPI 属性。

    您能否确保提供的 SysConfig 中的设置与您的配置相匹配?

    最后、我们希望使寄存器值 (MSS 和顶部 RCM) 对齐。