更新时间:2021-03-18 GMT+08:00
分享

IDE Daemon发送命令给Device侧执行

命令功能

IDE Daemon发送命令给Device侧执行,比如发送查看Device侧的日期信息的命令。

命令格式

IDE-daemon-client --host <host_ip>:<port> [--device <deviceID>] --cmd <command>

参数说明

表1 参数说明

参数名称

参数描述

是否必选

默认值

--host

  • host_ip:指定Host侧的IP地址。
  • port:指定端口号。

port默认值为22118。

--device

如果Host连接了多个Device,则可以通过--device deviceID指定具体的Device。如果不指定Device,则默认指定deviceID为0的Device。

deviceID默认值为0。

--cmd

指定需要Device侧执行的命令,命令列表请参见command列表

date命令外,其它command命令必须放在单引号或双引号中。如果command命令中已有双引号,则将command命令放在单引号中;如果command命令中已有单引号,则将command命令放在双引号中。

-

使用示例

  1. 以HwHiAiUser用户登录Host侧服务器。
  2. 执行命令,查看Device侧的日期信息。
    IDE-daemon-client --host xx.xx.xx.xx:22118 --cmd date

    xx.xx.xx.xx需要替换为实际的Host的IP地址。

command列表

在半固化类的命令中,xxxx、yy等内容需要根据实际情况替换为目录名称或文件名称。

命令中的~表示启动IDE-daemon-host或IDE-daemon-device进程的用户的家目录。

类别

命令

备注

固化

pkill cce-gdbserver

-

ide_cmd.sh --reboot

sudo提权,实际执行命令为

sudo command,实际执行为reboot mini命令。

用于重启开发者板。

date

-

mkdir -p /tmp/profiler-tools/

-

rm /opt/mini/mini_developerKit*.rar

-

chmod +x /opt/mini/minirc_install_phase1.sh

-

chmod +w ~/ide_daemon/rollback_idedaemon_crt.sh

-

chmod +w ~/ide_daemon/backup_idedaemon_crt.sh

-

/opt/mini/minirc_install_phase1.sh

-

tar -xvf ~/host/EVB.tar -C ~/host/

-

