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/EK-TM4C129EXL:在运行CCS7的CentOS7下,无法使用sd560v2进行调试

Guru**** 2606725 points
Other Parts Discussed in Thread: EK-TM4C129EXL

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/632851/ccs-ek-tm4c129exl-under-centos7-running-ccs7-unable-to-debug-with-sd560v2

部件号:EK-TM4C129EXL

工具/软件:Code Composer Studio

我已在Windows7盒上安装CCS7,并通过 LAN使用Blackhawk Bh560v2调试 EK-TM4C129EXL。  但是,我正在尝试将我的开发环境迁移到CentOS7。  我在CentOS7包装箱上安装了Linux版本的CCS7,它似乎可以正常工作,但使用Blackhawk Bh560v2进行调试除外。  当我启动 Bh560v2Config实用程序时,它在  正确的地址(BBlackhawk Bh560v2)中找到192.168 0.70。  以下是 Bh560v2Config实用程序生成的输出。

cmd:td_conf --version
版本7.0。48.0 ,构建于2017年7月21日19:27:16


cmd:ping -c 2 -b 255.255 .255.255
RES:正常


cmd:ARP -A
Santa.rce (192.168 .0.11) at 00:6c:bc:B2:C7:98 [ether] on eno1677.7736万
? (192.168。0.70),位于eno1677.7736万的00:0f:D2:02:05:98 [醚]
OWL (OWL) rce (192.168。0.12) at 00:6c:bc:b2:df:d6 [ether ] on eno1677.7736万
Sonic.rce (192.168 .0.1) at 18:B1:69:23:E6:60 [ether (乙醚),on eno1677.7736万

LAN:过滤设备...
LAN:找到1个设备。


cmd:td_conf获取bh560v2u 0
USB:找到0个设备。

共找到1个设备。


cmd:td_conf获取bh560v2e 192.168 .0.70
E_RPCENV_IO_ERROR (-6)无连接:E_RPCENV_IO_ERROR (-6)
错误:14:远程过程调用失败:无法打开URL bh560v2e:-1062731706的DTC配置服务

当我查看此问题时,似乎是某种类型的防火墙问题。  但是,我运行了tcpdump:

sudo tcpdump -vv -i eno1677.7736万 dst 192.168 .0.70

已验证tcpdump是否会通过尝试ssh到192.168 .0.70 来报告网络交互,您是否可以在此处看到tcpdump输出:

14:39:21.73.8774万 IP (tos 0x0,TTL 64,id 1.0806万,偏移0,标记[DF], Proto TCP (6),长度60)

192.168 .0.167 .4.4528万 > 192.168 MSS.0.70 .ssh:标志[S],cksum 0x826c (不正确-> 0xddfd),序列33.3333万377279,37.7279万,WIN 2.92万,选项[MSS 1460,sackOK,TS val 44.3593万 0,nop,wscale 7],长度0

tcpdump 在dts_conf运行时不会见证任何网络交互,因此我猜它在较早的阶段会失败。

下面是我的Java设置:

[gateway@localhost uscif]$ java -version
OpenJDK版本"OpenJDK 1.8 0.0_144"
OpenJDK运行时环境(Build 1.8 .0_144-B01)
OpenJDK 64位服务器VM (内部版本25.144 -B01,混合模式)

我在这个论坛上看到了另一篇文章,他们在这里回顾了ldd的输出,因此这里是:  

[gateway@localhost uscif]$ ldd./dct_conf
linux-vdsa.so-1 =>(0x0.0007万ffce56ce000)
libdl.so.2 =>/lib64/libdl.so.2 (0x0.0007万f163c4cf000)
libpthread.so.0 =>/lib64/libpthread.so.0 (0x0.0007万f163c2b2000)2000)
libstdc++.so.6 =>/lib64/libstdc++.so.6 (0x0.0007万f163bfaa000)
libgcc_s.so.1 =>/lib64/libgcc_s.so.1 (0x0.0007万f163bd94000)9.4万)
libc.so.6 =>/lib64/libc.so.6 (0x0.0007万f163b9d0000)0000)
/lib64/ld-linux-x86-64.so.2 (0x0000556467b68000)6.8万)
libm.so.6 =>/lib64/libm.so.6 (0x0.0007万f163b6ce000)

