sa8155p QNX部分命令汇总,关闭android SELINUX

一、进入QFIL刷机模式

本例中:

QNX的IP地址配置为 666.18.1.200

adb shell连接 qnx

adb shell

$ su root
# busybox telnet 666.18.1.200

Connected to 666.18.1.200

Entering character mode
Escape character is '^]'.

QNX Neutrino (localhost) (ttyp0)

账户输入 root

login: root


进入刷机

# cd bin/
# ./mis_send_client 0 0 2 0 2 1 4

系统会自动重启进入刷机模式。 

二、关闭android SELINUX

本例中:

nfs 服务端 /usr/nfs_share/common/

nfs android 客户端目录 /data/vendor/nfs/mount/common/

QNX的IP地址配置为 666.18.1.200

1, adb shell连接 qnx导出linux-la.config

adb root
adb shell
#busybox telnet 666.18.1.200

账户输入 root

在QNX终端,把linux-la.config拷贝到nfs共享目录:

#mount -uw /
# cp vm/images/linux-la.config /usr/nfs_share/common/
# exit

退出qnx命令行与adb shell

adb remount
adb pull /data/vendor/nfs/mount/common d:\pull

2,修改linux-la.config

在该文件找到如下字符串

androidboot.selinux=enforce

改成

androidboot.selinux=permissive

3,替换linux-la.config

删掉旧的 linux-la.config

adb shell
#rm /data/vendor/nfs/mount/common/linux-la.config
#exit

把新的 linux-la.config push到nfs共享目录:

adb push D:\pull\linux-la.config /data/vendor/nfs/mount/common/

再进入QNX终端,把linux-la.config 从共享目录复制到目标目录:

#mount -uw /
#mount -o remount,rw /
#cd  vm/images/
#rm linux-la.config
#cp /usr/nfs_share/common/linux-la.config  ./

之后重启机器,就能够关闭selinux了。

三、进入fastboot

在QNX终端敲:

reset -f

四、临时豁免特定应用的SELINUX权限

如果调试时候,不需要全部selinux权限关闭,可以临时豁免特定应用的selinux权限。

1,自己编代码修改

userdebug_or_eng(`permissive your_hal;')  #enable all permission

 2,修改已有的userdebug或者eng版本

烧好版本号,把如下文件pull出来:

/vendor/etc/selinux/vendor_sepolicy.cil

找到你的HAL,加上一行 (typepermissive your_hal)

(type your_hal)
(roletype object_r your_hal)
+ (typepermissive your_hal)

保存,push回去
 

五、BSP相关调试命令

1、中控异常dtc查询表

2、android启动android原生settings app

​​​​​​​adb shell am start -n com.android.settings/.Settings

3、touch开启关闭触点和轨迹

开启debug
adb shell settings put system show_touches 1
adb shell settings put system pointer_location 1
关闭debug
adb shell settings put system show_touches 0
adb shell settings put system pointer_location 0

4、QNX介绍网站

QNX的makefile规范 · 语雀

5、测试显示屏

gles2-gears_screen -display=2(中控) gles2-gears_screen -display=5(仪表) gles2-gears_screen -display=3或者4(hud)应该在屏端会有齿轮画面,hud需要先执行hamctrl -stop;slay nobo_whud;

6、QNX调试指令

我们常用的pidin a列出进程,slay杀掉进程,top查看cpu内存,showmem查看内存;use -i 文件查版本; ifconfig查ip,lsof查进程打开的文件,in32/out32读写CPU寄存器。

通过pidin 查看当前进程的状态:

pidin -F "%-20I %-30N %-28h %-10J %-30B %-20j %-12F %-10f %l %26K %u %v %z %R" -v

7、QNX触摸报点

slog2info -w | grep vinput可以看到触摸的报点,Event type 0x03, code 0x35, value 54是x方向的报点,Event type 0x03, code 0x36, value 901是y方向的报点

8、测试屏幕

sw-vsync是系统自带的写屏幕的程序,sw-vsync -display=2可以往主控写一个黄色的屏,有一条蓝线平移,-display改不同的数字可以控制不同的屏

9、系统进程启动时间

cat /dev/bmetrics可以查看qnx中各个进程的启动时间

10、修改slog2info缓冲区大小apps/qnx_ap/AMSS/multimedia/display/common/shim_utility/src/mdss_log_manager.c中的宏NUM_BUFFER_PAGES可以改变slog的buff大小

11、拷贝grep搜索出的文件

grep -r "xxx" | awk '{print "cp", $3, "test/"}' | sh,可以将搜索出的文件拷贝到test目录

12、 通过QNX终端操作进入QFIL烧写模式

a)通过telnet或者串口进入QNX终端

b) dd of=/dev/disk/xbl_a  if=/dev/zero bs=1024k count=1

c) dd of=/dev/disk/xbl_b if=/dev/zero bs=1024k count=1

d) 重启机器,进入QFIL模式

13. Debug & USERT版本查看TEE app log

cat /dev/pdbg/qcore/tzdiag/qseecom

14、通过发送MCU命令重启

./bin/mis_send_client 0 0 2 0 2 0 0 //reset MCU;
./bin/mis_send_client 0 0 2 0 2 1 1 //reset SOC only;
./bin/mis_send_client 0 0 2 0 2 1 0 //reset SOC2MiniOS

15、屏幕自适应

cdt_api_test write 0x43 0; sync  //重启后即可重新自适应中控屏

cdt_api_test write 0x41 0; sync  //重启后即可重新自适应仪表

16、分析死锁问题

查看gpu load:
qnx 串口执行,通过slog信息查看gpu负载。
echo gpu_perf_governor 1 > /dev/kgsl-control
echo gpu_set_log_level 4 > /dev/kgsl-control
echo gpubusystats 2000 > /dev/kgsl-control
slog2info -b KGSL -w | grep percentage&

# 抓取trace分析
echo 0 > /dev/pdbg/watchdog/trace_status
tracelogger -w -b6000 -k4096 -s8 -f /usr/nfs_share/qlog/kerneltrace-abnormal.kev

主动触发获取进程core

pidin |grep 进程名
# $pid 你进程的pid
dumper -p $pid -d /usr/nfs_share/qlog/

  • 0
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
8155是QNX操作系统和Android操作系统的两种不同的嵌入式操作系统。 QNX是一个由QNX软件系统有限公司开发的实时操作系统,主要用于嵌入式系统的开发和部署。它拥有强大的实时性能和可靠性,被广泛应用于汽车、航空航天、医疗等领域。QNX操作系统具有高度的稳定性和安全性,支持多任务处理、信号传递、内存保护等功能,可以满足实时处理和大规模数据交互的需求。 Android是一个由Google公司开发的移动操作系统,主要用于智能手机、平板电脑和其他移动设备。它基于Linux内核,具有强大的开放性和兼容性,拥有丰富的应用程序和功能。Android操作系统具有良好的用户界面和友好的用户体验,支持多种通信和互联网功能,方便用户在移动设备上进行各种操作和应用。 8155 QNX Android是指集成了QNXAndroid两种操作系统的一种嵌入式系统平台。这样的系统可以在同一设备上同时运行QNXAndroid两种操作系统,提供不同的功能和应用。比如,在汽车领域可以使用QNX操作系统实现汽车实时控制和监测功能,而使用Android操作系统则可以提供车载娱乐和导航等功能。通过集成这两种操作系统,可以在同一设备上实现更多的功能和应用,提升用户体验和操作效率。 总而言之,8155 QNX Android指的是一种集成了QNXAndroid两种操作系统的嵌入式系统平台,可以提供多种功能和应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值