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.
工具/软件:Code Composer Studio
您好!
我使用的是 BeagleBoard x-15和 CCS 8.1。 编译器版本 GNU v6.3.1 (Linaro)。 我已将 MCASP DeviceLoopbackExample 从"\ti\pdk_am57xx_1_0_10\packages\MyExampleProjects\MCASP_DeviceLoopback_evmAM572x_armExampleProject"导入到我的工作区、并能够构建它。 我创建了一个目标配置、如下所示:
当我启动 targetConfiguration 时、"NewTargetConfiguration.ccxml"控制台打印以下错误:
Cortex_M4_IPU1_C0:GEL 输出:->>>AM572x Cortex M4启动序列正在进行中... <<-- Cortex_M4_IPU1_C0:GEL 输出:--> AM572x Cortex M4启动序列完成! <<-- Cortex_M4_IPU1_C1:GEL 输出:--> AM572x Cortex M4启动序列正在进行中... <<--- Cortex_M4_IPU1_C1:GEL 输出:--> AM572x Cortex M4启动序列完成! <<-- Cortex_M4_IPU2_C0:GEL 输出:--> AM572x Cortex M4启动序列正在进行中... <<-- Cortex_M4_IPU2_C0:GEL 输出:--> AM572x Cortex M4启动序列完成! <<-- Cortex_M4_IPU2_C1:GEL 输出:--> AM572x Cortex M4启动序列正在进行中... <<--- Cortex_M4_IPU2_C1:GEL 输出:--> AM572x Cortex M4启动序列完成! <<--- C66xx_DSP1:GEL 输出:--> AM572x C66x DSP 启动序列正在进行中... <<--- C66xx_DSP1:GEL 输出:--> AM572x C66x DSP 启动序列完成! <<--- C66xx_DSP2:GEL 输出:--> AM572x C66x DSP 启动序列正在进行中... <<--- C66xx_DSP2:GEL 输出:--> AM572x C66x DSP 启动序列完成! <<-- CortexA15_0:GEL 输出:--> AM572x Cortex A15启动序列正在进行中... <<--- CortexA15_0:GEL 输出:--> AM572x Cortex A15启动序列完成! <<-- CortexA15_1:GEL 输出:--> AM572x Cortex A15启动序列正在进行中... <<--- CortexA15_1:GEL 输出:--> AM572x 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 输出:<使用设置 DebugSS PLL 完成时钟1.9GHz CS_DAP_DebugSS:GEL 输出:<使用设置 DebugSS ATB 时钟 GEL 输出:380MHz CS_DAP: <使用设置 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 输出:-->>AM572x GP EVM <<<-- CortexA15_0:GEL 输出:-->>AM572x 目标连接序列开始... <<-- CortexA15_0:GEL:执行 OnTargetConnect ()时出错:目标无法在 (*(unsigned int *) 0x4A0025F4) 0x4A0025F4)[AM572x_startup_common.gel:69] (AM57xx_EVM_Initialization (0)[gpe0025f4)[gel_Ontvat_572x][AM572x_startup_common.getc.gel:54]
我仍然能够通过右键单击连接到 CortexA15_0并连接到目标。 单击"运行">"加载">" LoadProgram "、然后选择我的.out 文件。 现在,我在“NewTargetConfiguration.ccxml”控制台中收到以下消息:
CortexA15_0:GEL 输出:-->发生复位<<-- CortexA15_0:GEL 输出:--> AM572x PG2.0 GP 器件<<--
在调试视图中 、我可以看到:
此外、还会显示一个新窗口:
当我断开到 CortexA_0 +重新连接并单击"Restart"时、我会收到以下消息:
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 输出:<使用设置 DebugSS PLL 完成时钟1.9GHz CS_DAP_DebugSS:GEL 输出:<使用设置 DebugSS ATB 时钟 GEL 输出:380MHz CS_DAP: <使用设置 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 输出:-->>AM572x GP EVM <<<-- CortexA15_0:GEL 输出:-->>AM572x 目标连接序列开始... <<<-- CortexA15_0:GEL 输出:--> I2C 初始<<-- CortexA15_0:GEL 输出:--> AM572x 开始 MMC2焊盘配置<<<-- CortexA15_0:GEL 输出:--> AM572x 结束 MMC2焊盘配置<-- <<<<<--> CortexA15_0:<-- Gel 输出:<-- Gel PGP<--<--<<<-- CMPGP<--<<<<-->器件程序<<-- CMPGP<<--<<-- CM_0:<<<<<<<<-->器件<<-- CMPGP<<<-- CMP>AM572x 输出<<<<<<<<--> <<-- 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 已锁定、现在正在解锁.... 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 已锁定、现在正在解锁.... 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 输出:532MHz 的 DDR DPLL 时钟配置正在进行中... CortexA15_0:GEL 输出:DDR DPLL 已锁定、现在正在解锁... CortexA15_0:GEL 输出:532MHz 的 DDR DPLL 时钟配置已完成! CortexA15_0:GEL 输出: 启动完全调平 CortexA15_0:GEL 输出: 在 PHY_STATUSx 寄存器 CortexA15_0中更新从器件比率:GEL 输出: 根据硬件调平输出 CortexA15_0:GEL 输出: HW 调平现已禁用。 使用 来自 CortexA15_0的从器件比率:GEL 输出: PHY_STATUSx 寄存器 CortexA15_0:GEL 输出: 启动完全调平 CortexA15_0:GEL 输出: 在 PHY_STATUSx 寄存器 CortexA15_0中更新从器件比率:GEL 输出: 根据硬件调平输出 CortexA15_0:GEL 输出: HW 调平现已禁用。 使用 来自 CortexA15_0的从器件比率:GEL 输出: PHY_STATUSx 寄存器 CortexA15_0:GEL 输出: 交错模式下的两个 EMIF -(总共2GB) 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 输出:--> DSP2SS 初始化正在进行中... <<--- CortexA15_0:GEL 输出:调试:时钟处于活动状态... CortexA15_0:GEL 输出:调试:在 DSPSS L2RAM 中检查数据完整性... CortexA15_0:GEL 输出:调试:GEM L2RAM 中的数据完整性检查成功! CortexA15_0:GEL 输出:->>>DSP2SS 初始化完成! <<-- 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 输出:--> AM572x 目标连接序列完成!!!!! <<<-- 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 输出:--> DSP2SS 初始化正在进行中... <<--- CortexA15_0:GEL 输出:调试:时钟处于活动状态... CortexA15_0:GEL 输出:调试:在 DSPSS L2RAM 中检查数据完整性... CortexA15_0:GEL 输出:调试:GEM L2RAM 中的数据完整性检查成功! CortexA15_0:GEL 输出:->>>DSP2SS 初始化完成! <<-- CortexA15_0:GEL 输出:--> IVAHD 初始化正在进行... <<--- CortexA15_0:GEL 输出:调试:时钟处于活动状态... CortexA15_0:GEL 输出:-->>IVAHD 初始化完成! (笑声) <<-- CortexA15_0:GEL 输出:--> PRUSS 1和2初始化正在进行... <<-- CortexA15_0:GEL 输出:--> PRUSS 1和2初始化正在完成... <<<--
什么也不会发生。
我想我在某处的配置中犯了一个错误、但我不知道在哪里。 是否有人知道由谁解决此问题?
https://e2e.ti.com/support/development_tools/code_composer_studio/f/81/t/658821?CCS-AM5728-GEL-error-while-executing-OnTargetConnect 显示"GEL 文件专为 AM572x EVM 设计"、我正在使用该文件、因此我认为这无法解决我的问题。
e2e.ti.com/.../2046170 显示"我们建议您使用 CCS 6.1.3 "、我曾尝试过、但遇到了其他问题。 我检查了作为支持提供的每个命令、并具有所有希望的设置。 该帖子以我遇到的同一问题结束。
提前感谢、
Frederic
当我单击"Debug"时、我能够跳转到 audioSample_main.c main()。 当我逐步完成此操作时:
对于某些地址。一段时间后,我步出“Board_init()"并进入 McASP3_Enable(),并在 AUDIO_evmInit-c 第157行的 while 循环中卡住
while (HW_RD_REG32 (CSL_DSP_L4PER_CM_CORE_regs+CSL_L4PER_CM_CORE_COMPONENT_CM_L4PER2_MCASP3_CLKCTRL_REG)!=\ CSL_L4PER_CM_CORE_COMPONENT_CM_L4PER2_MCASP3_CLKCTRL_REG_MODULEMODE_ENABLE);
如果我继续调试并查看 evmAM572x_LLD_init.c:70 0x8001709c 处的 Board_uartStdioInit():
静态内联 UINT32_t HW_RD_REG32_RAW (uint32_t addr) { uint32_t regVal =*(volatile uint32_t *) addr; /*在此之后不调用任何函数。 如有必要、将实现为宏*/ hw_sync_barer(); 返回(regVal); }
我可以看到以下变量赋值:
它会为每个循环重复自身。 如果我错了、请纠正我的问题、但这不是假定的结果?