这里的乐趣是uname -a:

[gateway@localhost uscif]$ uname -a
Linux localhost.localdomain 3.10 smp.0-smp.2.el7.x86_64 #1 693.2 分隔符

感谢您的任何帮助。  我真的需要运行此设置。   

此致,

罗伊·库利

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

    我没有安装CentOS来测试此问题,但有一个较旧的线程谈到CCS与此操作系统的一些不兼容性。 请检查:
    e2e.ti.com/.../54.1445万

    此线程证明了我在阅读您的帖子后曾考虑过的一个可能的问题:缺少udev规则,该规则允许从常规用户帐户访问debug探测器。

    这是我要检查的第一件事,因为其他方面似乎都井然有序(Blackhawk驱动程序已正确安装,网络正常工作等)

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

    拉斐尔

    感谢您的评论。  您提供的线程包含  指向另一个CCS USB2000的链接。0.0.0048万 在Linux下无法打开6.2 2000报告'C_ERR_OCS_PORT' ,这将引导我找到解决方案。

    此致,

    罗伊·库利

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    现在,我可以使用Blackhawk Bh560v2调试我的主板,并在CentOS7下运行。 但是,工具链不能很好地支持此配置,并且仍然有“测试连接”之类的功能不起作用。 我就是这样做的,以防其他人需要这件事在这里工作。

    您可以直接运行DTC_conf工具,而是报告问题的程序,所以我从命令行开始运行它。 在我的系统上,该工具位于/home/gateway/ti/ccsv7/cs_base/common/uscif

    运行"/home/gateway/ti/ccsv7/cs_base/common/uscif/tc_conf -e"可获得示例列表。

    示例1 -使用USB显示当前IP地址
    dc_conf获取sd560v2u 0 ipAddress

    示例2-使用USB为静态IP地址配置网络
    dc_conf set sd560v2u 0 ipconfig=<ip-address>

    示例3 -使用USB为DHCP配置网络
    dcs_conf set sd560v2u 0 ipconfig=dhcp

    示例4-使用USB禁用网络
    dcs_conf set sd560v2u 0 ipconfig=off

    示例5-使用以太网显示所有设置
    dc_conf获取sd560v2e <ip-address>

    示例6-使用以太网更新固件
    dcs_conf update sd560v2e <ip-address> c:\tmp\myfirmware

    由于我只对以太网感兴趣(我怀疑我的USB连接可以正常工作),我运行了示例5,但它失败了。

    在strace下再次运行DTC_conf工具,如下所示:
    sudo strace dTC_conf get sd560v2e 192.168 .0.70

    从这份报告的输出中我发现:

    套接字(AF_iNet,sock_stream,IPPROTO_IP)= 4
    setsockopt (4,SOL_TCP,TCP_NODELAY,[1],4)= 0
    CONNECT (4,{sa_family=af_iNet,sin_port=htons (5.5756万),sin_addr=inet_addr ("EHOSTUNREACH (192.168 .0.70)")},16)=-1 EHOSTUNREACH (无主机路由)
    关机(4,SHUTT_RDWR) =-1 ENOTCONN (未连接传输端点)
    关闭(4)

    DTC_conf尝试使用TCP/IP和端口5.5756万连接到Blackhawk Bh560v2。 CentOS7默认情况下会锁定许多网络。 用于更改防火墙配置的工具是firewall-cmd。 执行这些命令会打开端口。

    sudo firewall-cmd --zone=public --add-port=5.5756万/TCP --permanent
    sudo firewall-cmd --reload

    我再次运行示例5,它工作正常! 然后我运行了Bh560v2Config实用程序,但它失败了。 Bh560v2Config实用程序提供的输出包含用于启动DTC_conf工具的命令行。

    Bh560v2Config实用程序在执行时失败:
    tc_conf获取bh560v2e 192.168 .0.70
    示例5在执行时工作:
    dTC_conf获取sd560v2e 192.168 .0.70

    请注意,第三个参数"bh560v2e"与"sd560v2e"不同。 返回并在strace下运行其中的每一个参数时,我发现DTC_conf正在尝试打开一个包含第三个参数的文件。

    成功运行的摘录:

    futex (0x7f7378d360d0,FUTEX_WAKE_PRIVATE,2147483647)= 0
    open("/home/gateway/ti/ccsv7/cs_base/common/uscif/./sd560v2e_io.so",O_RDONLY|O_CLOEXEC)=4
    读取(4,"\177ELF\2\1\1\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0"... 240 m ,832)= 832

    失败运行的摘录:
    Futex (0x7fb1687af0d0,FUTEX_WAKE_PRIVATE,2147483647)= 0
    open("/home/gateway/ti/ccsv7/cs_base/common/uscif/./bh560v2e_io.so",O_RDONLY|O_CLOEXEC)=-1 ENOENT (无此类文件或目录)
    open("/home/gateway/ti/ccsv7/cs_base/common/uscif/../././common/uscif/bh560v2e_io.so",O_RDONLY|O_CLOEXEC)=-1环境(无此类文件或目录)
    open("/home/gateway/ti/ccsv7/cs_base/common/uscif/../././common/bin/bh560v2e_io.so",O_RDONLY|O_CLOEXEC)=-1 ENOENT (无此类文件或目录)
    OPEN ("/etc/ld.so.cache",O_RDONLY|O_CLOEXEC)= 4

    查看/home/gateway/ti/ccsv7/cs_base/common/uscif/的内容,发现存在几个有趣的文件:

    -rwxr-xr-x 1个网关31.6955万 2016年3月11日libbh560v2e_io.so
    -rwxr-xr-x 1网关40.3026万 2016年3月11日libbh560v2u_io.so
    -rwxr-xr-x 1网关5.5825万 2016年2月10日libbhemuapi.so
    -rwxr-xr-x 1网关49.7673万 2016年2月10日libbhemujscl.so

    尝试打开“bh560v2e_io.so”时,Bh560v2Config实用程序失败,并且在默认目录中存在“libbh560v2e_io.so”。 我将“libbh560v2e_io.so”重命名为“bh560v2e_io.so”,Bh560v2Config实用程序开始工作。

    很好,但我真正想做的是调试CCS7的目标。 将闪屏项目调整为使用“Blackhawk XDS560v2-LAN系统跟踪仿真器_0”并尝试调试程序失败。 运行目标配置-测试配置会生成以下输出,表明文件丢失。

    [开始:Blackhawk XDS560v2-LAN系统跟踪仿真器_0]

    执行以下命令:

    %ccs_base%/common/uscif/dbgjtag -f %boarddatafile -RV -o -f inform,logfile=yes -S pathlength -S完整性

    [结果]


    ——— [打印主板配置路径名]------------------

    /home/gateway/.ti/ti/0/0/BrdDat testBoard.dat

    未使用[-d/-f]或[-X]选项。
    此实用程序需要仿真程序或适配器文件。
    主板配置文件根本没有命名它,
    或者未找到命名文件或缺少读取权限。

    此实用程序的功能在中进行了说明
    [-h]选项的简要帮助和文档。

    [完:Blackhawk XDS560v2-LAN系统跟踪仿真器_0]


    我将testBoard.dat从我的Windows计算机移到了我的项目目录,并将目标配置-板数据文件更新为“指定自定义”,并指向我从Windows复制的testBoard.dat,现在调试工作了! “Target Configuration - Test Configuration”(目标配置-测试配置)仍失败,但我可以调试应用程序。

    最后一个注意事项是,要让Blackhawk Bh560v2与我的EK-TM4C129EXL通信,我必须调整目标配置- JTAG TCLK频率(MHz)设置。 我在前一天在Windows下工作时做了这件事,但是Blackhawk Bh560v2默认使用RTCK PIN,而EK-TM4C129EXL上不提供此PIN。 设置目标配置- JTAG TCLK频率(MHz)为“TCLK loopedback with user specified limit”,并使用为“-- Enter a value from 0.5MHz to 64.0MHz”提供的默认值(10.368MHz),使Blackhawk Bh560v2与我的EK-TM4C129EXL通信。

    此致,
    罗伊·库利