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.

[参考译文] CCS/AM5716:CAN#39;t 在 CCS 中运行 RTOS SBL 项目

Guru**** 2585275 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/629312/ccs-am5716-can-t-run-rtos-sbl-project-in-ccs

器件型号:AM5716

工具/软件:Code Composer Studio

你(们)好

我正在尝试在 CCS 中运行 SDK SBL 项目。 构建和链接运行时不会出现警告和错误(MLO 仅为77kB、而不是268kB、使用"gmake SBL"构建)。 但是、当 eIN 启动项目时、我接收到以下输出:没有可用于"0x3808c"的源代码。

在控制台输出之后:

Cortex_M4_IPU1_C0:GEL 输出:->>>AM571x Cortex M4启动序列正在进行中... <<<--
Cortex_M4_IPU1_C0:GEL 输出:-->>AM571x Cortex M4启动序列完成! <<<--
Cortex_M4_IPU1_C1:GEL 输出:->>>AM571x Cortex M4启动序列正在进行中... <<<--
Cortex_M4_IPU1_C1:GEL 输出:->>>AM571x Cortex M4启动序列完成! <<<--
C66xx_DSP:GEL 输出:->>>AM571x C66x DSP 启动序列正在进行中... <<<--
C66xx_DSP:GEL 输出:-->>AM571x C66x DSP 启动序列完成! <<<--
CortexA15_0:GEL 输出:-->>AM571x Cortex A15启动序列正在进行中... <<<--
CortexA15_0:GEL 输出:->>AM571x Cortex A15启动序列完成! <<<--
IcePick_D:GEL 输出:IPU RTOS 从等待复位中释放。
IcePick_D:GEL 输出:IPU SIMCOP 从等待复位中释放。
IcePick_D:GEL 输出:IVAHD C66从等待复位中释放。
IcePick_D:GEL 输出:IVAHD ICONT1从等待复位中释放。
IcePick_D:GEL 输出:IVAHD ICONT2被从等待复位中释放。
CS_DAP_DebugSS:GEL 输出:->>将调试 DPLL 设置配置为1.9 GHZ <<---
CS_DAP_DebugSS:GEL 输出:>正在设置 DebugSS 1.9GHz ...
CS_DAP_DebugSS:GEL 输出:<使用设置 DebugSS 跟踪导出时钟(TPIU)到97MHz 完成
CS_DAP_DebugSS:GEL 输出:<使用 Setup DebugSS PLL 时钟1.9GHz 完成
CS_DAP_DebugSS:GEL 输出:<使用设置 DebugSS ATB 时钟380MHz 完成
CS_DAP_DebugSS:GEL 输出:<使用设置 DebugSS 跟踪导出时钟(TPIU)到97MHz 完成
CS_DAP_DebugSS:GEL 输出:->>打开调试检测所需的 L3_INSTR 和 L3_3时钟<<< ----
CS_DAP_DebugSS:GEL 输出:-<<启用 L3仪表时钟>>>--
CS_DAP_DebugSS:GEL 输出:->>>映射计时器支持源到默认内核<<<< ----
CS_DAP_PC:GEL 输出:Cortex-A15 1不处于 WIR 模式、因此无需执行任何操作。
CortexA15_0:GEL 输出:-->>AM571x 目标连接序列开始... <<<--
CortexA15_0:GEL 输出:   --> AM571x PG2.0 GP 器件<<---
CortexA15_0:GEL 输出:->>>>OPPNOM 的 PRCM 时钟配置正在进行中... <<<--
CortexA15_0:GEL 输出:   Cortex A15 DPLL OPP 0时钟配置正在进行中...
CortexA15_0:GEL 输出:   Cortex A15 DPLL 已锁定、现在正在解锁...  
CortexA15_0:GEL 输出:   Cortex A15 DPLL OPP 0完成!
CortexA15_0:GEL 输出:   IVA DPLL OPP 0时钟配置正在进行中...
CortexA15_0:GEL 输出:   IVA DPLL OPP 0完成!
CortexA15_0:GEL 输出:   每个 DPLL OPP 0时钟配置正在进行...
CortexA15_0:GEL 输出:   每个 DPLL 已锁定、现在解锁  
CortexA15_0:GEL 输出:   每个 DPLL OPP 0完成!
CortexA15_0:GEL 输出:   内核 DPLL OPP 0时钟配置正在进行中...
CortexA15_0:GEL 输出:   内核 DPLL OPP 已锁定、现在正在解锁...  
CortexA15_0:GEL 输出:   内核 DPLL OPP 0完成!
CortexA15_0:GEL 输出:   Abe DPLL OPP 0时钟配置正在进行中...
CortexA15_0:GEL 输出:   Abe DPLL OPP 0完成!
CortexA15_0:GEL 输出:   GMAC DPLL OPP 0时钟配置正在进行中...
CortexA15_0:GEL 输出:   GMAC DPLL OPP 0完成!
CortexA15_0:GEL 输出:   GPU DPLL OPP 0时钟配置正在进行...
CortexA15_0:GEL 输出:   GPU DPLL OPP 0完成!
CortexA15_0:GEL 输出:   DSP DPLL OPP 0时钟配置正在进行中...
CortexA15_0:GEL 输出:   DSP DPLL OPP 0完成!
CortexA15_0:GEL 输出:   PCIe_REF DPLL OPP 0时钟配置正在进行...
CortexA15_0:GEL 输出:   PCIe_REF DPLL OPP 0完成!
CortexA15_0:GEL 输出:->>>>OPP 0的 PRCM 时钟配置完成! <<<--
CortexA15_0:GEL 输出:->>>PRCM 配置、用于所有进行中的模块... <<<--
CortexA15_0:GEL 输出:->>>>PRCM 所有模块的配置均已完成! <<<--
CortexA15_0:GEL 输出:->>DDR3初始化正在进行... <<<--
CortexA15_0:GEL 输出:   666MHz 的 DDR DPLL 时钟配置正在进行中...
CortexA15_0:GEL 输出:   666MHz 的 DDR DPLL 时钟配置已完成!
CortexA15_0:GEL 输出:       启动完全调平
CortexA15_0:GEL 输出:       更新 PHY_STATUSx 寄存器中的从器件比率
CortexA15_0:GEL 输出:       根据硬件调平输出
CortexA15_0:GEL 输出:       硬件调平现已禁用。 使用中的从器件比率
CortexA15_0:GEL 输出:       PHY_STATUSx 寄存器
CortexA15_0:GEL 输出:->>DDR3初始化完成! <<<--
CortexA15_0:GEL 输出:-->>>将计时器支持源映射到默认内核<<<< ----
CortexA15_0:GEL 输出:->>IPU1SS 初始化正在进行... <<<--
CortexA15_0:GEL 输出:->>IPU1SS 初始化完成! <<<--
CortexA15_0:GEL 输出:-->>IPU2SS 初始化正在进行... <<<--
CortexA15_0:GEL 输出:->>IPU2SS 初始化完成! <<<--
CortexA15_0:GEL 输出:->>>DSP1SS 初始化正在进行... <<<--
CortexA15_0:GEL 输出:调试:时钟处于活动状态...
CortexA15_0:GEL 输出:调试:在 DSPSS L2RAM 中检查数据完整性...
CortexA15_0:GEL 输出:调试:GEM L2RAM 中的数据完整性检查成功!
CortexA15_0:GEL 输出:->>>DSP1SS 初始化完成! <<<--
CortexA15_0:GEL 输出:-->>IVAHD 初始化正在进行... <<<--
CortexA15_0:GEL 输出:调试:时钟处于活动状态...
CortexA15_0:GEL 输出:-->>IVAHD 初始化完成! (笑声) <<<--
CortexA15_0:GEL 输出:->>PRUSS 1和2初始化正在进行... <<<--
CortexA15_0:GEL 输出:-->>PRUSS 1和2初始化正在完成... <<<--
CortexA15_0:GEL 输出:->>AM571x 目标连接序列完成!!!!!  <<<--

