Content-Type: text/x-zim-wiki
Wiki-Format: zim 0.4
Creation-Date: 2020-11-17T16:11:48+08:00
====== 车机命令 ======
创建日期 星期二 17 十一月 2020
流程从这里开始
ps:将车机设备线连接在liunx主机上,如此才可以进入android和qnx系统
本机Liunx端:
1.ls查看本机目录
2.进入到相应目录下,如 cd 1117_1100/
3.ls查看此目录下是否有需要的执行文件或共享库之类的文件,如cluster_middleware
4.adb root(给安卓权限,adb是操作安卓的命令)
5.push本地文件到安卓和QNX系统的共享目录,此时两个系统都拥有此文件
adb push cluster_middleware /mnt/qnxshare/syslog
(在安卓系统下,/mnt/qnxshare/目录下看是否有映射的qnx系统下的文件,如果有,可以从本地push文件到安卓的此共享路径
/mnt/qnxshare/dumper/ 对应qnx下的/var
/mnt/qnxshare/syslog/ 对应qnx下的/syslog)
6.从本机liunx进入安卓系统
adb shell
ps:clusetr_service进程的执行文件必须更名为cluster_middleware,才能在车机上被自动脚本运行。
安卓端:
1.进入QNX系统
busybox telnet 10.0.0.2
2.root
login:root
QNX端:
1.ls查看一下qnx当前目录下的文件
2.查看所有运行的进程
pidin a
3.cd /livingengine/bin/
4.ls (查看目录下的文件,此时该目录下应该有原来的cluster_middleware)
5.杀死原来正在运行的cluster_middleware进程
kill -9 991330(991330是cluster_middleware进程的pid)
6.由于当前是只读系统,所以要挂载读写权限
mount -o remount -rw /
7.删除当前目录下的clusetr_middleware,这一步删除之前可以将之重名备份避免还需要使用
rm clusetr_middleware
8.拷贝新的cluster_middleware到当前目录
cp /syslog/cluster_middleware .
9.ls查看当前目录下是否有新的clusetr_middleware
11.ls -l
12.给此目录下所有文件加上执行权限
chmod 777 *
13.sync (清空缓存,同步,避免没有同步文件)
14.重启车机,此时会退出qnx到本机liunx
reboot
本机liunx端:
1.adb shell
2.busybox telnet 10.0.0.2
Qnx端:
1.由于系统中有自动执行脚本,所以不用手动执行可执行文件,车机重启时那些执行文件便自动执行
2.查看所有车机运行进程,检查要运行的进程是否启动
pidin a
3.用测试工具发送CAN信号测试主题切换
4.打印屏幕,查看相应的日志
slog2info |grep -i xuke
5.或者可cd /syslog/,再ls查看,可以看到qnxslog等日志文件,执行日志写入在该日志文件
ps:cluster_hmi进程或其他进程的操作与cluster_service进程类似
用自己的cluster_service测试文件替换/livingengine/bin目录下的cluster_middle文件,并给执行权限;
用自己的clsuter_hmi及kzb替换/livingengine/cluster_hmi目录下的cluster_hmi文件及kzb,并给执行权限。
退出安卓和QNX系统:exit
整个流程结束
另一种导入文件到qnx系统的方法----
在本机liunx端:
1.将本机需要导入的文件推到安卓端的目标目录下,如
adb push cluster_service /sdcard
在liunx终端1中,进入安卓:
1.adb shell
2.su
3.busybox tcpsvd -vE 0.0.0.0 21 busybox ftpd -w -A /sdcard
(/sdcard是安卓需要导出的文件所在的目录,将它作为ftp服务器目录),此时安卓端作为ftp服务器启动:
tcpsvd:listening on 0.0.0.0:21,starting
…
在liunx终端2中,进入qnx:
1.adb shell
2.busybox telnet 10.0.0.2
3.login:root
4.cd 目标路径
5.ls
6.mount -o remount -rw / (由于当前系统是只读系统,所以要挂载读写权限,否则无法导入文件)
7.ftp 10.0.0.1
…
Name (10.0.0.1:root):root
8.ftp>get cluster_service(导入ftp服务器安卓端/sdcard下某单个文件到qnx当前目录)
8*.ftp>mget .(导入ftp服务器安卓端当前目录/sdcard下多个文件到qnx当前目录)
9.ftp>exit
10.ls查看,此时在qnx目标路径下已经导入了某单个文件或多个文件
将安卓的文件传到本地:
adb pull file [[./]]
启动cluster_hmi进程:
将资源包如bin.zip推送到共享目录;
将bin.zip从共享目录cp到/livingengine/cluster_hmi目录下,将原来的资源删除;
unzip bin.zip解压,其他操作类似于cluster_middleware;
打印cluster_hmi进程日志:
先将车机里的cluster_hmi进程杀死,手动执行cluster_hmi可执行文件,日志会打印在终端屏幕上。
启动安卓某app程序:
安装程序:adb install -r app-debug.apk
启动程序:adb shell am start -n com.ts.gallopclustersdktest/.MainActivity
此时程序已经启动,可以在中控屏看到效果,操作屏幕之前须操作:
adb root
adb remount
adb shell
mount
chmod 777 -R mnt
打印安卓端日志:
adb logcat -b all |tee temp.log |grep -E “SubDisplay|CLUSTER_SDK_TEST”