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.

[参考译文] LPDDR4初始化永远等待

Guru**** 2393725 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1496124/lpddr4-init-waits-forever

器件型号:AM64x-SK

工具与软件:

您好、TI:


我正在尝试初始化 am64x-SK 上的 LPDDR4 RAM。 我已 根据文档将开关设置为以下引导模式:

开发引导模式

AM64X-EVM

此模式与 load_dmsc_hsfs.js 此处所述的 脚本"SOC Initialization using CCS Scripting"(使用 CCS 脚本执行 SOC 初始化)结合使用、

引导模式[ 0:7 ](SW2)= 1101 1110
BOOTMODE [ 8:15 ](SW3)= 0000 0000


我得到了这样的输出:

MAIN_Cortex_R5_0_0: Device Type is HSFS
MAIN_Cortex_R5_0_0: Running from R5 or A53
MAIN_Cortex_R5_0_0: Device Type is HSFS
MAIN_Cortex_R5_0_0: Running from R5 or A53
MAIN_Cortex_R5_0_0: Running from R5
MAIN_Cortex_R5_0_0: 

DDR not initialized with R5 connect.

Go to menu Scripts --> AM64 DDR Initialization -> AM64_DDR_Initialization_ECC_Disabled to initialize DDR.

====


MAIN_Cortex_R5_0_0: --->>> LPDDR4 Initialization is in progress ... <<<---
MAIN_Cortex_R5_0_0: --->>> ECC Enabled <<<---
MAIN_Cortex_R5_0_0: --->>> After priming ECC memory, enable ECC_CK bit with hotmenu AM64 DDR Memory config --> Enable_TI_InlineECC_CK_During_Reads()<<<---
MAIN_Cortex_R5_0_0: --->>> DDR controller programming in progress.. <<<---
MAIN_Cortex_R5_0_0: --->>> DDR controller programming completed... <<<---
MAIN_Cortex_R5_0_0: --->>> DDR PI programming in progress.. <<<---
MAIN_Cortex_R5_0_0: --->>> DDR PI programming completed... <<<---
MAIN_Cortex_R5_0_0: --->>> DDR PHY Data Slice 0 programming in progress.. <<<---
MAIN_Cortex_R5_0_0: --->>> DDR PHY Data Slice 0 programming completed... <<<---
MAIN_Cortex_R5_0_0: --->>> DDR PHY Data Slice 1 programming in progress.. <<<---
MAIN_Cortex_R5_0_0: --->>> DDR PHY Data Slice 1 programming completed... <<<---
MAIN_Cortex_R5_0_0: --->>> DDR PHY Address Slice 0 programming in progress.. <<<---
MAIN_Cortex_R5_0_0: --->>> DDR PHY Data Slice 2 programming completed... <<<---
MAIN_Cortex_R5_0_0: --->>> DDR PHY Address Slice 1 programming in progress.. <<<---
MAIN_Cortex_R5_0_0: --->>> DDR PHY Address Slice 1 programming completed... <<<---
MAIN_Cortex_R5_0_0: --->>> DDR PHY Address slice 2 programming in progress.. <<<---
MAIN_Cortex_R5_0_0: --->>> DDR PHY Address Slice 2 programming completed... <<<---
MAIN_Cortex_R5_0_0: --->>> DDR PHY programming in progress.. <<<---
MAIN_Cortex_R5_0_0: --->>> Set PHY registers for all FSPs simultaneously (multicast)... <<<---
MAIN_Cortex_R5_0_0: --->>> DDR PHY programming completed... <<<---
MAIN_Cortex_R5_0_0: Running from R5 or A53
MAIN_Cortex_R5_0_0: Debugging enabled
MAIN_Cortex_R5_0_0: Setting MAIN_PLL12_HSDIV0_CLKOUT_25MHz
MAIN_Cortex_R5_0_0: hsdiv_value: 63
MAIN_Cortex_R5_0_0: HSDIV reset asserted
MAIN_Cortex_R5_0_0: HSDIV divider value programmed.
MAIN_Cortex_R5_0_0: HSDIV reset de-asserted
MAIN_Cortex_R5_0_0: MAIN_PLL12_HSDIV0_CLKOUT set.
MAIN_Cortex_R5_0_0: --->>> Set DDR PLL to 25MHz for FSP F0... <<<---
MAIN_Cortex_R5_0_0: Triggering start bit from PI...
MAIN_Cortex_R5_0_0: --->>> DDR PI initialization started... <<<---
MAIN_Cortex_R5_0_0: Triggering start bit from CTL...
MAIN_Cortex_R5_0_0: --->>> DDR CTL initialization started... <<<---
MAIN_Cortex_R5_0_0: --->>> Inside DDR_Change_freq_ack function ... <<<---
MAIN_Cortex_R5_0_0: --->>> Waiting for first frequency change request ... <<<---



