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
当尝试将 CCS 7.4中的 gdb_agent_console 与 Windows 10下的 TI 仿真器7.0.100.0结合使用时、如果 AM5728连接到 Blackhawk USB560-M、则最初尝试为板数据文件提供相对路径。 但是、使用相对路径会导致报告"没有在配置文件中定义支持 GDB 的 CPU "错误:
C:\users\MR_halfworm\E2E_Example_Projects\AM5728_GCC_class_variables>c:\ti\ccs740\ccsv7\ccs_base\common\uscif\gdb_agent_console.exe targetConfigs\testBoard_bh560usbm.dat 配置文件中未定义支持 GDB 的 CPU
如果给定了指向同一目标数据文件的绝对路径、则 gdb_agent_console 会无错误地初始化:
C:\users\MR_halfword\E2E_Example_Projects\AM5728_GCC_class_variables>c:\ti\ccs740\ccsv7\ccs_base\common\uscif\gdb_agent_console.exe c:\users\MR_halfword\E2E_Example_projects\AM5728_GCC_class_variables\targetConfigs\testBoard_bh560usbm.dat CPU 名称 端口 --- -- c66xx_dsp1 :55000 c66xx_dsp2 :55001 cortex_m4_ipu1_c0 :55002 cortex_m4_ipu1_c1 :55003 cortex_m4_ipu2_c0 :55004 cortex_m4_ipu2_c1 :55005 cortexa15_0 :55006 cortexa15_1 :55007 启动所有内核 CPU 名称 现状 ---- ---- cortexa15_1 正在等待客户端 c66xx_dsp1 正在等待客户端 c66xx_dsp2 等待客户端 cortex_m4_ipu1_c0等待客户端 cortexa15_0 等待客户端 cortex_m4_ipu2_c1等待客户端 cortex_m4_ipu2_c0等待客户端 cortex_m4_ipu1_c1等待客户端
当使用 SysInternals Process Monitor 跟踪 gdb_agent_console 执行的文件 I/O 时、在带有相对板数据文件的故障情况下、gdb_agent_console 尝试打开 C:\ti\ccs740\ccsv7\ccs_base\common\uscif\targetConfigs\testBoard_Bh560usbm、但未找到失败路径。
使用 Processor Explorer 查看正在工作的 gdb_agent_console 会显示当前目录设置为 c:\ti\ccs740\ccsv7\ccs_base\con\uscif\。 即、问题似乎在于、在某个时间点、gdb_agent_console 会将进程的工作目录从启动该进程的目录更改为其他目录、从而导致无法打开命令行上给出的相对板数据文件。
我认为这可能与 原始线程中提出的 DBGTRC-3927相同、缺陷的解决方法可能是始终为板数据文件指定绝对路径。
随附的 zip 文件包含所使用的电路板数据文件、以及带有相对电路板数据文件路径的针对故障原因的过程监视器捕捉。 e2e.ti.com/.../ccs740_5F00_gdb_5F00_agent_5F00_relative_5F00_path.zip
[引用 user="Chester Gillon">使用处理器资源管理器查看工作的 gdb_agent_console 会显示当前目录设置为 c:\ti\ccs740\ccsv7\ccs_base\con\uscif\。 例如,问题似乎是,在某个时候,gdb_agent_console 会将进程的工作目录从启动该进程的工作目录更改为启动该进程的工作目录,从而导致无法打开命令行上给出的相对板数据文件。
切斯特、似乎 gdb_agent_console 将 C:\ti\ccs740\ccsv7\ccs_base\con\uscif\视为相对路径的基目录、无论哪个目录
从中调用了该命令。 我必须向专家确认这是预期行为还是错误。 由于节假日、可能会持续到下周晚些时候或
在一周的早些时候、我可以发布更新。 感谢您的耐心等待。
[引用 user="AarticG"]Chester、gdb_agent_console 似乎 将 C:\ti\ccs740\ccsv7\ccs_base\common\uscif\作为相对路径的基目录、而不管哪个目录
该命令是从调用的。我发现、在使用 TI 仿真器8.0.27.9的 Linux 下、CCS 8.2.0.00005中的 gdb_agent_console 存在相同的问题。
gdb_agent_console 在本机 Eclipse 调试器下运行,并在 chdir()函数上设置断点,显示 中的 TI_sds:uEnvironment:SetWorkingDirectory()函数 /ccsv8/ccs_base/common/uscif/libgdb_agent_xds.so 将当前工作目录更改为 /ccsv8/ccs_base/common/uscif:
[表达式是传递给 chdir()函数的字符串]
即、这似乎是 libgdb_agent_xds.so 中用于更改当前工作目录的故意操作。
切斯特、
[引用 user="AarticG"]无论 从哪个目录调用命令,gdb_agent_console 似乎都将 C:\ti\ccs740\ccsv7\ccs_base\common\uscif\作为相对路径的基目录。
我确认了这是 GDB 代理的工作方式、即在解析相对路径时采用 CCS 基路径。