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.

[参考译文] TDA2EG-17:TDA2EG-17 使用 TDA2Ex 构建配置时的引导问题。

Guru**** 2794765 points

Other Parts Discussed in Thread: TDA2EG-17, LP873220

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1606323/tda2eg-17-tda2eg-17-boot-issue-with-tda2ex-build-configuration

器件型号: TDA2EG-17
主题中讨论的其他器件: TDA2LP873220

您好、专家

我们在定制的电路板上遇到 SBL 引导问题、怀疑这可能是由 TDA2 ROM 代码和 VISION SDK (SBL) 之间的软件兼容问题引起的。 我们发现 TDA2EG-17 即使带有 TDA2xx SBL、也可以引导、但可能不会使用 TDA2ex SBL 引导。

*测试环境

  1. processor_sdk_vision_03_08_00_0/processor_sdk_vision_03_07_xx_x  
  2. 具有 SD SBL 引导的客户化电路板 (MLO+Appimage)
  3. 器件型号 TDA2EGBHQCBDQ1  

*如何检查引导状态?

  1. UART 1 日志输出

*Test Case_1.

按照 VISION SDK Linux 用户指南、我们为 TDA2EGBHQCBDQ1 编译 SBL、Rules.make 中的关键参数如下所示。

MAKECONFIG?=tda2ex_evm_bios_all

然后将 MLO 从该路径复制到 SD

/home/gibbs/work/TDA2EG-17/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/binaries/apps/tda2ex_evm_bios_all/sbl/sd/opp_nom/tda2ex-evm/MLO

测试结果、我们无法看到 uart1 中的任何日志

*测试用例_2.

按照 VISION SDK Linux 用户指南、我们为 TDA2EGBHQCBDQ1 编译 SBL、Rules.make 中的关键参数如下所示。

MAKECONFIG?=tda2xx_evm_bios_all

然后将 MLO 从该路径复制到 SD

/home/gibbs/work/TDA2EG-17/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/binaries/apps/tda2xx_evm_bios_all/sbl/sd/opp_nom/tda2xx-evm/MLO

测试结果、我们可以看到引导日志、即使它仍然有一些错误。

停在“SBL initial configure failed(SBL 初始配置失败)“位置、我认为预计会出现此错误、因为不同的 TDA2 器件具有不同的电压轨设置。

image.png

以下是一些问题、

(1) 器件型号 TDA2EGBHQCBDQ1 = TDA2EG-17 吗?

(2) 此处是两个不同的批次代码:TDA2EGBHQCBDQ1。 客户声称批次代码 69P16CQ 可以在定制电路板上引导、但 26P1N8Q 无法引导。 它们是否都具有相同的 ROM 代码版本?

   

(3) 为什么 TDA2xx SBL 可以在 TDA2EX (TDA2EGBHQCBDQ1) 器件上运行?

(4) 据我所知、SDK_VISION_03_08_00_0 是最新版本、但对我来说不起作用。 我们是否有此问题的相关问题软件补丁?

(4) 是否有任何调试建议?

非常感谢

