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.

[参考译文] DRA648:J4 (dra649)性能问题

Guru**** 2551170 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/611880/dra648-j4-dra649-performance-issue

器件型号:DRA648

您好专家、

J4上的默认配置为 CPU@1GHz + DRAM@400MHz、但我们发现、使用配置 CPU@900Mhz + DRAM@300MHz 时、性能将提高20%。

听起来不合理、另请参阅随附的文件。

e2e.ti.com/.../CPU_2600_DRAM-Freq-Issue.docx

请帮帮我

-1-

是否可以测量板载 CPU 时钟(例如、是否有任何硬件监控器引脚可用于测量 CPU 时钟)?

-2-

您能否为我们介绍 CPU@1GHz 和 CPU@900Mhz 的寄存器设置(例如 MPU PLL 设置+ PMIC LDO 设置)?

-3-

您能否指导我们如何检查 DRAM 时序参数是否设置正确? 是否有可使用的工具?

此致

Joe

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

    Joe、您好!

    [引用用户="Joe Shen)

    J4上的默认配置为 CPU@1GHz + DRAM@400MHz、但我们发现、使用配置 CPU@900Mhz + DRAM@300MHz 时、性能将提高20%。

    听起来不合理、另请参阅随附的文件。

    [/报价]

    在随附的文档中、CPU 1GHz/DDR 400MHz 的 CPU 负载/使用率更高、因此您定义了性能更低吗?

    [引用 user ="Joe She"]是否可以测量板载 CPU 时钟(例如,是否有任何硬件监控器引脚可用于测量 CPU 时钟)?

    否、我们没有此类引脚。 您可以转储 MPU PLL 寄存器或通过时钟框架检查 MPU_CK、有关详细信息、请参阅下面的 e2e 线程:

    [报价用户="Joe Shan"]您能否指导我们了解 CPU@1GHz 和 CPU@900Mhz 的寄存器设置(例如 MPU PLL 设置+ PMIC LDO 设置)?

    我将为您提供 CPU@1GHz 和 CPU@900MHz 的 MPU PLL 设置示例。 关于 PMIC 设置、我认为1GHz 和900MHz 的设置应该相同、因为在这两种情况下、您都应该处于 OPP166 1.35V。 您可以在我们的 PMIC e2e 论坛中再次查看此内容。

    [报价用户="Joe She">您能否指导我们如何检查 DRAM 时序参数是否设置正确? 是否有可使用的工具?

    DRA64x CDDS 文件夹中有一个 ZIP flle (Centaurus_ddr3_Config_Instructions_v5.zip)。 您可以在此处找到有关 DDR3配置和软件调配的说明。

    此致、
    帕维尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    有关性能的更多信息、请参阅以下链接中提供的 DM814x_DM810x_Performance.pdf 以及下面的 Wiki 页面:

    e2e.ti.com/.../1303617

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

    [报价用户="Joe Shan"]您能否指导我们了解 CPU@1GHz 和 CPU@900Mhz 的寄存器设置(例如 MPU PLL 设置[/报价]

    随 PSP 4.04.00.02一起提供的 U-BOOT-2010.06将 CPU 配置为600MHz、具有以下设置:

    MPUPLL_PWRCTRL/0x481C5048 = 0x0

    MPUPLL_CLKCTRL/0x481C504C = 0x0C11E819

    MPUPLL_TITE/0x481C5050 = 0x0

    MPUPLL_TENABLEDIV/0x481C5054 = 0x0

    MPUPLL_M2NDIV/0x481C5058 = 0x00010001 (M2 = 1、N = 1)

    MPUPLL_MN2DIV/0x481C505C = 0x0000003C (M = 60)

    MPUPLL_FRACDIV/0x481C5060 = 0x0

    MPUPLL_BWCTRL/0x481C5064 = 0x0

    MPUPLL_FRACCTRL/0x481C5068 = 0x0

    MPUPLL_STATUS/0x481C506C = 0x00000630

    MPUPLL_M3DIV/0x481C5070 = 0x00000001

    MPUPLL_RAMPCTRL/0x481C5074 = 0x0


    MPU PLL 输入时钟(CLKINP)为20MHz (dev osc)、输出时钟为600MHz:

    CLKOUT=M/(N+1)* CLKINP * 1/M2 = 600MHz

    对于900MHz 和1GHz、您只应更改 M 值(MPUPLL_MN2DIV):

    对于900MHz、应将 M 设置为90 (MPUPLL_MN2DIV = 0x0000005A)

    对于1GHz、应将 M 设置为100 (MPUPLL_MN2DIV = 0x00000064)



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

    非常感谢。 我将执行更多测试。

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

    我们已经完成了更多测试。
    它显示 CPU@1GHz 时的性能低于 CPU@900Mhz。
    转储 MPU PLL 寄存器后、我们发现在设置 CPU@1GHZ 时会设置"HIGJITTER"位。

    CPU @ 1000
    # in32 0x481C5048
    0x481c5048:0x00000000
    # in32 0x481C504C
    0x481c504c:0x0411e809
    # in32 0x481C5050
    0x481c5050:0x00000000
    # in32 0x481C5054
    0x481c5054:0x00000000
    # in32 0x481C5058
    0x481c5058:0x00010001
    # in32 0x481C505C
    0x481c505c:0x00000064
    # in32 0x481C5060
    0x481c5060:0x00000000
    # in32 0x481C5064
    0x481c5064:0x00000000
    # in32 0x481C5068
    0x481c5068:0x00000000
    # in32 0x481C506C
    0x481c506c:0x00000632
    # in32 0x481C5070
    0x481c5070:0x00000001
    # in32 0x481C5074
    0x481c5074:0x00000000

    我们尝试更改 M、N 值以检查该位(高抖动)是否有改进。
    请给我们一些建议吗?

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

    我们尝试了不同的 M/N/M2参数、但在设置 CPU@1GHz 时、"HICHTER"位始终设置为高电平。
    CPU@900Mhz 上的性能比 CPU@1GHz 增加了大约30%、DDR 是相同的时钟400MHz。
    您能否建议如何调试下一步?

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

    性能测试用例如下:
    -1-
    HMI 显示的时间
    -2-
    运行应用程序后检查 CPU 的负载(BTA 回放)

    CPU@1GHz CPU@900Mhz
    -1- -1-
    13秒 10秒
    -2-
    20% 14%

    我们认为"HIGHJITTER"不是根本原因。
    请帮助评论。

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

    [引用 user="Joe Shen)我们已经完成了更多测试。
    它显示 CPU@1GHz 时的性能低于 CPU@900Mhz。[/引述]

    我还建议您使用音频播放/捕获测试和 EZSDK 5.05.02.00 Cortex-A8 ARM 基准测试进行测试。

    在我提供的 wiki 页面中、DM814x TI EVM 通过音频回放/捕捉测试进行了测试、ARM 频率为600Mhz、DDR3频率为400MHz。

    EZSDK 基准测试可从以下网址获得:

    TI-ezsdk_dm814x-EVM_5_05_02_00/示例应用/AM-Benchmarks-1.1

    [引用 user="Joe Shan"]转储 MPU PLL 寄存器后、我们发现在设置 CPU@1GHZ 时设置了"HICHJITTER"位。[/QUERES]

    我看到您具有与 DM814x EZSDK u-boot 中默认使用的值不同的 NWELLTRIM 值:

    0x481c504c:0x0411e809 -您的值为0x4

    MPUPLL_CLKCTRL/0x481C504C = 0x0C11E819 -在 EZSDK u-boot 中、值为0xC

    您能否从何处获取 MPU PLL 编程序列进行澄清? 您可以用0xC 代替0x4吗?

    确保您与 DRA64x 器件勘误表3.0.5 DPLL_ARM 对齐:CortexTM-A8 MPU DPLL_ARM 重新配置不起作用

    另外、请检查您的 MPU PLL 源时钟(DEVOSC)是否稳定、是否符合 DRA64x DM 要求:

    8.4.1器件(DEV)和辅助(AUX)时钟输入

    另请检查您的 MPU PLL 电源是否符合 DRA64x DM 要求:

    VDDA_ARM_PLL_1P8具有稳定的1.8V

    8.4.8.1 PLL 电源滤波

    此致、
    帕维尔

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

    [引述 USER="Joe Shen)性能测试案例如下:
    -1-
    HMI 显示的时间
    -2-
    运行应用程序后检查 CPU 的负载(BTA 回放)

    CPU@1GHz CPU@900Mhz
    -1--1-
    13秒10秒
    -2-
    20% 14%[/报价]

    我建议使用两种调试方法:

     -在 DM814x TI EVM 上测试您的特定性能测试并检查测试过程

    -在您的 DRA64x 定制板上运行音频和 ARM 基准测试、并检查测试结果

    此致、
    帕维尔

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

    非常感谢您的回复。
    但客户正在 DRA64x 上运行 QNX、您能否在 QNX 上共享基准测试?

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

    遗憾的是、我不熟悉 QNX、只能为 TI SDK 提供帮助。 对于 QNX 特定问题、您可以咨询 QNX 支持团队。 查看以下 QNX 相关链接是否位于帮助中:

    www.ti.com/.../embeddedsoftwarefulldetails.tsp
    www.ti.com/.../companyfolder.tsp

    community.qnx.com/.../TiDra6xxDm811x

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

    非常感谢你的帮助。

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

    按照您的建议将 NWELLTRIM 从0x04更改为0x0C 后、"HIGHJITTER"消失了。
    CPU@1GHz 的性能优于 CPU@900Mhz。
    我们没有找到关于 NWELLTRIM 的详细说明。
    请您向我们介绍 NWELLTRIM 的描述吗?

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

    Joe、

    nwell 修整值与器件行为的特定调谐相关联。 您应该使用默认/复位值、该值针对特定 PLL 进行了最优化。 在 u-boot 和 GEL 文件中、我们不对 MPUPLL_CLKCTRL[28:24] NWELLTRIM 值进行编程、但我们使用复位/默认值(0xC)。

    TRM 中未全面记录该 nwell 修整值、因为您无需更改它。

    此致、
    帕维尔

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

    非常感谢。

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

    更新更多信息。

    当高抖动位置位时、Phraselock 和 Freqlock 被置为高电平
    # in32 0x481C506C //MPUPLL_STATUS 寄存器(偏移= 6Ch)
    0x481c506c:0x00000632

    我们还尝试不同的 M/N 配置、但没有人能正常工作。
    m N CLKINP 平方米 CLKOUT
    100 1 20. 1 1000
    1000 4. 20. 4. 1000
    500 4. 20. 2. 1000
    2000年 4. 20. 8. 1000
    200 1 20. 2. 1000

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

    让您知道、由于 Pavel 是 ooo、答案可能会延迟

    此致
    露西
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Lucy、
    我们目前正在研究建议的答案。
    John
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="Joe Shen)更新更多信息。

    当高抖动位置位时、Phraselock 和 Freqlock 被置为高电平
    # in32 0x481C506C //MPUPLL_STATUS 寄存器(偏移= 6Ch)
    0x481c506c:0x00000632

    我们还尝试不同的 M/N 配置、但没有人能正常工作。
    M N CLKINP M2 CLKOUT
    100 1 20 1 1000
    1000 4 20 4 1000
    500 4 20 2 1000
    2000 4 20 8 1000
    200 1 20 2 1000
    [/报价]

    Joe、


    这里有什么问题? 您能否提供有关您确切需要了解的内容的更多详细信息?

    此致、
    帕维尔

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

    您好 、Pavel、

    您能给我们提供如何禁用 MPU_PLL 的序列吗? 我们尝试即时设置修整值。 如果我们调整 MPU 参数以使 HIGHJITTER 位处于活动状态、则需要禁用 MPU_PLL 并再次进行设置。

    我在 GEL 文件或 u-boot 中找不到禁用序列。

    此致

    Joe

     

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

    您需要首先将 MPU PLL 置于空闲旁路模式。 有关 PLL 编程序列的更多信息、请参阅以下 e2e 线程:

    e2e.ti.com/.../936658
    e2e.ti.com/.../332682

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

    谢谢、我将在 GEL 文件中调用函数 PLL_Clocks_Config
    它包括旁路模式设置

    WR_MEM_32 (Base_Address+CLKCTRL、RD_MEM_32 (Base_Address+CLKCTRL)|0x00800000);
    while ((((RD_MEM_32 (Base_Address+STATUS))和0x00000101)!= 0x00000101);
    WR_MEM_32 (Base_Address+CLKCTRL、RD_MEM_32 (Base_Address+CLKCTRL)& 0xffffffe);

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

    您好、Pavel、

    我使用 GEL 文件来配置 A8_PLL、请帮助进行检查。

    -1-

    使用默认 GEL 文件配置 CPU@1GHz

    N、M、M2 = 1、100、1

    A8PLL_CLKCTRL = 0x0411E809

    A8_PLL_Config (UWORD32 CLKIN、UWORD32 N、UWORD32 M、UWORD32 M2)

    UWORD32 rval_ctrl、ref_clk、clk_out = 0;
    UWORD32 m2nval、mn2val = 0;
    Ref_clk = CLKIN/(N+1);
    CLK_OUT =(ref_clk*M)/M2;

    m2nval =(M2<16)| N;//需要检查 M2的位位置
    mn2val = M;
    WR_MEM_32 (A8PLL_M2NDIV、m2nval);
    WR_MEM_32 (A8PLL_MN2DIV、mn2val);
    WR_MEM_32 (A8PLL_TENABLEDIV、0x1);
    WAIT_DELAY (3);
    WR_MEM_32 (A8PLL_TENABLEDIV、0x0);
    WAIT_DELAY (3);
    WR_MEM_32 (A8PLL_Tenable、0x1);
    WAIT_DELAY (3);
    WR_MEM_32 (A8PLL_Tenable、0x0);
    WAIT_DELAY (3);
    rval_ctrl = RD_MEM_32 (A8PLL_CLKCTRL);
    WR_MEM_32 (A8PLL_CLKCTRL、(rval_ctrl 和0x87ffff)| 0x1);
    while ((((RD_MEM_32 (A8PLL_STATUS))和0x00000600)!= 0x00000600);
    WAIT_DELAY (10);
    CLKOUT = clk_out;

    但它将获得高抖动(A8PLL_STATUS 0x00000632)

    -2-

    首先将 MPU PLL 置于空闲旁路模式、然后使用相同的控制值(A8PLL_CLKCTRL = 0x0411E809)

    N、M、M2 = 1、100、1

    A8_PLL_Config (UWORD32 CLKIN、UWORD32 N、UWORD32 M、UWORD32 M2)

    UWORD32 rval_ctrl、ref_clk、clk_out = 0;
    UWORD32 m2nval、mn2val = 0;
    Ref_clk = CLKIN/(N+1);
    CLK_OUT =(ref_clk*M)/M2;

    WR_MEM_32 (A8PLL_CLKCTRL、RD_MEM_32 (A8PLL_CLKCTRL)|0x00800000);
    while (((RD_MEM_32 (A8PLL_STATUS))& 0x00000101)!= 0x00000101);
    WR_MEM_32 (A8PLL_CLKCTRL、RD_MEM_32 (A8PLL_CLKCTRL)& 0xffffffe);

    m2nval =(M2<16)| N;//需要检查 M2的位位置
    mn2val = M;
    WR_MEM_32 (A8PLL_M2NDIV、m2nval);
    WR_MEM_32 (A8PLL_MN2DIV、mn2val);
    WR_MEM_32 (A8PLL_TENABLEDIV、0x1);
    WAIT_DELAY (3);
    WR_MEM_32 (A8PLL_TENABLEDIV、0x0);
    WAIT_DELAY (3);
    WR_MEM_32 (A8PLL_Tenable、0x1);
    WAIT_DELAY (3);
    WR_MEM_32 (A8PLL_Tenable、0x0);
    WAIT_DELAY (3);
    rval_ctrl = RD_MEM_32 (A8PLL_CLKCTRL);
    GEL_TextOut ("\tA8PLL_CLKCTRL 0x%x \n"、、、、、 rval_ctrl);

    WR_MEM_32 (A8PLL_CLKCTRL、0x0411E809);
    while ((((RD_MEM_32 (A8PLL_STATUS))和0x00000600)!= 0x00000600);
    WAIT_DELAY (10);
    CLKOUT = clk_out;
    GEL_TextOut ("\tA8PLL_STATUS 0x%x \n"、、、、、 RD_MEM_32 (A8PLL_STATUS);

    CortexA8:输出:**** DM8148 MPU ADPLL 初始化正在进行中........
    CortexA8:GEL 输出:A8PLL_CLKCTRL 0x0491E808
    CortexA8:GEL 输出:A8PLL_STATUS 0x00000630
    CortexA8:GEL 输出:A8 ADPLLJ CLKOUT 值= 1000

    高抖动消失了、请帮助您检查序列2。

    此致

    Joe

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

    [引用 user="Joe She"]我使用 GEL 文件配置 A8_PLL,请帮助检查。

    您正使用哪一个 GEL 文件?

    [引用用户="Joe Shen)

    -1-

    使用默认 GEL 文件配置 CPU@1GHz

    N、M、M2 = 1、100、1

    A8PLL_CLKCTRL = 0x0411E809

    A8_PLL_Config (UWORD32 CLKIN、UWORD32 N、UWORD32 M、UWORD32 M2)

    UWORD32 rval_ctrl、ref_clk、clk_out = 0;
    UWORD32 m2nval、mn2val = 0;
    Ref_clk = CLKIN/(N+1);
    CLK_OUT =(ref_clk*M)/M2;

    m2nval =(M2<16)| N;//需要检查 M2的位位置
    mn2val = M;
    WR_MEM_32 (A8PLL_M2NDIV、m2nval);
    WR_MEM_32 (A8PLL_MN2DIV、mn2val);
    WR_MEM_32 (A8PLL_TENABLEDIV、0x1);
    WAIT_DELAY (3);
    WR_MEM_32 (A8PLL_TENABLEDIV、0x0);
    WAIT_DELAY (3);
    WR_MEM_32 (A8PLL_Tenable、0x1);
    WAIT_DELAY (3);
    WR_MEM_32 (A8PLL_Tenable、0x0);
    WAIT_DELAY (3);
    rval_ctrl = RD_MEM_32 (A8PLL_CLKCTRL);
    WR_MEM_32 (A8PLL_CLKCTRL、(rval_ctrl 和0x87ffff)| 0x1);
    while ((((RD_MEM_32 (A8PLL_STATUS))和0x00000600)!= 0x00000600);
    WAIT_DELAY (10);
    CLKOUT = clk_out;

    但它将获得高抖动(A8PLL_STATUS 0x00000632)

    [/报价]

    请注意、此 GEL 文件函数在器件启动期间使用、而不是动态使用。 在本例中、MPU PLL 默认处于空闲模式。

    高抖动是由 A8PLL_CLKCTRL 值引起的、NEWTRIM 为0x4、位4应为1 (复位值)。

    [引用用户="Joe Shen)

    -2-

    首先将 MPU PLL 置于空闲旁路模式、然后使用相同的控制值(A8PLL_CLKCTRL = 0x0411E809)

    N、M、M2 = 1、100、1

    A8_PLL_Config (UWORD32 CLKIN、UWORD32 N、UWORD32 M、UWORD32 M2)

    UWORD32 rval_ctrl、ref_clk、clk_out = 0;
    UWORD32 m2nval、mn2val = 0;
    Ref_clk = CLKIN/(N+1);
    CLK_OUT =(ref_clk*M)/M2;

    WR_MEM_32 (A8PLL_CLKCTRL、RD_MEM_32 (A8PLL_CLKCTRL)|0x00800000);
    while (((RD_MEM_32 (A8PLL_STATUS))& 0x00000101)!= 0x00000101);
    WR_MEM_32 (A8PLL_CLKCTRL、RD_MEM_32 (A8PLL_CLKCTRL)& 0xffffffe);

    m2nval =(M2<16)| N;//需要检查 M2的位位置
    mn2val = M;
    WR_MEM_32 (A8PLL_M2NDIV、m2nval);
    WR_MEM_32 (A8PLL_MN2DIV、mn2val);
    WR_MEM_32 (A8PLL_TENABLEDIV、0x1);
    WAIT_DELAY (3);
    WR_MEM_32 (A8PLL_TENABLEDIV、0x0);
    WAIT_DELAY (3);
    WR_MEM_32 (A8PLL_Tenable、0x1);
    WAIT_DELAY (3);
    WR_MEM_32 (A8PLL_Tenable、0x0);
    WAIT_DELAY (3);
    rval_ctrl = RD_MEM_32 (A8PLL_CLKCTRL);
    GEL_TextOut ("\tA8PLL_CLKCTRL 0x%x \n"、、、、、 rval_ctrl);

    WR_MEM_32 (A8PLL_CLKCTRL、0x0411E809);
    while ((((RD_MEM_32 (A8PLL_STATUS))和0x00000600)!= 0x00000600);
    WAIT_DELAY (10);
    CLKOUT = clk_out;
    GEL_TextOut ("\tA8PLL_STATUS 0x%x \n"、、、、、 RD_MEM_32 (A8PLL_STATUS);

    CortexA8:输出:**** DM8148 MPU ADPLL 初始化正在进行中........
    CortexA8:GEL 输出:A8PLL_CLKCTRL 0x0491E808
    CortexA8:GEL 输出:A8PLL_STATUS 0x00000630
    CortexA8:GEL 输出:A8 ADPLLJ CLKOUT 值= 1000

    高抖动消失了、请帮助您检查序列2。

    [/报价]

    在进行动态更改时看起来是正确的。 只有 CLKCTRL 值可能会导致问题、请参阅我上面有关 CLKCTRL 值的注释。

    此致、
    帕维尔

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

    我正在使用"ccsv7\ccs_base\emulation\boards\dm814x_evm\gel\DM8148_evm.gel"文件执行此测试。
    eMMC 中没有软件。 我在下面的步骤中单独执行了2个案例。

    -关闭设备电源并打开设备电源
    -附加 MPU 并加载 GEL 文件
    -运行"DM8148独立 PLL 配置-> MPU_PLLCONFIG"

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

    [引用 user="Joe Shen]我使用"ccsv7\ccs_base\emulation\boards\dm814x_evm\gel\DM8148_evm.gel"文件来执行此测试。
    eMMC 中没有软件。 我在下面的步骤中单独执行了2个案例。

    -关闭设备电源并打开设备电源
    -附加 MPU 并加载 GEL 文件
    -运行"DM8148独立 PLL 配置-> MPU_PLLCONFIG "

    这看起来是正确的