它一直在等待,而不是工作。  

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

    之前您是否运行了 dmsc 脚本、如本节 https://software-dl.ti.com/mcu-plus-sdk/esd/AM64X/10_00_00_20/exports/docs/api_guide_am64x/EVM_SETUP_PAGE.html#EVM_SOC_INIT_NOBOOT_MODE:~:text=updated%20environment%20variable-,Run%20the%20SOC%20Initialization%20Script,-AM64X%2DEVM 中所述

    您是否可以发布脚本工具控制台输出?  您是否还可以发布完整的 CIO 控制台输出?

    此致、

    James

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

    是的、我每次都运行脚本。

    在一个控制台上、我可以看到:

    js:> loadJSFile /home/sahag/ti/mcu_plus_sdk_am64x_09_01_00_41/tools/ccs_load/am64x/load_dmsc_hsfs.js
    Connecting to MCU Cortex_R5_0!
    Writing While(1) for R5F
    Running the board configuration initialization from R5!
    Happy Debugging!!
    


    而在另一个节点:
    DMSC Firmware Version 9.1.6--v09.01.06 (Kool Koala)
    DMSC Firmware revision 0x9
    DMSC ABI revision 3.1
    
    [SCICLIENT] ABI check PASSED 
    [SCICLIENT] Board Configuration with Debug enabled ...
    [SCICLIENT] Common Board Configuration PASSED 
    [SCICLIENT] PM Board Configuration PASSED 
    [SCICLIENT] RM Board Configuration PASSED 
    [SCICLIENT] Security Board Configuration PASSED 
    
    DMSC Firmware Version 9.1.6--v09.01.06 (Kool Koala)
    DMSC Firmware revision 0x9
    DMSC ABI revision 3.1
    
    Starting SOC Initialization ...
    Resetting self cluster ...



    然后、我使用以下配置启动调试会话:
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <configurations XML_version="1.2" id="configurations_0">
        <configuration XML_version="1.2" id="configuration_0">
            <instance XML_version="1.2" desc="Texas Instruments XDS110 USB Debug Probe" href="connections/TIXDS110_Connection.xml" id="Texas Instruments XDS110 USB Debug Probe" xml="TIXDS110_Connection.xml" xmlpath="connections"/>
            <connection XML_version="1.2" id="Texas Instruments XDS110 USB Debug Probe">
                <instance XML_version="1.2" href="drivers/tixds510cs_dap.xml" id="drivers" xml="tixds510cs_dap.xml" xmlpath="drivers"/>
                <instance XML_version="1.2" href="drivers/tixds510cortexA53.xml" id="drivers" xml="tixds510cortexA53.xml" xmlpath="drivers"/>
                <instance XML_version="1.2" href="drivers/tixds510cortexR.xml" id="drivers" xml="tixds510cortexR.xml" xmlpath="drivers"/>
                <instance XML_version="1.2" href="drivers/tixds510cortexM.xml" id="drivers" xml="tixds510cortexM.xml" xmlpath="drivers"/>
                <instance XML_version="1.2" href="drivers/tixds510pru.xml" id="drivers" xml="tixds510pru.xml" xmlpath="drivers"/>
                <instance XML_version="1.2" href="drivers/tixds510csstm.xml" id="drivers" xml="tixds510csstm.xml" xmlpath="drivers"/>
                <instance XML_version="1.2" href="drivers/tixds510ctset2.xml" id="drivers" xml="tixds510ctset2.xml" xmlpath="drivers"/>
                <instance XML_version="1.2" href="drivers/tixds510etbcs.xml" id="drivers" xml="tixds510etbcs.xml" xmlpath="drivers"/>
                <platform XML_version="1.2" id="platform_0">
                    <instance XML_version="1.2" desc="AM64x_SK_EVM" href="boards/AM64x_SK_EVM.xml" id="AM64x_SK_EVM" xml="AM64x_SK_EVM.xml" xmlpath="boards"/>
                </platform>
            </connection>
        </configuration>
    </configurations>


    我得到以下输出:
    MAIN_Cortex_R5_0_0: Device Type is HSFS
    MAIN_Cortex_R5_0_0: Running from R5 or A53
    MAIN_Cortex_R5_0_0: Device Type is HSFS
    MAIN_Cortex_R5_0_0: Running from R5 or A53
    MAIN_Cortex_R5_0_0: Running from R5
    MAIN_Cortex_R5_0_0: 
    
    DDR not initialized with R5 connect.
    
    Go to menu Scripts --> AM64 DDR Initialization -> AM64_DDR_Initialization_ECC_Disabled to initialize DDR.
    
    ====



    那么我禁用了 ECC 并永远等待:
    MAIN_Cortex_R5_0_0: --->>> LPDDR4 Initialization is in progress ... <<<---
    MAIN_Cortex_R5_0_0: --->>> DDR controller programming in progress.. <<<---
    MAIN_Cortex_R5_0_0: --->>> DDR controller programming completed... <<<---
    MAIN_Cortex_R5_0_0: --->>> DDR PI programming in progress.. <<<---
    MAIN_Cortex_R5_0_0: --->>> DDR PI programming completed... <<<---
    MAIN_Cortex_R5_0_0: --->>> DDR PHY Data Slice 0 programming in progress.. <<<---
    MAIN_Cortex_R5_0_0: --->>> DDR PHY Data Slice 0 programming completed... <<<---
    MAIN_Cortex_R5_0_0: --->>> DDR PHY Data Slice 1 programming in progress.. <<<---
    MAIN_Cortex_R5_0_0: --->>> DDR PHY Data Slice 1 programming completed... <<<---
    MAIN_Cortex_R5_0_0: --->>> DDR PHY Address Slice 0 programming in progress.. <<<---
    MAIN_Cortex_R5_0_0: --->>> DDR PHY Data Slice 2 programming completed... <<<---
    MAIN_Cortex_R5_0_0: --->>> DDR PHY Address Slice 1 programming in progress.. <<<---
    MAIN_Cortex_R5_0_0: --->>> DDR PHY Address Slice 1 programming completed... <<<---
    MAIN_Cortex_R5_0_0: --->>> DDR PHY Address slice 2 programming in progress.. <<<---
    MAIN_Cortex_R5_0_0: --->>> DDR PHY Address Slice 2 programming completed... <<<---
    MAIN_Cortex_R5_0_0: --->>> DDR PHY programming in progress.. <<<---
    MAIN_Cortex_R5_0_0: --->>> Set PHY registers for all FSPs simultaneously (multicast)... <<<---
    MAIN_Cortex_R5_0_0: --->>> DDR PHY programming completed... <<<---
    MAIN_Cortex_R5_0_0: Running from R5 or A53
    MAIN_Cortex_R5_0_0: Debugging enabled
    MAIN_Cortex_R5_0_0: Setting MAIN_PLL12_HSDIV0_CLKOUT_25MHz
    MAIN_Cortex_R5_0_0: hsdiv_value: 63
    MAIN_Cortex_R5_0_0: HSDIV reset asserted
    MAIN_Cortex_R5_0_0: HSDIV divider value programmed.
    MAIN_Cortex_R5_0_0: HSDIV reset de-asserted
    MAIN_Cortex_R5_0_0: MAIN_PLL12_HSDIV0_CLKOUT set.
    MAIN_Cortex_R5_0_0: --->>> Set DDR PLL to 25MHz for FSP F0... <<<---
    MAIN_Cortex_R5_0_0: Triggering start bit from PI...
    MAIN_Cortex_R5_0_0: --->>> DDR PI initialization started... <<<---
    MAIN_Cortex_R5_0_0: Triggering start bit from CTL...
    MAIN_Cortex_R5_0_0: --->>> DDR CTL initialization started... <<<---
    MAIN_Cortex_R5_0_0: --->>> Inside DDR_Change_freq_ack function ... <<<---
    MAIN_Cortex_R5_0_0: --->>> Waiting for first frequency change request ... <<<---
    

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

    不是很确定发生了什么。  您是否能够在已执行的步骤之后执行此操作:

    -连接到 A53

    -运行脚本->电源睡眠控制器->通过电源域控件复位-> PD_DDRSS_Reset

    -运行 AM64 DDR 初始化->DDR 初始化

    这将初始化电路板上的 LPDDR4。

    此致、

    James