rm -rf /var/dlog/*

-

rm -rf ~/host

-

mkdir -p ~/host

-

rm -rf ~/HIAI_PROJECTS/dlog.tar

-

tar -cPf ~/HIAI_PROJECTS/dlog.tar /var/dlog/

-

grep -rn "firmware upgrade finish, start to reboot" /var/davinci/log

-

grep -rn "fail" /var/davinci/log/firmware_upgrade_progress.log

-

python -c \"import future;import sys;sys.exit(future.__version__ < 0.15)\"

检查Host侧的future库的版本号。

实际执行的命令为:

python -c "import future;import sys;sys.exit(future.__version__ < 0.15)"

python -c \"import numpy;import sys;sys.exit(numpy.__version__ < 1.14)\"

检查Host侧的numpy库的版本号。

实际执行的命令为:

python -c "import numpy;import sys;sys.exit(numpy.__version__ < 1.14)"

"python -c \"\n"\"import enum\n"\"import sys\n"\"try:\n"\" if enum.__version__ >= 0.4:\n"\" sys.exit(0)\n"\"except AttributeError:\n"\" if enum.version >= 1.0:\n"\" sys.exit(0)\n"\"\""

检查Host侧的enum库或enum34库的版本号。

实际执行的命令为:

python -c \"

import enum

import sys

try:

if enum.__version__ >= 0.4:

sys.exit(0)

except AttributeError:

if enum.version >= 1.0:

sys.exit(0)

\"

cat /etc/sys_version.conf

获取开发者板的Ascend 310软件版本号。

半固化

rm -rf ~/hdcd; rm -rf ~/HIAI_PROJECTS/xxxx; rm -rf ~/HIAI_DATANDMODELSET/xxxx; rm -rf ~/profiler-app/xxxx; rm -rf ~/ide_daemon/xxxx

-

rm ~/HIAI_PROJECTS/xxxx; rm ~/HIAI_DATANDMODELSET/xxxx; rm ~/profiler-app/xxxx; rm ~/ide_daemon/xxxx

-

wc -l ~/hdcd/xxxx; wc -l ~/HIAI_PROJECTS/xxxx; wc -l ~/HIAI_DATANDMODELSET/xxxx; wc -l ~/profiler-app/xxxx

-

mkdir -p ~/hdcd/xxxx; mkdir -p ~/HIAI_PROJECTS/xxxx; mkdir -p ~/HIAI_DATANDMODELSET/xxxx; mkdir -p ~/profiler-app/xxxx; mkdir -p ~/ide_daemon/xxxx

执行可执行文件。

mkdir ~/HIAI_PROJECTS/xxxx; mkdir ~/HIAI_DATANDMODELSET/xxxx; mkdir ~/profiler-app/xxxx; mkdir ~/ide_daemon/xxxx

-

tar -cf ~/hdcd/xxxx/yy.tar -C ~/HIAI_PROJECTS/xxxx xxxx; tar -cf ~/HIAI_PROJECTS/xxxx/yy.tar -C ~/HIAI_PROJECTS/xxxx xxxx; tar -cf ~/HIAI_DATANDMODELSET/xxxx/yy.tar -C ~/HIAI_DATANDMODELSET/xxxx xxxx; tar -cf ~/profiler-app/xxxx/yy.tar -C ~/profiler-app/xxxx xxxx

将“-C参数后的目录及其下的文件”压缩成“-cf参数后的压缩包”。

将xxxx修改为实际的目录名称,将yy修改为实际的tar包名称。

tar -xvf ~/hdcd/xxxx/yy.tar -C ~/HIAI_PROJECTS/xxxx; tar -xvf ~/HIAI_PROJECTS/xxxx/yy.tar -C ~/HIAI_PROJECTS/xxxx; tar -xvf ~/HIAI_DATANDMODELSET/xxxx/yy.tar -C ~/HIAI_DATANDMODELSET/xxxx;

tar -xvf ~/profiler-app/xxxx/yy.tar -C ~/profiler-app/xxxx

-

mv ~/hdcd/xxxx ~/HIAI_PROJECTS/xxxx; mv ~/HIAI_PROJECTS/xxxx ~/HIAI_PROJECTS/xxxx; mv ~/profiler-app/xxxx ~/profiler-app/xxxx

-

chmod +x ~/hdcd/xxxx; chmod +x ~/HIAI_PROJECTS/xxxx; chmod +x ~/profiler-app/xxxx; chmod +x ~/ide_daemon/xxxx

-

chmod -w ~/hdcd/xxxx; chmod -w ~/ide_daemon/xxxx

-

cp ~/HIAI_PROJECTS/xxxx ~/HIAI_PROJECTS/xxxx; cp -af ~/HIAI_PROJECTS/xxxx ~/HIAI_PROJECTS/xxxx

-

sha512sum ~/hdcd/xxxx; sha512sum ~/HIAI_DATANDMODELSET/xxxx

-

find ~/HIAI_DATANDMODELSET/xxxx -type f|xargs sha512sum|sort

-

~/HIAI_PROJECTS/xxxx; ~/ide_daemon/xxxx

执行可执行文件。

~/HIAI_PROJECTS/xxxx ~/HIAI_DATANDMODELSET/xxxx yyy ddd zzz

执行二进制文件,带固定参数。其中“~/HIAI_DATANDMODELSET/xxxx”“yyy”“ddd”“zzz”表示参数,需根据实际情况替换。

cce-gdbserver ip_address:port --attach xxx 2>&1; cce-gdbserver ip_address:port ~/ide_daemon/debug/xxxx

ip_addressport需根据实际情况替换。

xxx需根据实际情况替换为进程ID。

pgrep -x -f "cce-gdbserver ip_address:port --attach xxx"; pgrep -x -f "cce-gdbserver ip _ddress:port ~/ide_daemon/debug/xxxx"

ip_addressport需根据实际情况替换。

xxx需根据实际情况替换为进程ID。

pidof xxxx

xxxx需根据实际情况替换为进程名

ps ux | awk '{print}'| sed 1d; ps ux | awk '{print $x\t$y}'| sed 1d

-

ps -ef | awk '{print}'| sed 1d; ps -ef | awk '{print $x\t$y}'| sed 1d

-

ide_cmd.sh --eth0_up ip _address

sudo提权,实际执行命令为

sudo command,脚本中的命令为ifconfig eth0 ip_address

仅适用于开发者板。

ip_address需根据实际情况替换。

ide_cmd.sh --setup_eth0 ip_address netmask_address gw_address

sudo提权,实际执行命令为

sudo command,脚本中的命令为ifconfig eth0 ip_address netmask netmask_address && route add default gw gw_address

仅适用于开发者板。

ip_address/netmask_address/gw_address需根据实际情况替换。

sed -i '/iface.eth0/{n;s/address.*/address ip_address/;}' /etc/network/interfaces