我在 Windows 上使用 SDK RTOS v3.03.00.04、PDK v1.0.6、CCS 7.2.0.00013

提前感谢您的任何想法。

Christian

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    RTOS 团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Christian、

    大小差异表示您缺少用于编译 SBL 的大量代码。 是否确定您已包含所有相关的源代码和库? 您能否尝试加载由 gmake sbl 创建的.out 并检查您是否看到相同的错误。

    您提供的日志来自连接到目标时运行的 GEL 文件。 是否还可以在 A15 core0上加载 SBL.out 时提供完整错误?

    请压缩您的项目并在此处提供、以便我们重现此问题。


    此致、
    Rahul

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

    你(们)好,Rahul

    SBL\board\idkAM571x\build 下的 makefile 文件列出了以下库:ti.board.aa15fg、ti.drv.uart.aa15fg、ti.drv.spi.aa15fg、ti.drv.i2c.aa15fg、ti.drv。mmcsd.aa15fg、 ti.fs.fatfs.aa15fg、ti.csl.aa15fg、ti.csl.init.aa15fg 和 ti.osal.aa15fg。 还需要 syscalls.aa15fg 库。 我已将其集成到工程(-l 和-L)和链接器文件(输入{...})中。

    由 gmake SBL 创建并通过 CCS 加载的输出文件按预期运行、这意味着一切正常。

    下载 SBL.out 文件时输出(来自 gmake SBL):

    Cortex_M4_IPU1_C0:GEL 输出:->>>AM571x Cortex M4启动序列正在进行中... <<<--
    Cortex_M4_IPU1_C0:GEL 输出:-->>AM571x Cortex M4启动序列完成! <<<--
    Cortex_M4_IPU1_C1:GEL 输出:->>>AM571x Cortex M4启动序列正在进行中... <<<--
    Cortex_M4_IPU1_C1:GEL 输出:->>>AM571x Cortex M4启动序列完成! <<<--
    C66xx_DSP:GEL 输出:->>>AM571x C66x DSP 启动序列正在进行中... <<<--
    C66xx_DSP:GEL 输出:-->>AM571x C66x DSP 启动序列完成! <<<--
    CortexA15_0:GEL 输出:-->>AM571x Cortex A15启动序列正在进行中... <<<--
    CortexA15_0:GEL 输出:->>AM571x Cortex A15启动序列完成! <<<--
    IcePick_D:GEL 输出:IPU RTOS 从等待复位中释放。
    IcePick_D:GEL 输出:IPU SIMCOP 从等待复位中释放。
    IcePick_D:GEL 输出:IVAHD C66从等待复位中释放。
    IcePick_D:GEL 输出:IVAHD ICONT1从等待复位中释放。
    IcePick_D:GEL 输出:IVAHD ICONT2被从等待复位中释放。
    CS_DAP_DebugSS:GEL 输出:->>将调试 DPLL 设置配置为1.9 GHZ <<---
    CS_DAP_DebugSS:GEL 输出:>正在设置 DebugSS 1.9GHz ...
    CS_DAP_DebugSS:GEL 输出:<使用设置 DebugSS 跟踪导出时钟(TPIU)到97MHz 完成
    CS_DAP_DebugSS:GEL 输出:<使用 Setup DebugSS PLL 时钟1.9GHz 完成
    CS_DAP_DebugSS:GEL 输出:<使用设置 DebugSS ATB 时钟380MHz 完成
    CS_DAP_DebugSS:GEL 输出:<使用设置 DebugSS 跟踪导出时钟(TPIU)到97MHz 完成
    CS_DAP_DebugSS:GEL 输出:->>打开调试检测所需的 L3_INSTR 和 L3_3时钟<<< ----
    CS_DAP_DebugSS:GEL 输出:-<<启用 L3仪表时钟>>>--
    CS_DAP_DebugSS:GEL 输出:->>>映射计时器支持源到默认内核<<<< ----
    CS_DAP_PC:GEL 输出:Cortex-A15 1不处于 WIR 模式、因此无需执行任何操作。
    CortexA15_0:GEL 输出:-->>AM571x 目标连接序列开始... <<<--
    CortexA15_0:GEL 输出:    --> AM571x PG2.0 GP 器件<<---
    CortexA15_0:GEL 输出:->>>>OPPNOM 的 PRCM 时钟配置正在进行中... <<<--
    CortexA15_0:GEL 输出:    Cortex A15 DPLL OPP 0时钟配置正在进行中...
    CortexA15_0:GEL 输出:    Cortex A15 DPLL 已锁定、现在正在解锁...  
    CortexA15_0:GEL 输出:    Cortex A15 DPLL OPP 0完成!
    CortexA15_0:GEL 输出:    IVA DPLL OPP 0时钟配置正在进行中...
    CortexA15_0:GEL 输出:    IVA DPLL 已锁定、现在正在解锁...
    CortexA15_0:GEL 输出:    IVA DPLL OPP 0完成!
    CortexA15_0:GEL 输出:    每个 DPLL OPP 0时钟配置正在进行...
    CortexA15_0:GEL 输出:    每个 DPLL 已锁定、现在解锁  
    CortexA15_0:GEL 输出:    每个 DPLL OPP 0完成!
    CortexA15_0:GEL 输出:    内核 DPLL OPP 0时钟配置正在进行中...
    CortexA15_0:GEL 输出:    内核 DPLL OPP 已锁定、现在正在解锁...  
    CortexA15_0:GEL 输出:    内核 DPLL OPP 0完成!
    CortexA15_0:GEL 输出:    Abe DPLL OPP 0时钟配置正在进行中...
    CortexA15_0:GEL 输出:    Abe DPLL OPP 0完成!
    CortexA15_0:GEL 输出:    GMAC DPLL OPP 0时钟配置正在进行中...
    CortexA15_0:GEL 输出:    GMAC DPLL 已锁定、现在正在解锁....
    CortexA15_0:GEL 输出:    GMAC DPLL OPP 0完成!
    CortexA15_0:GEL 输出:    GPU DPLL OPP 0时钟配置正在进行...
    CortexA15_0:GEL 输出:    GPU DPLL 已锁定、现在正在解锁...
    CortexA15_0:GEL 输出:    GPU DPLL OPP 0完成!
    CortexA15_0:GEL 输出:    DSP DPLL OPP 0时钟配置正在进行中...
    CortexA15_0:GEL 输出:    DSP DPLL 已锁定、现在正在解锁....
    CortexA15_0:GEL 输出:    DSP DPLL OPP 0完成!
    CortexA15_0:GEL 输出:    PCIe_REF DPLL OPP 0时钟配置正在进行...
    CortexA15_0:GEL 输出:    PCIe_REF DPLL 已锁定、现在正在解锁....
    CortexA15_0:GEL 输出:    PCIe_REF DPLL OPP 0完成!
    CortexA15_0:GEL 输出:->>>>OPP 0的 PRCM 时钟配置完成! <<<--
    CortexA15_0:GEL 输出:->>>PRCM 配置、用于所有进行中的模块... <<<--
    CortexA15_0:GEL 输出:->>>>PRCM 所有模块的配置均已完成! <<<--
    CortexA15_0:GEL 输出:->>DDR3初始化正在进行... <<<--
    CortexA15_0:GEL 输出:    666MHz 的 DDR DPLL 时钟配置正在进行中...
    CortexA15_0:GEL 输出:    DDR DPLL 已锁定、现在正在解锁...
    CortexA15_0:GEL 输出:    666MHz 的 DDR DPLL 时钟配置已完成!
    CortexA15_0:GEL 输出:       启动完全调平
    CortexA15_0:GEL 输出:       更新 PHY_STATUSx 寄存器中的从器件比率
    CortexA15_0:GEL 输出:       根据硬件调平输出
    CortexA15_0:GEL 输出:       硬件调平现已禁用。 使用中的从器件比率
    CortexA15_0:GEL 输出:       PHY_STATUSx 寄存器
    CortexA15_0:GEL 输出:->>DDR3初始化完成! <<<--
    CortexA15_0:GEL 输出:-->>>将计时器支持源映射到默认内核<<<< ----
    CortexA15_0:GEL 输出:->>IPU1SS 初始化正在进行... <<<--
    CortexA15_0:GEL 输出:->>IPU1SS 初始化完成! <<<--
    CortexA15_0:GEL 输出:-->>IPU2SS 初始化正在进行... <<<--
    CortexA15_0:GEL 输出:->>IPU2SS 初始化完成! <<<--
    CortexA15_0:GEL 输出:->>>DSP1SS 初始化正在进行... <<<--
    CortexA15_0:GEL 输出:调试:时钟处于活动状态...
    CortexA15_0:GEL 输出:调试:在 DSPSS L2RAM 中检查数据完整性...
    CortexA15_0:GEL 输出:调试:GEM L2RAM 中的数据完整性检查成功!
    CortexA15_0:GEL 输出:->>>DSP1SS 初始化完成! <<<--
    CortexA15_0:GEL 输出:-->>IVAHD 初始化正在进行... <<<--
    CortexA15_0:GEL 输出:调试:时钟处于活动状态...
    CortexA15_0:GEL 输出:-->>IVAHD 初始化完成! (笑声) <<<--
    CortexA15_0:GEL 输出:->>PRUSS 1和2初始化正在进行... <<<--
    CortexA15_0:GEL 输出:-->>PRUSS 1和2初始化正在完成... <<<--
    CortexA15_0:GEL 输出:->>AM571x 目标连接序列完成!!!!!  <<<--

    e2e.ti.com/.../SBL.zip

    遗憾的是、无法附加 zip 文件。 希望下载可以正常工作。

    此致、

    Christian

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你(们)好,Rahul
    更多信息是否有帮助? 如果是、哪一项?
    此致、
    Christian
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Christian:

    我们将在我们一侧测试上传的项目并在此处提供更新。

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

    尊敬的 Christian:

    我对延迟回复表示歉意。 我无法生成上传的项目、因此我继续重新创建了项目并在我的末尾对其进行了验证 我已将其附在下面。  

    e2e.ti.com/.../idkAM571x_5F00_SBL.zip

    以下是我在 CCS 中重新创建工程所执行的步骤:

    1.添加包含路径:

    ${pdk_install_path}/ti/csl

    ${pdk_install_path}

    ${pdk_install_path}/ti/board

    ${SBL_SRC_DIR}/board/src

    ${SBL_SRC_DIR}/src/rprc

    ${SBL_SRC_DIR}/SoC

    2.添加库:

    :ti.board.aa15fg
    :ti.drv.uart.aa15fg
    :ti.drv.spi.aa15fg
    :ti.drv.i2c.aa15fg
    :ti.drv.mmcsd.aa15fg
    :ti.fs.fatfs.aa15fg
    :ti.csl.aa15fg
    :ti.csl.init.aa15fg
    :ti.osal.aa15fg
    :pm_hal.aa15fg
    :syscalls.aa15fg

    3.添加库搜索路径:

    ${pdk_install_path}/ti/board/lib /$(Board)/a15/release/
    ${pdk_install_path}/ti/drv/uart/lib/a15/release
    ${pdk_install_path}/ti/drv/spi/lib/a15/release
    ${pdk_install_path}/ti/drv/i2c/lib/a15/release
    ${pdk_install_path}/ti/drv/mmcsd/lib/a15/release
    ${pdk_install_path}/ti/fs/fatfs/lib/a15/release
    ${pdk_install_path}/ti/csl/lib/am571x/a15/release
    ${pdk_install_path}/ti/csl/lib/am571x/a15/release
    ${pdk_install_path}/ti/osal/lib/nonos/am571x/a15/release
    ${pdk_install_path}/ti/drv/pm/lib/am571x/a15/release
    C:\ti\BIOS_6_46_05_55\packages/GNU\Targets\arm\rtsv7a\lib

    4.添加编译器选项:

    -mcpu=cortex-a15 -mtune =cortex-a15 -marm -mfloat-abi=hard -mfpu=neon -D${TI_pdk_symbols}-d${com_TI_TI_Sitara_symbols}-d${com_pdma_in_in_sp"-dsp}-p_-d${com"-mbl_msp"/src/mmcsd}-p_msp"-dsp -p_-p_-p_-p_-dsp -mr${mbl"/ti/csl}-p_-p_msp"}-dsp -msp"-dsp -p"-mn_-p"-msp"-dsp -m_-mbl"-dsp -p"-dsp -mbl"-dsp -d$/ti/board{t$/board/src{com"}-p_msp"}-p_-msp"-msp"-msp"-msp"-msp"-dsp -d$/src/rprc{com"}-msp"-ds  

    5.添加链接器选项:

    -wl、-Map、"${ProjName}.map"-条目条目-nodstartfiles -static -wl、-gC-SECTIONS -L"${TI_pdk_library_path}"-l"${pdk_install_path}/ti/board/lib/idkAM571x/a15/release /ti/drv/uart/lib/a15/release /ti/drv/i2c/lib/a15/release /ti/csl/lib/am571x/a15/release /ti/drv/pm/lib/am571x/a15/release{pdk_st_l"}-pk_stack_path{pdk_l"/ti/drv/spi/lib/a15/release}-pk/"$/ti/drv/mmcsd/lib/a15/release{pdk_k_stack_l"}-pk_path /ti/fs/fatfs/lib/a15/release{pdk/"${pdk_stack_l"}-pk/"}-wk_stack_path /ti/csl/lib/am571x/a15/release{pdk/"}-dl"{/ti/osal/lib/nonos/am571x/a15/release pdk/"}-pdk_stack_path /ti/bios_6_46_05_55/packages/gnu/targets/arm/rtsv7A/lib{pdk/"}-dl"}-pdk/-pdk/-pk/-pk/-dl"{pdk_install_path{pdk/"}-pdk/-pdk/"}-pdk/-pdk/-pdk/-pdk/"}-pdk/-pdk/-p_path{pdk/"}  

    我使用了在此处找到的 linker.cmd 文件: ${SBL_SRC_DIR}/board/idkAM571x/build/linker.cmd

    6.添加源文件:

    SBL_main.c  
    sbl_rprc.c  
    SBL_prcm.c  
    SBL_SLAVE_CORE_BOOT.c  
    SBL_startup.c  
    SBL_AVS_CONFIG.c

    UART_SoC.c  
    SBL_SoC.c

    SBL_mmcsd.c
    MMCSD_SoC.c

    希望这能解决这个问题。 如果您有任何疑问、请告知我们。

    最棒的
    Sahin

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

    您好、Sahin、

    感谢您提供所附项目。

    我必须添加头文件、调整几个路径(同时、我已更新为适用于 Windows 的 SDK RTOS 4.01.00.06)、然后我能够构建您的项目。

    得出的 MLO 不同、但并不更好。 现在、MLO 比使用 gmake 和 makefile 生成的版本高三倍(960KB)。 遗憾的是、无法启动。

    当我在调试模式下启动项目时、我有以下控制台输出:

    Cortex_M4_IPU1_C0:GEL 输出:->>>AM571x Cortex M4启动序列正在进行中... <<<--
    Cortex_M4_IPU1_C0:GEL 输出:-->>AM571x Cortex M4启动序列完成! <<<--
    Cortex_M4_IPU1_C1:GEL 输出:->>>AM571x Cortex M4启动序列正在进行中... <<<--
    Cortex_M4_IPU1_C1:GEL 输出:->>>AM571x Cortex M4启动序列完成! <<<--
    C66xx_DSP:GEL 输出:->>>AM571x C66x DSP 启动序列正在进行中... <<<--
    C66xx_DSP:GEL 输出:-->>AM571x C66x DSP 启动序列完成! <<<--
    CortexA15_0:GEL 输出:-->>AM571x Cortex A15启动序列正在进行中... <<<--
    CortexA15_0:GEL 输出:->>AM571x Cortex A15启动序列完成! <<<--

    然后启动停止。

    如果我在调试模式下启动输出文件(idkAM571x_SBL.out)、它看起来是相同的、原始问题... 没有可用于"0x3808c"的源。

    提前感谢您的任何帮助。

    此致、

    Christian

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

    作为实验、从插槽中取出 SD 卡、使用 GEL 文件连接到 IDK、应初始化时钟和 DDR (在 CCS 控制台中检查日志)。 GEL 将 A15内核置于干净状态、以便您可以加载.out 文件。 参考:
    processors.wiki.ti.com/.../TMDXIDK5728_Hardware_Setup

    然后加载 idkAM571x_SBL.out (程序),如果内核n`t 没有转到 main,则在加载后停止内核,转到 View-> Disassembly,然后在搜索窗口中键入 main。 检查它是否找到符号。 如果没有、则 CCS 设置会出现问题。

    当 PDK 不在 CCS 编辑器的源搜索路径中、并且 CCS 尝试比较汇编代码以与源代码共同相关时、有时可能会收到"无源可用"消息。 在此消息下、如果您看到浏览到源选项、然后从编辑器浏览到 SBL_mainc、CCS 将能够找到与该文件相关的剩余路径。

    请报告您的调查结果。

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

    尊敬的 Christian:

    我进行了仔细检查、能够从我附加的项目加载.out 文件、并获得以下输出:

    请尝试以下操作:卸下 SD 卡、连接到 A15内核、加载.out 文件、插入 SD 卡、然后单击"恢复"(F8)。 这允许通过仿真器加载 MLO。 此时、您应该会在终端窗口中看到上面的图像。  

    请告诉我们您看到的内容。

    最棒的

    Sahin

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

    您好、Rahul、您好、Sahin、

    感谢您的帮助、但我再也找不到更好的了...

    我无法下载 Sahin 发布的输出。
    启动 SBL 项目(由 Sahin 发布)的目的始终是:

    =>启动 IDK_AM571X.ccxml

    Cortex_M4_IPU1_C0:GEL 输出:->>>AM571x Cortex M4启动序列正在进行中... <<<--
    Cortex_M4_IPU1_C0:GEL 输出:-->>AM571x Cortex M4启动序列完成! <<<--
    Cortex_M4_IPU1_C1:GEL 输出:->>>AM571x Cortex M4启动序列正在进行中... <<<--
    Cortex_M4_IPU1_C1:GEL 输出:->>>AM571x Cortex M4启动序列完成! <<<--
    C66xx_DSP:GEL 输出:->>>AM571x C66x DSP 启动序列正在进行中... <<<--
    C66xx_DSP:GEL 输出:-->>AM571x C66x DSP 启动序列完成! <<<--
    CortexA15_0:GEL 输出:-->>AM571x Cortex A15启动序列正在进行中... <<<--
    CortexA15_0:GEL 输出:->>AM571x Cortex A15启动序列完成! <<<--
    德州仪器(TI) XDS100v2 USB 调试探针/CortexA15_0:加载程序前必须连接目标。

    =>我连接 Cortex A15_0 (在哪里可以设置它、这样我就不必每次都手动操作? 在 IDK_AM571X.ccxml 中?)

    IcePick_D:GEL 输出:IPU RTOS 从等待复位中释放。
    IcePick_D:GEL 输出:IPU SIMCOP 从等待复位中释放。
    IcePick_D:GEL 输出:IVAHD C66从等待复位中释放。
    IcePick_D:GEL 输出:IVAHD ICONT1从等待复位中释放。
    IcePick_D:GEL 输出:IVAHD ICONT2被从等待复位中释放。
    CS_DAP_DebugSS:GEL 输出:->>将调试 DPLL 设置配置为1.9 GHZ <<---
    CS_DAP_DebugSS:GEL 输出:>正在设置 DebugSS 1.9GHz ...
    CS_DAP_DebugSS:GEL 输出:<使用设置 DebugSS 跟踪导出时钟(TPIU)到97MHz 完成
    CS_DAP_DebugSS:GEL 输出:<使用 Setup DebugSS PLL 时钟1.9GHz 完成
    CS_DAP_DebugSS:GEL 输出:<使用设置 DebugSS ATB 时钟380MHz 完成
    CS_DAP_DebugSS:GEL 输出:<使用设置 DebugSS 跟踪导出时钟(TPIU)到97MHz 完成
    CS_DAP_DebugSS:GEL 输出:->>打开调试检测所需的 L3_INSTR 和 L3_3时钟<<< ----
    CS_DAP_DebugSS:GEL 输出:-<<启用 L3仪表时钟>>>--
    CS_DAP_DebugSS:GEL 输出:->>>映射计时器支持源到默认内核<<<< ----
    CS_DAP_PC:GEL 输出:Cortex-A15 1不处于 WIR 模式、因此无需执行任何操作。
    CortexA15_0:GEL 输出:-->>AM571x 目标连接序列开始... <<<--
    CortexA15_0:GEL 输出:   --> AM571x PG2.0 GP 器件<<---
    CortexA15_0:GEL 输出:->>>>OPPNOM 的 PRCM 时钟配置正在进行中... <<<--
    CortexA15_0:GEL 输出:   Cortex A15 DPLL OPP 0时钟配置正在进行中...
    CortexA15_0:GEL 输出:   Cortex A15 DPLL 已锁定、现在正在解锁...  
    CortexA15_0:GEL 输出:   Cortex A15 DPLL OPP 0完成!
    CortexA15_0:GEL 输出:   IVA DPLL OPP 0时钟配置正在进行中...
    CortexA15_0:GEL 输出:   IVA DPLL OPP 0完成!
    CortexA15_0:GEL 输出:   每个 DPLL OPP 0时钟配置正在进行...
    CortexA15_0:GEL 输出:   每个 DPLL 已锁定、现在解锁  
    CortexA15_0:GEL 输出:   每个 DPLL OPP 0完成!
    CortexA15_0:GEL 输出:   内核 DPLL OPP 0时钟配置正在进行中...
    CortexA15_0:GEL 输出:   内核 DPLL OPP 已锁定、现在正在解锁...  
    CortexA15_0:GEL 输出:   内核 DPLL OPP 0完成!
    CortexA15_0:GEL 输出:   Abe DPLL OPP 0时钟配置正在进行中...
    CortexA15_0:GEL 输出:   Abe DPLL OPP 0完成!
    CortexA15_0:GEL 输出:   GMAC DPLL OPP 0时钟配置正在进行中...
    CortexA15_0:GEL 输出:   GMAC DPLL OPP 0完成!
    CortexA15_0:GEL 输出:   GPU DPLL OPP 0时钟配置正在进行...
    CortexA15_0:GEL 输出:   GPU DPLL OPP 0完成!
    CortexA15_0:GEL 输出:   DSP DPLL OPP 0时钟配置正在进行中...
    CortexA15_0:GEL 输出:   DSP DPLL OPP 0完成!
    CortexA15_0:GEL 输出:   PCIe_REF DPLL OPP 0时钟配置正在进行...
    CortexA15_0:GEL 输出:   PCIe_REF DPLL OPP 0完成!
    CortexA15_0:GEL 输出:->>>>OPP 0的 PRCM 时钟配置完成! <<<--
    CortexA15_0:GEL 输出:->>>PRCM 配置、用于所有进行中的模块... <<<--
    CortexA15_0:GEL 输出:->>>>PRCM 所有模块的配置均已完成! <<<--
    CortexA15_0:GEL 输出:->>DDR3初始化正在进行... <<<--
    CortexA15_0:GEL 输出:   666MHz 的 DDR DPLL 时钟配置正在进行中...
    CortexA15_0:GEL 输出:   666MHz 的 DDR DPLL 时钟配置已完成!
    CortexA15_0:GEL 输出:       启动完全调平
    CortexA15_0:GEL 输出:       更新 PHY_STATUSx 寄存器中的从器件比率
    CortexA15_0:GEL 输出:       根据硬件调平输出
    CortexA15_0:GEL 输出:       硬件调平现已禁用。 使用中的从器件比率
    CortexA15_0:GEL 输出:       PHY_STATUSx 寄存器
    CortexA15_0:GEL 输出:->>DDR3初始化完成! <<<--
    CortexA15_0:GEL 输出:-->>>将计时器支持源映射到默认内核<<<< ----
    CortexA15_0:GEL 输出:->>IPU1SS 初始化正在进行... <<<--
    CortexA15_0:GEL 输出:->>IPU1SS 初始化完成! <<<--
    CortexA15_0:GEL 输出:-->>IPU2SS 初始化正在进行... <<<--
    CortexA15_0:GEL 输出:->>IPU2SS 初始化完成! <<<--
    CortexA15_0:GEL 输出:->>>DSP1SS 初始化正在进行... <<<--
    CortexA15_0:GEL 输出:调试:时钟处于活动状态...
    CortexA15_0:GEL 输出:调试:在 DSPSS L2RAM 中检查数据完整性...
    CortexA15_0:GEL 输出:调试:GEM L2RAM 中的数据完整性检查成功!
    CortexA15_0:GEL 输出:->>>DSP1SS 初始化完成! <<<--
    CortexA15_0:GEL 输出:-->>IVAHD 初始化正在进行... <<<--
    CortexA15_0:GEL 输出:调试:时钟处于活动状态...
    CortexA15_0:GEL 输出:-->>IVAHD 初始化完成! (笑声) <<<--
    CortexA15_0:GEL 输出:->>PRUSS 1和2初始化正在进行... <<<--
    CortexA15_0:GEL 输出:-->>PRUSS 1和2初始化正在完成... <<<--
    CortexA15_0:GEL 输出:->>AM571x 目标连接序列完成!!!!!  <<<--

    0x3808c-TAB:没有可用于"0x3808c"的源
    debug-tab:0x0003808C (未定义符号)
    DISASSEMBLY 选项卡:0003808c:EAFFFFFE b #0x3808c
    "Registers"选项卡:
    PC 0x0003808C
    SP 0x00000000
    LR 0x0003BCF0
    CPSR 0x0001D7
    R0 0x0C0D0E0F
    R1 0x00000801
    R2 0x4037F040
    R3 0x00000003
    R4 0x4037FD6C
    R5 0x0000007E
    (笑声)

    永远不会到达 main(),因为它位于地址0x3808c 的前面。 R2、R4、R6-R8、R11看起来合理。

    可以导入 UART_BasicExample 并正确运行。 甚至无需手动连接操作。 这鼓励我假设 CCS 安装正确。

    您是否知道谁将 PC 放在0x3808c 上? 它仍然是同一个项目(由 Sahin 发布)。

    此致、
    Christian

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

    尊敬的 Christian:

    看起来程序未正确加载。  

    连接到 CortexA15_0后、单击 CortexA15、然后按 Ctrl+Alt+L 打开加载程序窗口。 点击"Browse Project"、导航到工程的"Debug"文件夹中的.out、然后点击"OK"。  

    加载程序对话框窗口是否出现、或者您是否仍然看到"No Source Available (无可用源)"选项卡?

    最棒的

    Sahin

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

    您好、Sahin、

    始终"无源可用"。 现在使用可变地址。

    1.尝试:

    没有可用于"0x3808c"的源

    2.尝试:

    没有可用于"0x40331d98"的源

    3.尝试:

    DEBUGT-TAB:0x40331BB4 (未定义符号)

    "Registers"选项卡:

    PC 0x40331BB4

    SP 0x40362918

    LR 0x40331CD8

    CPSR 0x60000153

    R0 0xFFFFFFFF

    R1 0x07F

    R2 0x03

    R3 0x0

    R4 0x4037FD6C

    (笑声)

    此致、

    Christian

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

    Christian、

    当您在0x3808c 中看到 A15内核时、器件会在 ROM 引导加载程序中挂起、因为它无法在引导介质中找到引导映像。 A15内核最初处于此状态是可以的、表示未找到源 、但当您加载 SBL 二进制文件时、如果 A15内核位于0x40331xxx 中、则表示内核正在运行 SBL 的 OCMC 存储器中执行代码。 检查 SBL 的链接器命令文件  

    pdk_am57xx_1_0_8\packages/ti\boot\sbl\board\idkAM571x\build\linker.cmd  

    SBL 使用文件中定义的 SBL_MEM 段来执行。 当它指示找不到源时、这是因为源是使用 make 或在工作区外部编译的、因此 CCS 无法将符号与任何源相关联。 以下是一个示例:

    当我连接到 idkAM572x 上的 A15_0内核时:

    当我加载 SBL.out 时,屏幕截图如下:

    如果您注意到 ARM 内核位于与您提到的位置类似的位置。 当您看到此错误消息时、您可以选择浏览到源代码并使用 Locate File 选项找到 SBL_main.c。  

    如果这不起作用、则这似乎是 CCS 编辑器问题。 是否可以确认您正在使用 Run->Load->Load Program 选项。

    Sahin 已在 idkAM571x 上测试了二进制文件、因此您的设置存在一些问题、导致了此问题。

    此致、

    Rahul

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    另一种了解 A15内核位置的方法是查看以下位置的 SBL.map 文件:
    pdk_am57xx_1_0_8\packages/ti\boot\sbl\binary\idkAM571x\mmcsd\bin

    在映射文件中的 ARM 内核上的 PC 中查找地址(0x40331xx)、并找到 ARM 执行代码的位置符号。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Rahul、

    加载 idkAM571x_SBL.out 文件(Run->Load->Load)后,我看到的视图稍有不同。

    "Debug"选项卡:

    >...>0x40331BB4 (未定义符号)。 (笑声) 没有其他条目,如 main()、SBL_startBoot()、...

    此时将出现一个包含以下内容的选项卡:没有可用于"0x40331bb4"的源。

    "Disassembly"选项卡:

    entry():

    40331bb4:E59F009C LDR r0、[PC、#0x9C]

    当我按下 Resume-(恢复)按钮时、代码会正确运行(非常感谢)。

    我应该更改什么位置和什么以便只需一个按钮即可运行代码(连接时,加载输出文件时,关闭“无可用源代码”选项卡...)?

    再次感谢您的帮助。

    此致、

    Christian

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

    尊敬的 Christian:

    要自动运行代码、您需要将目标配置文件添加到项目文件夹中。 进入后,导航至 View->Target Configurations 并找到目标配置文件,右键单击该文件并转至 Properties。 在 Properties 窗口中、选择 CortexA15_0作为器件、并在 Auto Run and Launch Options 下选中"Connect to the target on debugger starting"、如下所示。

    现在、您应该能够点击调试按钮来自动连接到内核并加载程序。

    如果您还有其他与 CCS 相关的问题、请通过以下链接将其发布到 CCS 论坛、以便 CCS 专家提供更多指导。

    https://e2e.ti.com/support/development_tools/code_composer_studio/

    最棒的

    Sahin