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/OMAP-L138:在Linux (Ubuntu 14.04)虚拟机上运行的CCS与XDS200存在连接问题

Guru**** 2595805 points
Other Parts Discussed in Thread: SEGGER

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/620361/ccs-omap-l138-ccs-running-on-linux-ubuntu-14-04-virtual-machine-has-connectivity-issue-with-xds200

部件号:OMAP-L138
主题中讨论的其他部件:SEGGER

工具/软件:Code Composer Studio

您好,

我们有自己的使用MityDSP (Criticallink)的定制板。 我们正在使用Criticallink提供的SDK。 我们拥有带有Ubuntu 14.04 的Linux VM和Windows 10 Pro主机。 现在,我们正在尝试使用Spectrum Digital XDS200仿真器调试我们的软件。 我们正在使用USB 2.0 进行XDS200连接。 在Linux VM中使用5.5 和CCS 6.1 进行测试时,我们在测试连接时遇到了问题。 附加错误的屏幕截图。

当我们使用CCS 6.2 .0在Windows主机操作系统中测试XDS200时,它工作正常。

我们尝试更新XDS200驱动程序,但无法更新。 XDS200的软件版本为1.0 .0.8。 请建议如何纠正此问题,因为我们需要在Linux中运行项目。

提前感谢。

Rushina。

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

    您好,

    错误250通常是主机PC无法识别调试探测器时出现的。 以下页面的主机连接错误部分对此进行了说明:

    software-dl.ti.com/.../ccsv7_debugging_jtag_connectivity_issues.html

    首先运行xds2xx_conf命令。 您应该得到类似于下面所示的内容:

    如果未连接,请检查调试探测器是否连接到guest虚拟机,而不是主机操作系统。

      

    我的设置与您的设置略有不同。 我正在将VMware Workstation 12 Pro (12.5 6 Build -552.8349万)与Ubuntu 16.04 /64和6.2 一起使用。 某些其他版本可能会也可能不会显示以下Wiki网页中所报告的问题:

    http://processors.wiki.ti.com/index.php/VMware_with_CCS  

    有了它,我就可以毫无问题地连接到XDS200。  

    希望这能有所帮助,

    拉斐尔

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

    很抱歉回复太晚。

    实际上,我们正在按照您的建议执行相同的顺序,但仍然给出相同的错误。 当我们尝试连接仿真器时,板上是否有任何开关设置或其它要求? 另外,请发送XDS2xx USB调试探头高级设置的屏幕截图。

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

    您好,

    我刚刚设置了一个使用Ubuntu XDS2/64的虚拟机来运行6.2 CC100,结果是相同的:我能够连接到14.04 200。

    但是,您是否可以测试是否能够通过以root/sudo方式运行CCS来连接到它? 如果是这样,则可能是您在设置结束时没有运行install_script.sh来正确设置udev规则并允许用户访问调试探测器。

    这确实是我最后的想法,因为我不能在这里重复这个问题。

    顺便说一下,“高级”选项卡没有什么特别的。

    此致,

    拉斐尔

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

    您好,Rafael:

    感谢您的建议。 我们已使用5.5 4.0和6.1 3.2.3进行了测试。  我们将尝试使用CCSv 6.2 .0进行检查。 如您所述,我们在ccsv5和ccsv6的opt/ti/ccsv5/install_scripts文件夹和opt/ti/ccsv6/install_scripts文件夹中分别有Install_drivers.sh (不是install_script.sh)。 我们尝试运行这两个文件。  我检查了这些文件,发现其中包含XDS100驱动程序。 XDS200是否相同?  我将附上两个CCS版本的文件供您参考。 我根据CCS版本对这两个文件进行了重命名,以供您参考。 实际上是 Install_drivers.sh。

    谢谢,此致,

    Rushina

    e2e.ti.com/.../install_5F00_drivers_5F00_ccsv5.txt

    e2e.ti.com/.../install_5F00_drivers_5F00_ccsv6.txt

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

    Rushina,

    嗯,您似乎是以root身份安装CCS的,这不需要您运行install_drivers.sh文件。 (抱歉,我之前提到了错误的文件名)。

    有鉴于此,您能否检查在udev rules目录中是否看到以下文件,如下所示?

    udev 说:

    user@host:/opt/ti/ccsv6/install_scripts$ ls -l /etc/udev/rules.d/
    共计28.
    -rw-r--r-- 1根381 8月25日15:45 61-msp430uif.rules
    -rwxr-xr-x 1 root 2145 Aug25 15:45 70-mm-no-ti-emulators.rules
    -rw-r--r-- 1根691 8月25日15:45 71-bh-permissions.rules
    -rw-r--r-- 1根根559 Aug2515:45 71-sd-permissions.rules
    -rw-r--r-- 1根根1814年8月25日15:45 71-ti-permissions.rules
    -rw-r--r-- 1根4286 Aug25 15:47 99-jlink.rules

    [/引述]

    这些文件设置了CCS支持的多个JTAG调试器的用户访问权限。 71-BH*,71-SD*和99-*仅适用于Blackhawk和Spectrum Digital的第三方调试探测器。

    此致,

    拉斐尔

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

    Rushina Trivedi 说:
    在Linux VM中使用5.5 和CCS 6.1 .3测试连接时,我们在测试连接时遇到问题。[/QUOT]以下命令显示多少设备?

    ls -l /dev/ttyACM*

    XDS200会仿真两个ttyACM*设备。 如果有两个以上的ttyACM*设备,则CCS 6可能会尝试为不是XDS200的设备打开ttyACM*设备,导致 E_RPCENV_IO_ERROR(-6)无连接:DTC_IO_Open:DTC_IO错误。 您可以通过更改 目标配置中的"调试探测器I/O端口号"来解决此问题-请参阅 Linux上的XDS故障排除

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

    下面是我的虚拟机中对udev规则的响应。

    mitydsp@vagrantup:/opt/ti/ccsv6/install_scripts$ ls -l /etc/udev/rules.d/
    共计28.
    -rw-r--r-- 1根根134 8月25日23:31 60-vboxadd.rules
    -rw-r--r-- 1根根38.1201万6年12月28日61-msp430uif.rules
    -rwxr-xr-x 1 root 711 dec 282016 70-mm-no-ti-emulators.rules
    -rw-r--r-- 1根69.1201万6年12月28日71-bh-permissions.rules
    -rw-r--r-- 1根根559 Aug2600:54 71-sd-permissions.rules
    -rw-r--r-- 1根根511 8月26日01:55 71-ti-permissions.rules
    -rw-r--r-- 1根根1157 Apr 142014自述文件

    没有99-*规则。它是否会造成问题?

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

    感谢您的建议。 下面是命令响应。

    mitydsp@vagrantup:/$ ls -l /dev/ttyacm?
    crw-rw-rw- 1根拨出166,0 Sep 2 07:26 /dev/ttyACM0
    crw-rw-rw- 1根拨号166,1 sep 2 07:25 /dev/ttyACM1

    我们还尝试将目标配置中的“调试探测器I/O端口号”更改为值0和1,但出现了相同的错误。 出现错误后,获取xds200 -./xds2xx_conf get xds2xxS 0的配置信息的命令也无法正常工作。我们必须从端口中删除xds200,然后重新连接以运行配置命令。

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

    没有99-*规则。是否会造成问题?

    99-*规则适用于Segger J-Link,因此缺少 99-*规则并不能解释问题。

    查看Ubuntu 16.04 LTS下的CCS 7.2 安装,显示XDS200的规则位于 /etc/udev/rules.d/71-ti-permissions.rules中,该规则存在于您的系统中。

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

    我们拥有Spectrum Digital的XDS200。 在连接中,没有用于频谱数字XDS2xx的选项。 我们选择德州仪器(TI) XDS2xx USB调试探头。

      /etc/udev/rules.d文件夹中有两个文件

    1) 71-ti-permissions.rules

    2) 71-sd-permissions.rules

     哪个规则文件适用?  我发现两个文件之间的一个区别是 71-sd-permissions.rules中没有ttyACM规则。 我将随附 这两个文件供您参考。 我已将上传purpose.e2e.ti.com/.../71_2D00_sd_2D00_permissions.rules.txte2e.ti.com/.../71_2D00_ti_2D00_permissions.rules.txt的名称更改为*。txt

    谢谢,此致,

    Rushina。

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

    适用哪个规则文件?[/QUOT] XDS200的USB供应商ID为 0451,产品ID为bef0,该ID位于 71-ti-permissions.rules文件中。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这意味着权限规则文件没有问题? 那么,这意味着问题在其他地方? 正如我提到的,我们选择德州仪器(TI) XDS2xx调试探头用于Spectrum Digital XDS2xx应该不是问题,对吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Rushina Trivedi 说:
     您以前的ls -l /dev/ttyacm?输出 命令显示 ,/dev/ttyACM0和 /dev/ttyACM1设备已被授予所有者,组和其他人的RW权限,因此无法看到权限规则的问题。

    正如我所提到的,我们选择德州仪器(TI) XDS2xx的用于Spectrum Digital XDS2xx的调试探头应该不是问题,对吗?

    正确。

    那么,这意味着问题发生在其他地方?

    同意,但不知道问题的原因。收集有关该问题的更多信息的一些建议:

    1)在连接到XDS200失败之前和之后尝试运行命令:

    sudo mmcli -L

    该 命令可使调制解调器管理器列出它已识别的调制解调器。 70-ti-permissions.rules有 一个ENV{Id_mm_device_ignore}="1"条目,该条目应阻止调制解调器管理器尝试打开XDS200 /dev/ttyACM? 设备作为调制解调器。

    2)插入XDS200后,如果无法连接到XDS200,dmesg中的消息是什么? dmesg中的消息可能会识别问题。

    3)您提到 ./xds2xx_conf get xds2xxu 0停止工作。 是否可以在strace下运行xds2xx_conf并发布结果? 这应详细说明检测到的错误xds2xx_conf。

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

    我很抱歉我的回应被延误。

    我将随附日志文件和屏幕截图以及相应的命令名称。 请看一下,如果我错过了什么,请告诉我。

    对于测试连接屏幕截图,在第一次屏幕截图后, XDS200需要几分钟的时间来响应。 中的响应是第二个屏幕截图。

    谢谢。

    Rushina。   e2e.ti.com/.../dmesg_5F00_before_5F00_err.txte2e.ti.com/.../dmesg_5F00_after_5F00_err.txte2e.ti.com/.../strace_5F00_xds200_5F00_before_5F00_err_5F00_log.txte2e.ti.com/.../strace_5F00_xds200_5F00_after_5F00_err_5F00_log.txt

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

    我将随附日志文件和屏幕截图以及相应的命令名称。 请看一下,如果我错过了什么,请告诉我。[/QUOT]我看了一下,但看不出问题的原因。

    dmesg输出显示已正确识别XDS200,并且没有其它USB ACM设备。 mmcli命令显示调制解调器管理器尚未抓取XDS200 USB ACM设备。

    错误后,xds2xx_conf程序的strace显示:

    A) 已成功打开XDS200的/dev/ttyACM0设备。

    b)数据被写入 /dev/ttyACM0设备。

    C)尝试从 /dev/ttyACM0读取数据时不返回任何数据,22秒后 ,xds2xx_conf程序将使用SIGTERM终止(可能是 在xds2xx_conf程序无法生成ant输出后按Ctrl-C)。

    因此,由于某种未知原因,XDS200已进入不回复发送给它的任何命令的状态。

    我想不出更多的建议,请您尝试调查问题。

    您似乎正在使用VirtualBox运行虚拟机。 在客户操作系统中调试USB问题时,是否有VirtualBox常见问题?

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

    感谢你的所有帮助。  是的,我们正在使用VirtualBox运行虚拟机。 我们将检查 是否有任何VirtualBox常见问题解答用于调试USB问题。

    谢谢,此致,

    Rushina。