Gibbs

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

    您好:
    由于地区假期、我们一半的团队目前已离职。 请预计回复将延迟 2 天。 我们感谢您的耐心等待。

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

    谢谢 Christina、

    更新相关主题、

    [更新 1]

    我在两个月前发现客户发布了此问题。

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1592446/tda2eg-17-require-ti-secure-tool-for-making-the-signed-mlo?tisearch=e2e-sitesearch&keymatch=tda2eG%2525252017%25252520SECURE%25252520BOOT#

    我认为它不是安全器件。

    [更新 2]

    TDA2EGBHQCBDQ1 属于 SR2.1(器件版本)、但我发现“Errata K version“没有针对 SR 2.1 的任何更新

    SR2.0 和 SR2.1 有何不同?  

    https://www.ti.com/lit/er/sprz397k/sprz397k.pdf?ts = 1768543357590 &ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FTDA2EG-17%253FkeyMatch%253Dtda2%2526tisearch%253Duniversal_search%2526usecase%253Dpartmatches

    [更新 3]

    我怀疑版本 “processor_sdk_vision_03_08_00_0"不“不会为 SR2.1 添加软件补丁。 这可能会导致设置电压轨故障。

    您能否确认它是否需要 SR2.1 修补程序?

    谢谢你。

    Gibbs  

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

    TI 专家、您好

    我可以有你的建议吗?

    谢谢你。

    Gibbs

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

    您好、Gibbs、

    我们将在本周查看您的主题。

    -Josue

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

    Gibbs

    根据 这个注释、如果我理解正确、您实际引导的是这些器件之一、但不是其他器件?

    [报价 userid=“533255" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1606323/tda2eg-17-tda2eg-17-boot-issue-with-tda2ex-build-configuration

    这是两个不同的批次代码:TDA2EGBHQCBDQ1。 客户声称批次代码 69P16CQ 可以在定制电路板上引导、但 26P1N8Q 无法引导。 它们是否都具有相同的 ROM 代码版本?

       

    [/报价]

    它们都是 TDAEG B HQCBDQ1、唯一的区别是批号?

    其次、您能否检查这两个器件的 DIE_ID、JTAG ID 和 AVS 电子保险丝值?

    -Josue

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

    嗨、Josue

    感谢您的答复。

    我还更喜欢 从寄存器读取中转储 IE_ID、JTAG ID 和 AVS EFuse、但定制的电路板上仍然存在 JTAG 连接问题。 因此,根据当前状态,它只支持带 SBL 的 SD 引导,然后 在代码中使用“printf 函数“(SBLLibPrintf) 进行调试。

    这里是一些调试更新。

    (1) 客户的电路板可使用“OPP NOM“SBL 二进制文件进行引导、但我们仍面临一些初始化失败问题。 构建(引导)二进制路径如下所示、

    /home/gibbs/work/TDA2EG-17/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/binaries/apps/tda2ex_evm_bios_all/sbl/sd/opp_nom/tda2ex-evm/MLO

    (2) 我认为 SBL 正确的识别器件“TDA2EG-17",“,因为该函数返回“true"如下“如下所示。

    SBLLIB_SILICON_PACKAGE_TYPE_17X17 == SBLLibGetSiliconPackageType()

    (3) 此函数“SBLUtilsConfigAllVoltageRails (oppId)“初始失败、我在“ABB LDO FBB 设置“中发现引导崩溃、代码崩溃位置如下所示。

            /*
             * Set ABB LDO FBB mode.
             */
            SBLLibPrintf(SBLLIB_TRACE_LEVEL_IMP_INFO, "\n[Gibbs][pmhal_vm.c] Set ABB LDO FBB mode\n");
            HW_WR_FIELD32(opp->prmABBLDOSetupRegAddr,
                          PRM_ABBLDO_DSPEVE_SETUP_ACTIVE_FBB_SEL,
                          PRM_ABBLDO_DSPEVE_SETUP_ACTIVE_FBB_SEL_FBB);

    几个问题和支持需求:

    (1) 除了 JTAG 调试外、我们是否还有另一种方法可以  从寄存器中转储 E_ID、JTAG ID 和 AVS EFuse 值? 因为此函数“SBLLibPrintf"仅“仅支持字符串输出和 附加参数。

    (2) 客户将 LP87332 和 LP873220 用于 PMIC 电源、此设计是否适用于 PROCESSOR_SDK_VISION_03_08_00_0 默认代码设置? 是否有任何修改要求?

    (4) 我认为 PMIC I2C 通信应该可以正常工作、因为我发现 PMIC 函数寄存器可以、代码如下

    它返回成功。

            if(SBLLIB_SILICON_PACKAGE_TYPE_17X17 == SBLLibGetSiliconPackageType())
        {
            /* This is J6Eco 17X17 Evm. PMIC used is LP8733/32.
             * Register the regulator map as connected on J6Eco 17X17 Evm.
             */
            SBLLibPrintf(SBLLIB_TRACE_LEVEL_IMP_INFO, "\n[Gibbs][sbl_utils_tda2xx.c] detect silicon is ACKAGE_TYPE_17X17 \n");
            SBLLibPrintf(SBLLIB_TRACE_LEVEL_IMP_INFO, "\n[Gibbs][sbl_utils_tda2xx.c] SBLUtilsConfigAllVoltageRails()->pmicOps = PMHALLP8733GetPMICOps()\n"); 
            PMHALLP8733ConfigureRegulatorMap(gJ6Eco17x17LP8733RegulatorTable);
            pmicOps = PMHALLP8733GetPMICOps();
    
            //Gibbs
            //pmicOps->isPresent();
       
        }
        
        
        retVal = PMHALPmicRegister(pmicOps);
        if(retVal == PM_SUCCESS){
            SBLLibPrintf(SBLLIB_TRACE_LEVEL_IMP_INFO, "\n[Gibbs][sbl_utils_tda2xx.c] PMHALPmicRegister() ok\n");
        }else{
            SBLLibPrintf(SBLLIB_TRACE_LEVEL_IMP_INFO, "\n[Gibbs][sbl_utils_tda2xx.c] PMHALPmicRegister() failed\n");
        }

    谢谢你。

    Gibbs

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

    Gibbs

    感谢您的更新。  

    客户的电路板可使用“OPP Ak“ SBL 二进制文件进行引导、但我们仍面临一些初始化失败的问题。 构建(引导)二进制路径如下、

    现在、两个批次都在引导吗?

    一个是否比另一个更远?

    我认为 SBL 正确识别器件“TDA2EG-17",“,因为此函数返回“true"如下“如下所示。

    同样的问题从上面.. 这是否适用于两个批次? 如果是、则 SW 没有问题  

    关于您的问题:

    (一)我必须去看看,然后回到你身边。

    (3 和 4) 应该没问题。 请参阅我找到的以下应用手册: 为 DRA71x、DRA79x 和 TDA2E-17 供电的 LP8733-Q1 和 LP8732-Q1 用户指南

    stop in “SBL initial configure failed。“、我认为预计会出现此错误、因为不同的 TDA2 器件具有不同的电压轨设置。

    这是您获得的唯一照片吗?

    这是一个新的启动吗? 您有工作设置吗?

    -Josue

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

    嗨、 Josue

    回复如下。

    Q1/A1: 一个比另一个更远吗?  现在、两个批次都在引导吗?  

    客户声称他们在其定制电路板上不进行任何硬件和软件设计更改、因此唯一的不同是 TDA2“批次代码“。

    客户使用  rocker_sdk_vision_03_07_x、它可以在批次代码“69P16CQ  “上引导、但它“无法“引导批次代码“26P1N8Q"</s>“

    因为我怀疑 TDA2 ROM 代码和 VISION SDK 之间可能存在“软件兼容问题“、所以我尝试更新到最新的 SDK 版本 (rocter_sdk_vision_03_08_x) 进行测试。

    我只 对 rocker_sdk_vision_03_08_x 和 批次代码“26P1N8Q"进行“进行启动测试。 我尝试在代码中添加一些打印函数、然后它启动、甚至引导仍然最终崩溃。

      我认为、在我尝试比较这两个不同的版本后、SBL 源代码在 SDK_VISION_03_07_x 和 SDK_VISION_03_08_x 之间没有太大不同。

    Q2/A2: 这是您唯一获得的照片吗?

    分享一些代码,我修改之前(作为附件),你只能看到添加“SBLLibPrintf"</s>“

    抱歉、因为 JTAG 不工作、所以我使用打印功能来诊断问题。

    e2e.ti.com/.../tda2eg_5F00_test_5F00_code.tgz

    引导日志如下所示,引导崩溃可能在“PMHALVMInitABB()“函数中,到目前为止我不知道。

    您可以搜索关键字“Gibbs"来“来跟踪这些日志。

    程序在该字符串“[Gibbs][pmhal_vm.c]设置 ABB LDO FBB 模式“中停止(崩溃)。

    Welcome to minicom 2.7.1
    
    OPTIONS: I18n 
    Compiled on Dec 23 2019, 02:06:26.
    Port /dev/ttyUSB0, 11:50:44
    
    Press CTRL-A Z for help on special keys
    
    ��
    [Gibbs][sbl_tda2ex_main.c] TDA2EX UART1_INST INIT
    
    [Gibbs][sbl_tda2ex_main.c] This project is define SOC_TDA2EX
    
    [Gibbs][sbl_tda2ex_main.c] sblBuildMode = SBLLIB_SBL_BUILD_MODE_DEV
    
    [Gibbs][sbl_tda2ex_main.c] ARM_CCNT_Enable, reset PMU CLOCK counter
    
    [Gibbs][sbl_tda2xx_priv.c] In function SBLGetOppId()
    
    [Gibbs][sbl_tda2xx_priv.c] In function SBLGetOppId not define SOC_TDA2XX
    
    [Gibbs][sbl_tda2xx_priv.c] In function SBLGetOppId, oppId = SBLLIB_PRCM_DPLL_OPP_NOM
    
    [Gibbs][sbl_tda2ex_main.c] SBLUtilsConfigAllVoltageRails()
    
    [Gibbs][sbl_utils_tda2xx.c] Enter SBLUtilsConfigAllVoltageRails()
    
    [Gibbs][sbl_utils_tda2xx.c] SBLUtilsConfigAllVoltageRails()->stuff vdInfo_tda2ex
    
    [Gibbs][sbl_utils_tda2xx.c] SBLUtilsConfigAllVoltageRails()->stuff vdInfo_tda2ex_17x17
    
    [Gibbs][sbl_utils_tda2xx.c] SBLUtilsConfigAllVoltageRails()->PMHALI2CCommRegister()
    
    [Gibbs][sbl_utils_tda2xx.c] detect silicon is ACKAGE_TYPE_17X17 
    
    [Gibbs][sbl_utils_tda2xx.c] SBLUtilsConfigAllVoltageRails()->pmicOps = PMHALLP8733GetPMICOps()
    
    [Gibbs][pmhal_lp8733.c] PMHALLP8733ConfigureRegulatorMap()
    
    [Gibbs][pmhal_lp8733.c] PMHALLP8733GetPMICOps()
    
    [Gibbs][pmhal_lp8733.c] PMHALLP8733IsPresent()
    
    [Gibbs][pmhal_lp8733.c] PMHALLP8733GetVendorId()
    
    [Gibbs][pmhal_lp8733.c] PMHALLP8733GetProductId()
    
    [Gibbs][sbl_utils_tda2xx.c] PMHALPmicRegister() ok
    
    [Gibbs][pmhal_lp8733.c] PMHALLP8733GetRevision()
    
    [Gibbs][pmhal_lp8733.c] PMHALPmicCommConfigure() success
    
    [Gibbs][pmhal_lp8733.c] PmhalLP8733ReadPhyAddr()
    
    [Gibbs][pmhal_lp8733.c] PPmhalLP8733ReadPhyAddr() success
    
    [Gibbs][sbl_utils_tda2xx.c] Get the VD rail info based on the current board
    
    [Gibbs][sbl_utils_tda2xx.c] defined SOC_TDA2EX
    
    [Gibbs][sbl_utils_tda2xx.c] detect silicon is ACKAGE_TYPE_17X17 
    
    [Gibbs][sbl_utils_tda2xx.c] In SBLUtilsConfigAllVoltageRails()->vdInfoObj = &vdInfo_tda2ex_17x17
    
    [Gibbs][sbl_utils_tda2xx.c] In for loop configure vdInfoObj[0].gangId
    
    [Gibbs][sbl_utils_tda2xx.c] retVal = PM_SUCCESS
    
    [Gibbs][sbl_utils_tda2xx.c] In for loop configure vdInfoObj[1].gangId
    
    [Gibbs][sbl_utils_tda2xx.c] retVal = PM_SUCCESS
    
    [Gibbs][sbl_utils_tda2xx.c] In for loop configure vdInfoObj[2].gangId
    
    [Gibbs][sbl_utils_tda2xx.c] retVal = PM_SUCCESS
    
    [Gibbs][sbl_utils_tda2xx.c] In for loop configure vdInfoObj[3].gangId
    
    [Gibbs][sbl_utils_tda2xx.c] retVal = PM_SUCCESS
    
    [Gibbs][sbl_utils_tda2xx.c] In for loop configure vdInfoObj[4].gangId
    
    [Gibbs][sbl_utils_tda2xx.c] retVal = PM_SUCCESS
    
    [Gibbs][sbl_utils_tda2xx.c] ENTER_11
    
    [Gibbs][sbl_utils_tda2xx.c] ENTER_12
    
    [Gibbs][sbl_utils_tda2xx.c] ENTER_13
    
    [Gibbs][sbl_utils_tda2xx.c] ENTER_14
    
    [Gibbs][sbl_utils_tda2xx.c] ENTER_13
    
    [Gibbs][sbl_utils_tda2xx.c] ENTER_14
    
    [Gibbs][sbl_utils_tda2xx.c] ENTER_13
    
    [Gibbs][sbl_utils_tda2xx.c] ENTER_13
    
    [Gibbs][sbl_utils_tda2xx.c] ENTER_13
    
    [Gibbs][sbl_utils_tda2xx.c] ENTER_14
    
    [Gibbs][sbl_utils_tda2xx.c] ENTER_15
    
    [Gibbs][sbl_utils_tda2xx.c] ENTER_16
    
    [Gibbs][sbl_utils_tda2xx.c] enter SblUtilsConfigGangedVdRails()
    
    [Gibbs][sbl_utils_tda2xx.c] configOpp = PMHAL_VM_OPP_NOM
    
    [Gibbs][sbl_utils_tda2xx.c] PMHALVMGetAVS0EfuseVoltage()
    
    [Gibbs][sbl_utils_tda2xx.c] PMHALVMGetAVS0EfuseVoltage()
    
    [Gibbs][sbl_utils_tda2xx.c] PMHALVMGetAVS0EfuseVoltage()
    
    [Gibbs][pmhal_vm.c] pmhalVmGetOppVoltage() start
    
    [Gibbs][pmhal_vm.c] PMHALVMGetAVS0EfuseVoltage() ok 
    
    [Gibbs][pmhal_lp8733.c] PMHALLP8733GetRegulatorVoltage()
    
    [Gibbs][pmhal_lp8733.c] PPmhalLP8733CheckRegulatorEnabled()
    
    [Gibbs][pmhal_lp8733.c] PmhalLP8733ReadPhyAddr()
    
    [Gibbs][pmhal_lp8733.c] PmhalLP8733ReadPhyAddr()
    
    [Gibbs][pmhal_lp8733.c] PmhalLP8733VselOffsetToVoltage()
    
    [Gibbs][pmhal_vm.c] PPMHALVMGetCurrentVoltage() ok 
    
    [Gibbs][pmhal_vm.c] isABBSupported == TRUE 
    
    [Gibbs][pmhal_vm.c] PMHALPmicSetRegulatorVoltage() 
    
    [Gibbs][pmhal_lp8733.c] PMHALLP8733SetRegulatorVoltage()
    
    [Gibbs][pmhal_lp8733.c] PMHALLP8733EnableRegulator()
    
    [Gibbs][pmhal_lp8733.c] PPmhalLP8733CheckRegulatorEnabled()
    
    [Gibbs][pmhal_lp8733.c] PmhalLP8733ReadPhyAddr()
    
    [Gibbs][pmhal_lp8733.c] PPmhalLP8733CheckRegulatorEnabled()
    
    [Gibbs][pmhal_lp8733.c] PmhalLP8733ReadPhyAddr()
    
    [Gibbs][pmhal_lp8733.c] PmhalLP8733VoltageToVselOffset()
    
    [Gibbs][pmhal_lp8733.c] PmhalLP8733WritePhyAddr()
    
    [Gibbs][pmhal_lp8733.c] PmhalLP8733VselOffsetToVoltage()
    
    [Gibbs][pmhal_lp8733.c] PMHALLP8733GetRegulatorVoltage()
    
    [Gibbs][pmhal_lp8733.c] PPmhalLP8733CheckRegulatorEnabled()
    
    [Gibbs][pmhal_lp8733.c] PmhalLP8733ReadPhyAddr()
    
    [Gibbs][pmhal_lp8733.c] PmhalLP8733ReadPhyAddr()
    
    [Gibbs][pmhal_lp8733.c] PmhalLP8733VselOffsetToVoltage()
    
    [Gibbs][sbl_utils_tda2xx.c] PPMHALVMSetOpp() success
    
    [Gibbs][sbl_utils_tda2xx.c]PMHALVMEnableABB() start
    
    [Gibbs][pmhal_vm.c] PMHALVMEnableABB() -> PmhalVmGetVoltageDomai() 
    
    [Gibbs][pmhal_vm.c] PMHALVMEnableABB() -> PmhalVmGetOppVoltage() 
    
    [Gibbs][pmhal_vm.c] PMHALVMEnableABB() -> PMHALVMInitABB() 
    
    [Gibbs][pmhal_vm.c] Clear retVal of PRCM interrupt for ABB LDO transition completion
    
    [Gibbs][pmhal_vm.c] Set ABB LDO FBB mode
    

    非常感谢

    Gibbs

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

    嗨、 Josue

    这是一个更新。

    我解决了 JTAG 连接失败的问题、即接线问题。

    我尝试转储一些寄存器、ref 如下所示。  (例如 DIE_ID)

     \

    SR 2.1 版本、

    如果您需要更多有关寄存器的信息、请告诉我。

    谢谢你。

    Gibbs

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

    谢谢 Gibbs。 本周我会介绍一下。

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

    感谢 Jouse 的支持

    调试正在进行、这是调试状态更新。

    我使用 CCS 进行调试、录制内容如下。

    youtu.be/w_MY5LeW_Rw

    本视频展示了一些线索、

    (1) 我们使用 JTAG 动态加载/运行 SBL、即使我们仍然发现 SBL 配置 初始化失败、SBL 引导似乎完全完成。

    (2) SBL 从 SD 引导、SBL 在设置 ABB LDO FBB 模式下崩溃   

    Gibbs

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

    Gibbs

    在视频中、在第 8 个视频中、您只需点击不希望使用 GEL 文件初始化的所有内核的“bypase"选项“选项。

    您可以在所有内核中试用吗? 看看这是否有作用?  

    因此、如果我理解正确、可以一直引导的器件型号是包含批次代码的器件  8. 9P16CQ? (我们的团队在内部进行了检查,以 6 开头的批次代码不存在)。

    此外、我认为 ROM 代码没有任何区别、因此这不是问题。

    您能分享成功启动批次代码的日志吗  8. 9P16CQ?

    -Josue

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

    Gibbs

    那么、在多少个器件中、只有两个器件发生故障? 您的故障率是多少?

    另外、您能解释一下您在这里的意思吗?  

    我是否可以说 SoC 上没有哪一个具有 ROM 代码的问题?  因此、我们需要专用的调试板 PCBA(原理图)或 SBL 源代码?

    在这里的问题中、我没有遵循逻辑。

    此外、您是否断言这些故障仅在 JTAG 加载期间发生、而不是在 SD 引导期间发生?

    -Josue

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

    您好、Gibbs、

    非常感谢你的总结,这是非常清楚的现在。

    我正在与硬件团队合作来检查这一点。  

    事实上、这在硬件与软件问题的其他零件型号点都可以正常工作、但在这一点上很难肯定地说。  

    客户仅使用两个批次代码吗? 他们是否可以共享其他设备的工作日志?

    -Josue

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

    您好、Gibbs、

    我将与我们的团队协商并汇报工作。

    故障率是多少? 仅此批次代码的 100%? 1-2 器件?

    -Josue

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

    您好、Gibbs、

    仍在等待上面您的一些反馈:

    1. 故障率是多少? 仅此批次代码的 100%? 1-2 个器件?
    • 客户仅使用两个批次代码吗? 他们是否可以共享其他设备的工作日志?

    无论如何、我听到了硬件团队和 ABB 的反馈 CAN 被禁用。  

    您是否可以在获得有效样本后比较以下内容:

    可以比较这些寄存器吗:

     如果 CTRL_CORE_STD_FUSE_VMIN_xxx_y[24:20] VSETBB 位 设置为 0x1、则可以从 CTRL_CORE_STD_FUSE_VMIN_xxx_y[25] ABBEN 位读取 ABB LDO 目标值。

    ABBEN 定义是否应使用 ABB、这取决于特定的 OPP 和电压域。

    -Josue

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

    吉布斯很棒!  

    我想您找到了根本原因 — 电路板发生了变化。 移除 eMMC/OSPI 可能会影响电路板电力输送和/或 ABB LDO 外部元件... 我认为这需要客户进行电力输送研究。

    (1) 就您的问题而言、没有一个寄存器、我认为这是在 ti_components/drivers/pdk_01_10_04_05/packages/ti/drv/pm/pmhal/prcm/V0/hw_pmhal_vmdata.c 下结构中的代码中静态设置的 src

    (2) 是、但仅适用于射线选项和电压域。 阅读以上文件。

    它会检查该值:

    我相信您会在这里禁用这些功能。 请查看以下补丁并应用。 应用顶层方向的补丁 processor_sdk_vision_03_08_00_00

    e2e.ti.com/.../disable_5F00_abb_5F00_tda2ex.patch

    重新编译并测试。

    希望这可以让它们开始运行。

    此致、

    Josue

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

    谢谢你 Jouse,

    我们使用这个补丁进行测试、并持续监控它是否有任何副作用。

    Gibbs

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

    听起来不错、请随时更新。  

    注意: 如果此答案解决了您的问题、请将帖子标记为“已回答“

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

    您好 Josue、

    我应用了您的补丁、但系统仍然无法引导。
    在那之后、我遵循了吉布斯的建议、它现在正在运作。
    您能告诉我应该如何进行调试吗?
    非常感谢。

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

    尊敬的 Kevin:

    我试图禁用这个 ABB 设置,而没有评论掉整个功能,就像在 Gibbs 补丁. 似乎我没有这样做。  

    Gibbs 补丁也应该工作正常。  

    如果他的补丁对你有效,那么你可以保留这个。 此功能不是必需的、我认为它不会对您的功能产生太大影响。

    请参阅我之前的评论:

    无论如何、我已经听到了硬件团队和 ABB 的反馈 CAN 被禁用。  [/报价]

    你见过任何副作用吗?

    -Josue

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

    它目前正在正常工作。

    谢谢您、

    Kevin Hsu

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

    尊敬的 Kevin:

    我看到我共享的第一个修补程序失败的原因、SBL 直接调用 PMHALVMEnableABB ()。

    第 2493 行的文件 sbl_utils_tda2xx.c。 我的第一个解决方案是假设 isABBSupported 检查就足够了。 我认为 Gibbs 的修补程序工作的事实证实了这个函数被调用仍然像我发现的。

    如果您想尝试另一个补丁、请尝试以下补丁: disable_abb_tda2ex_v2、忽略第一个补丁。

    与 Gibbs 补丁的唯一区别是、这一个补丁将返回 PM_SUCCESS、而不是返回 PM_TIMEOUT、从而减少了道路上的任何问题。 我认为唯一的问题可能只是一个错误代码。  

    您是否看到当前正常工作的修补程序出现任何错误打印?  

    -Josue

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

    您好 Josue、

    我无法下载 V2 补丁

    但我修改代码与你的命令,它成功地消除了错误按摩

    非常感谢~

    Kevin Hsu

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

    很高兴听到这个问题的解决!

    很抱歉该补丁!

    再试一次: e2e.ti.com/.../disable_5F00_abb_5F00_tda2ex_5F00_v2.patch

    -Josue