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 似乎支持使用 DSS 工具( https://dev.ti.com/tirex/explore/node?node=AEvH2m2WktsK7yoAuLqLWA__FUz-xrs__LATEST )进行某种"远程调试"。
[计算机1: CCS IDE +调试器 ]-->[计算机2:DSS +调试器+ USB 调试器]--> USB-|[ LAUNCHXL-F280039C ]
我可以启动"test_server.js",它在端口4444上作为服务器在本例中的机器2上侦听^:
:~/work/debug_server/ccs_base/scripting/examples/TestServer $.../../bin/dss.sh test_server.js
服务器启动...
服务器已启动。
会话[0]在端口4444上打开。
错误:'bug_cmd'不是函数、不会添加。
testserver 已就绪。
我已确认服务器通过使用原始 TCP 套接字(telnet)连接并发送垃圾邮件来正确响应。
但是、我们不清楚 如何将 IDE 连接到机器1上的调试器。 所有调试程序似乎都需要一个.ccxml 文件——我似乎遗漏了 DSS 的一个文件(可能是?)。 如何将1.2.3.4:4444 (IP:PORT)添加到 CCS IDE 中、从而可以编程和调试?
您好!
Unknown 说:[Machine 1: CCS IDE + Debugger ]
Unknown 说:但是、 我不清楚如何将 IDE 连接到机器1上的调试器
请注意、您未将机器1上的 CCS IDE 连接到机器2上的远程 DSS 会话。 计算机1上不涉及 CCS/DSS。 机器1只需通过 JSON 格式(通过打开的套接字)将命令发送到机器2、后者转换为由机器2上打开的 DSS 会话执行的 DSS 操作。
TestServer 用于远程控制远程机器上的无外设调试会话。 如果要在本地对远程计算机使用实际的 CCS IDE、则需要使用基于 XDS 的 LAN 调试探针。
谢谢
小
那么 DSS 对于只使用 CCS 执行调试会话来说相当复杂。
DSS 用于 CCS 调试器的无头自动化。 但是、DSS 在后台与 TestServer 示例一起使用。 用户只需将所需的调试命令发送到正在运行的 DSS 服务器。
关于 XDS LAN 探测器,这也 是非常昂贵的。 (2000美元以上? )
XDS LAN 探头确实有点昂贵、
我将研究 Linux NBD (网络块设备),我会使用此设备链接网络端口并向/从 USB XDS Probe 发送流量。 您以前是否尝试过此功能?
我没有这方面的经验。
小
>>用户只需将所需的调试命令发送到正在运行的 DSS 服务器
但是、这需要计算机运行 CCS。 x86_64,似乎没有集成到 CCS 调试器?
>> 我没有这方面的经验。
由于 TI 调试器为:1. 提供多个 TTY 接口,以及2. 在 USB 上切换不同的配置,显示不同的活动设备(FU 和"正常"是其中的两个)。
我能够配置 usbip 以来回转换 USB 连接- CCS 就能检测到它。 现在我需要切换 usbip 以拾取 DFU、此时 LAUNCHXL 切换到相应模式、并返回至正常模式。 寻找技巧来检测这种变化,我相信它是在 systemctl .. 继续阅读,如果你可以建议正确的触发器与 systemd 在这里..
到目前为止--
安装软件
APT 安装 usbip
调制探针 usbip_host
echo 'usbip_host'>>/etc/modules
列出 USB 设备并记下产品/供应商
usbip 列表-l
创建启动脚本
纳米/usr/sbin/usbip_start.sh
#!/bin/bash
# TI 0039C --串行00b
USB1='0451:bef3'
# TI 0039C -- SERIAL 00B - DFU
#总线001设备005: ID 1cbe:00ff Luminary Micro Inc. Stellaris ROM DFU 启动器
USB2='1cbe:00ff'
/usr/sbin/usbip bind --$(/usr/sbin/usbip list -p -l | grep '#usbid='$USB1'#'| cut '-d#' f1)
/usr/sbin/usbip bind --$(/usr/sbin/usbip list -p -l | grep '#usbid='$USB2'#'| cut '-d#'- f1)
使此可执行
chmod +x /usr/sbin/usbip_start.sh
创建停止脚本
纳米/usr/sbin/usbip_stop.sh
#!/bin/bash
# TI 0039C --串行00b
USB1='0451:bef3'
# TI 0039C -- SERIAL 00B - DFU
#总线001设备005: ID 1cbe:00ff Luminary Micro Inc. Stellaris ROM DFU 启动器
USB2='1cbe:00ff'
/usr/sbin/usbip unbind --$(/usr/sbin/usbip list -p -l | grep '#usbid='$USB1'#'| cut '-d#'-cmi f1)
/usr/sbin/usbip unbind --$(/usr/sbin/usbip list -p -l | grep '#usbid='$USB2'#'| cut '-d#'-cut) f1
killall usbid
使此可执行
chmod +x /usr/sbin/usbip_stop.sh
创建服务
纳米/lib/systemd/system/usbipd.service
[单位]
Description=usbip 主机守护程序
after = network.target
[服务]
类型=前向
ExecStart=/usr/sbin/usbipd -D
ExecStartPost=/bin/bash -c '/usr/sbin/usbip_start.sh
ExecStop=/bin/bash -c '/usr/sbin/usbip_stop.sh
[安装]
WantedBy=多用户.target
systemctl --系统守护程序-reload
systemctl 启用 usbipd.service
systemctl 启动 usbipd.service
检查找到的 USB 设备
usbip list -p -l
——
Linux 客户端
切换到 root 帐户
苏-
检查是否连接了 USB 设备
lsusb
安装软件并创建服务
apt install usbip hwdata usbutils -y
调制探针 vhci-hcd
echo 'vhci-hcd'>>/etc/modules
创建启动脚本
纳米/usr/sbin/usbip_start.sh
#!/bin/bash
服务器1='192.168.200.7'
# TI 0039C 开发套件-- serial 000b
USB1='0451:bef3'
# TI 0039C -- SERIAL 00B - DFU
#总线001设备005: ID 1cbe:00ff Luminary Micro Inc. Stellaris ROM DFU 启动器
USB2='1cbe:00ff'
/usr/bin/usbip attend -r $server1 -b $(/usr/bin/usbip list -r $server1 | grep $usb1 | cut -d:-usb1 f1)
/usr/bin/usbip attach -r $server1 -b $(/usr/bin/usbip list -r $server1 | grep $USB2 | cut -d:-USB2 f1)
使此可执行
chmod +x /usr/sbin/usbip_start.sh
创建停止脚本
纳米/usr/sbin/usbip_stop.sh
#!/bin/bash
/usr/bin/usbip detach --port=$(/usr/bin/usbip port | grep ' '| sed -E 's/^端口([0-9][0-9]).*/\1/')
/usr/bin/usbip detach --port=$(/usr/bin/usbip port | grep ' '| sed -E 's/^端口([0-9][0-9]).*/\1/')
使此可执行
chmod +x /usr/sbin/usbip_stop.sh
创建服务
纳米/lib/systemd/system/usbip.service
[单位]
Description=usbip 客户程序
after = network.target
[服务]
类型=单触发
RemainAfterExit=是
ExecStartPost=/bin/bash -c '/usr/sbin/usbip_start.sh
ExecStop=/bin/bash -c '/usr/sbin/usbip_stop.sh
[安装]
WantedBy=多用户.target
systemctl --系统守护程序-reload
systemctl 启用 usbip.service
systemctl 启动 usbip.service
检查是否连接了 USB 设备
USBIP 端口
lsusb
是的,但是,这要求计算机运行 CCS。 x86_64之类的程序,似乎没有集成到 CCS 调试程序中?
仅连接到目标板的充当服务器的第二台计算机。 第一台(客户端)计算机没有 CCS 依赖性、只要它可以通过套接字发送 JSON 命令、就可以是任何计算机。
我能够配置 usbip 以来回转换 USB 连接-而 CCS 可以检测到它。 现在我需要切换 usbip 以拾取 DFU、此时 LAUNCHXL 切换到相应模式、并返回至正常模式。 寻找技巧来检测这种变化,我相信它是在 systemctl .. 继续阅读,如果你可以建议正确的触发器与 systemd 在这里.. [/报价]感谢您分享您的进度。 希望其他更有经验的人能够通过更深入的了解而发出声音。
>>仅作为服务器并连接到目标板的第二台计算机。 第一台(客户端)计算机没有 CCS 依赖性、只要它可以通过套接字发送 JSON 命令、就可以是任何计算机。
>> 希望有其他更有经验的人,能够以更多的洞察力蜂鸣。
可以。 我将继续堵塞。