sudo提权,实际执行命令为

sudo command

仅适用于开发者板。

ip_address需根据实际情况替换。

sed -i '/iface.eth0/{n;n;s/netmask.*/netmask ip_address/;}' /etc/network/interfaces

sudo提权,实际执行命令为

sudo command

仅适用于开发者板。

ip_address需根据实际情况替换。

sed -i '/iface.eth0/{n;n;n;s/gateway.*/gateway ip_address/;}' /etc/network/interfaces

sudo提权,实际执行命令为

sudo command

仅适用于开发者板。

ip_address需根据实际情况替换。

del /f/s/q D:\profiler-app; del /f/s/q D:\profiler-app\xxx

windows命令,删除文件。

命令中的D需要根据实际情况替换为windows机器上的盘符。

dir D:\profiler-app; dir D:\profiler-app\xxx

windows命令,列出文件夹内容。

命令中的D需要根据实际情况替换为windows机器上的盘符。

md D:\profiler-app; md D:\profiler-app\xxx

windows命令,创建文件夹。

命令中的D需要根据实际情况替换为windows机器上的盘符。

rd /s/q D:\profiler-app; rd /s/q D:\profiler-app\xxx

windows命令,删除文件夹。

命令中的D需要根据实际情况替换为windows机器上的盘符。

tar -xvf D:\profiler-app\xxx.tar -C D:\profiler-app\yyy

windows命令,创建压缩包。

命令中的D需要根据实际情况替换为windows机器上的盘符。

kill $(pidof ~/HIAI_PROJECTS/xxxx/out/yyy)

-

kill $(pidof -x ~/HIAI_PROJECTS/xxxx/out/yyy)

-

kill -9 $(pidof ~/HIAI_PROJECTS/xxxx/out/yyy)

-

kill -9 $(pidof -x ~/HIAI_PROJECTS/xxxx/out/yyy)

-

kill `pgrep -x -f "cce-gdbserver ip_address:port --attach xxx"`

ip_addressport需根据实际情况替换。

xxx需根据实际清楚替换为进程号。

kill -9 `pgrep -x -f "cce-gdbserver ip_address:port --attach xxx"`

ip_addressport需根据实际情况替换。

xxx需根据实际清楚替换为进程号。

kill `pgrep -x -f "cce-gdbserver ip_address:port ~/ide_daemon/debug/xxxx"`

ip_addressport需根据实际情况替换。

kill -9 `pgrep -x -f "cce-gdbserver ip_address:port ~/ide_daemon/debug/xxxx"`

ip_addressport需根据实际情况替换。

cd ~/HIAI_PROJECTS/xxxx/out;./yy

到目录下执行可执行文件,无参数。

cd ~/HIAI_PROJECTS/xxxx/out;./yy ~/HIAI_DATANDMODELSET/xxxx yyy ddd zzz

到目录下执行二进制文件,带固定参数。其中“~/HIAI_DATANDMODELSET/xxxx”“yyy”“ddd”“zzz”表示参数,需根据实际情况替换。

cd ~/HIAI_PROJECTS/xxxx/out;~/HIAI_PROJECTS/xxxx/out/yyy ~/HIAI_DATANDMODELSET/xxxx yyy ddd zzz

到目录下执行二进制文件,带固定参数。其中“~/HIAI_DATANDMODELSET/xxxx”“yyy”“ddd”“zzz”表示参数,需根据实际情况替换。

分享:

    相关文档

    相关产品