known_hosts过期:
ssh-keyscan -H xxx.xxx.xx.xxx >> ~/.ssh/known_hosts
git config --global --add url."[email protected]:".insteadOf "http://xxx.xxx.xx.xxx/"
scp 跨服务器拷贝文件
scp -r [email protected]:/home/xxxxxxxx/others/singleapk/ /snap/
scp -r [email protected]:/home/xxxxxxxx/workspace/xxxxx_linux/xxxxx_linux/rockdev rockdev
xxx项目代码及编译操作手册
(1)代码下载
git clone http://xxx.xxx.xx.xxx/root/xxxxx.git
(2)切换并在本地建立dev分支同步到远程分支:
git checkout remotes/origin/dev -b dev
更新临时分支上同一个commit id 提交记录内容
(3)Android编译
1)source build/envsetup.sh
2)lunch msmxxxx_64-userdebug
3)make -j64
同步dev分支最新代码
git pull origin dev
代码提交
git add
git commit -m ""
git push origin dev
使用-f强制push 到临时分支xxxxxxxxxx
git push -f origin HEAD:refs/heads/xxxxxxxxxx
版本回退命令使用
git reset --hard后面跟你要回退的那个版本的commit值,我们回退到 "配置文件提交" 那个版本。
git reset --hard HEAD^回退版本
可以直接使用git reset --hard HEAD^命令回退到上一个版本
git reset --hard HEAD~回退版本
git reset --hard HEAD~后面跟数字,就表示我们要回退多少步
使用**git reflog**命令可以看到所有的提交记录和回退记录
修改高通平台固件版本号:
Z:\xxx\build\make\core\build_id.mk
1
andriod主屏幕方向设置属性值:
persist.panel.orientation
使用fastboot更新固件img:
adb reboot bootloader
fastboot flash system system.img
fastboot flash vbmeta vbmeta.img
fastboot flash vendor vendor.img
fastboot flash recovery recovery.img
fastboot flash boot boot.img
fastboot flash dtbo dtbo.img
fastboot flash aboot emmc_appsboot.mbn
fastboot flash cache cache.img
fastboot flash userdata userdata.img
fastboot flash persist persist.img
fastboot flash mdtp mdtp.img
fastboot reboot
如果单刷boot:
adb reboot bootloader
fastboot flash boot boot.img
fastboot reboot
命令查看设备rtc时间
date +"%Y-%m-%d %H:%M:%S.%N"
#include <stdio.h>
#include <time.h>
int main() {
struct timespec tp;
clock_gettime(CLOCK_REALTIME, &tp);
printf("Current time: %ld seconds, %ld nanoseconds\n", tp.tv_sec, tp.tv_nsec);
return 0;
}
其他常用调试手段:
echo mem > /sys/power/state // kernel休眠
echo on > /sys/power/state //kernel唤醒
-------------------------------------------------
adb shell pm list packages -f // 查看所有应用位置
adb shell pm path 包名 //列出指定包名的apk位置
adb shell pm list packages // 查看所有应用
adb shell pm list packages -s // 查看系统应用
adb shell pm list packages -3 // 查看三方应用
-------------------------------------------------
busybox ifconfig //获取以太网信息
busybox ifconfig eth0 down //关闭以太网
busybox ifconfig eth0 up //开启以太网
-------------------------------------------------
svc data enable //开启移动网络
svc data disable //关闭移动网络
-------------------------------------------------
busybox ifconfig ppp0 down //关闭网络连接4G
stop ril-daemon //关闭网络注册上网服务
start ril-daemon //打开网络注册上网服务
-------------------------------------------------
adb shell wm size //查看屏幕分辨率
ps | grep face //根据关键字过滤
-------------------------------------------------
dumpsys window displays //查看屏幕信息
wm size 1080x1920 //修改屏幕像素
wm density 480 //修改屏幕dpi
-------------------------------------------------
logcat -b radio -v time //查看网络
logcat -V/D/I/W/E/F/S //查看日志
logcat -c -b main -b events -b radio -b system //清除所有日志
-------------------------------------------------
mount -o rw,remount /system system //获取权限
mount -o rw,remount -t ext4 /system //通用
-------------------------------------------------
adb shell am start -S -R 10 -W xxpkg/xxx.xxAty //测试Aty启动速度 执行10次 可以查看平均值
am stopservice xxxpkg/xxx.xxService //停止Service
adb shell am broadcast -a 广播名 --ei/es/ez 参数名 参数类型
[ei 对应 integer | 类型es 对应 String | 类型ez 对应 boolean | 类型ef 对应 float | 类型el 对应 long ]
java: dumpsys window | grep mCurrentFocus // 获取顶层应用
cmd:adb shell dumpsys window | findstr mCurrentFocus // 获取顶层应用
-------------------------------------------------
cd sdcard;busybox find ./ -size +51200k > /sdcard/report.txt;cd / //安卓:19,查找大于50M的文件到指定文件夹
find sdcard/ -size +50M > /sdcard/report.txt //安卓:25,查找大于50M的文件到指定文件夹
du -m -d 1 /sdcard/* //列出sdcar文件夹下层级为1 的文件信息
-------------------------------------------------
data MMddHHmmyyyy.ss set //设置时间格式
date 010411482023.58 set //设置时间
-------------------------------------------------
adb bugreport ./Desktop/devicebug.zip //导出设备所有 bug 日志 anr|crash
adb shell tcpdump -i any -p -s 0 -w /data/data/capture.pcap //保存网络包
-------------------------------------------------
adb shell screencap -p /sdcard/screen.png //截屏到指定目录
adb shell screenrecord sdcard/record.mp4 //屏幕录制
-------------------------------------------------
adb shell cat /proc/meminfo //查看内存信息
adb shell cat /proc/cpuinfo //查看CPU信息
-------------------------------------------------
adb shell ime list -s //获取已经安装的输入法
-------------------------------------------------
获取错误指针位置:
003537b1 指向错误位置
进入目录prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin
命令执行:./arm-eabi-addr2line 003537b1 -e out/target/xxx/lib.so
执行结果为:/proc/self/cwd/art/runtime/utils.cc:1122 (discriminator 1)
动态库错误日志查看:cd /data/tombstones
命令启动app
am start -n com.DeviceTest.Techvision/com.DeviceTest.Techvision.AllTest
网络挂载文件
[root@XXXXX:~]# mount -t nfs -o nolock,vers=3 xxx.xxx.xx.xx:/home/book/nfs_rootfs /mnt
Linux交叉编译配置环境变量
export ARCH=arm
export CROSS_COMPILE=arm-buildroot-linux-gnueabihf-
export PATH=$PATH:/home/book/100ask_imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/bin
在 Ubuntu 中可以执行以下命令编译、执行:
gcc -o hello hello.c
./hello
查看 tftp 服务是否在运行,运行如下命令,即可查看是否在后台运行。
ps -aux | grep “tftp”
安装相应的驱动模块。
[root@xxxx:~]# insmod xxxx_led.ko
可以强行安装驱动程序,比如使用“insmod -f hello_drv.ko”这样的命令
使用网络启动文件系统
=> setenv serverip xxx.xxx.xx.xx // 设置服务器的 IP 地址,这里指的是 Ubuntu 主机 IP
=> setenv ipaddr xxx.xxx.xx.xx // 设置开发板的 IP 地址。
=> setenv nfsroot /home/book/nfs_rootfs // 设置 nfs 文件系统所在目录。
=> run netboot //
交叉编译程序的万能命令
如果交叉编辑工具链的前缀是 arm-buildroot-linux-gnueabihf- ,比如 arm-
buildroot-linux-gnueabihf-gcc ,交叉编译开源软件时,如果它里面有 configure,
万能命令如下:
./configure --host=arm-buildroot-linux-gnueabihf --prefix=$PWD/tmp
make
make install
配置buildroot添加其实三方app
1.进入buildroot/output/rockchip_rk3568 执行 make menuconfig
Target packages --->
Networking applications --->
添加此两项编译
[*]ipset
[*]iptables
保存.config退出
make savedefconfig 保存到配置文件
查看3.5mm耳机是否接入
cat /sys/devices/platform/es8396-sound/extcon/extcon6/state
查看声卡es8396寄存器值:
cat /sys/kernel/debug/regmap/5-0010/registers (0-0010 前面那个零是I2C总线编号)
Linux命令录音播放
arecord -D hw:1,0 -r 48000 -f S16_LE -c 2 /data/test.pcm //hw:1,0 代表声卡1,设备0 -r为录音采样率 -r 为采样深度 -c为录音通道数 /data/test.pcm为保存录音文件路径和文件名称
aplay -D hw:1,0 /data/test.pcm
Linux查看声卡路由信息
amixer -D 0 //查看所有路由配置
1、amixer -c 1 controls
amixer -c 1 cget numid=15,iface=MIXER,name='Capture Digital Volume'
2、amixer -c 1 cget numid=1,iface=MIXER,name='Playback Path'.
amixer -c 1 cget numid=25,iface=MIXER,name='Output 2 Playback Volume'
3、amixer -c 1 cset numid=15,iface=MIXER,name='Capture Digital Volume' 192 192
amixer -c 1 cset numid=25,iface=MIXER,name='Output 2 Playback Volume' 192 192
android声卡录音调试命令:
录音:
tinycap /data/test.pcm -D 0 -d 0 -c 8 -r 48000
播放:
tinyplay /data/test.pcm -D 0 -d 0
声卡路由查看:
tinymix -D 0
查看每个不同声卡信息
tinypcminfo -D 0
视频调试常用命令:
视频图像抓取:
v4l2-ctl --verbose -d /dev/video0 \
--set-fmt-video=width=3840,height=2160,pixelformat='NV16' \
--stream-mmap=4
v4l2-ctl --verbose -d /dev/video0 \
--set-fmt-video=width=3840,height=2160,pixelformat='NV16' \
--stream-mmap=4 --stream-skip=3 \
--stream-to=/data/4k60_nv16.yuv \
--stream-count=5 --stream-poll
v4l2-ctl --verbose -d /dev/video0 \
--set-fmt-video=width=3840,height=2160,pixelformat='NV16' \
--stream-mmap=4 --stream-skip=3 \
--stream-to=/data/4k60_nv16.yuv \
--stream-count=5 --stream-poll
v4l2-ctl --verbose -d /dev/video34 \
--set-fmt-video=width=1920,height=1080,pixelformat='NV16' \
--stream-mmap=4 --stream-skip=3 \
--stream-to=/data/4k60_nv16.yuv \
--stream-count=5 --stream-poll
v4l2查看视频节点文件详细信息:
v4l2-ctl -d /dev/video33 --all
v4l2
v4l2-ctl --verbose -d /dev/video80 \
--set-fmt-video=width=3840,height=2160,pixelformat='NV16' \
--stream-mmap=4 --stream-skip=3 \
--stream-to=/data/4k60_nv16.yuv \
--stream-count=1 --stream-poll
抓取yuv图像播放:
ffplay.exe -f rawvideo -s 3840x2160 -pix_fmt bgr24 -i 4k60_nv16.yuv -x 1280 -y 720
rk命令接口录音播放:
rk_mpi_ai_test --device_rate=48000 --device_ch=2 --output=/sdcard --sound_card_name=hw:1,0 --out_ch=2 --out_rate=48000
rk_mpi_ao_test -i /sdcard/cap_out.pcm --input_ch=2 --input_rate=48000 --device_rate=48000 --sound_card_name=hw:1,0
rk_mpi_ai_test --device_rate=48000 --device_ch=2 --output=/sdcard --sound_card_name=hw:0,0 --out_ch=2 --out_rate=48000
rk_mpi_ao_test -i /sdcard/cap_out.pcm --input_ch=2 --input_rate=48000 --device_rate=48000 --sound_card_name=hw:1,0
v4l2-ctl --verbose -d /dev/video80 --set-fmt-video=width=3840,height=2160,pixelformat='NV16' --stream-mmap=4 --set-selection=target=crop, flags=0,top=0,left=0,width=3840,height=2160
arecord -D hw:1,0 -r 48000 -f S16_LE -c 2 /data/test.pcm
aplay -D hw:1,0 /data/test.pcm
/sys/class/video4linux/video44/name:rkisp_mainpath
/sys/class/video4linux/video53/name:rkisp_mainpath
/sys/class/video4linux/video62/name:rkisp_mainpath
/sys/class/video4linux/video71/name:rkisp_mainpath
v4l2-ctl --verbose -d /dev/video0 \
--set-fmt-video=width=1920,height=1080,pixelformat='NV12' \
--stream-mmap=4 --stream-skip=3 \
--stream-to=/data/4k60_nv16.out \
--stream-count=1 --stream-poll
查看mipi节点链路信息
media-ctl -p -d /dev/media3
i2c5:
media-ctl -d /dev/media3 \
--set-v4l2 '"m01_f_LT6911UXC 5-002b":0[UYVY8_2X8/0x0@720/640]'
~/>$ media-ctl -d/dev/media3 --set-v4l2 ' "rkisp-isp-subdev":0[fmt:SBGGR10/3840x2160]'
~/>$ media-ctl -d/dev/media3 --set-v4l2 ' "rkisp-isp-subdev":0[crop: (0, 0)/3840x2160]'
~/>$ media-ctl -d/dev/media3 --set-v4l2 ' "rkisp-isp-subdev":2[crop: (0, 0)/3840x2160]'
~/>$ v4l2-ctl -d/dev/video33\
--set-selection=target=crop, top=0, left=0, width=3840, height=2160
media-ctl -l '"m01_f_LT6911UXC":0->"rockchip-csi2-dphy3":0[1]' -d /dev/media3
media-ctl -l '"m02_f_LT6911UXC":0->"rockchip-csi2-dphy0":0[1]' -d /dev/media0
media-ctl -d /dev/media3 -l '"m01_f_LT6911UXC 5-002b":0->"rockchip-csi2-dphy3":0[1]'
media-ctl -d /dev/media3 --set-v4l2 '"m01_f_LT6911UXC 5-002b":0[fmt:UYVY8_2X8/1920x1080]'
v4l2-ctl -d /dev/video0 \
--set-fmt-video=width=1920,height=1080,pixelformat=NV21 \
--stream-mmap=3 \
--stream-skip=3 \
--stream-to=/data/cif.yuv \
--stream-count=1 \
--stream-poll
media-ctl -d /dev/media0 -l '"m02_f_LT6911UXC 7-002b":0->"rockchip-csi2-dphy0":0[1]'
media-ctl -d /dev/media0 --set-v4l2 '"m02_f_LT6911UXC 7-002b":0[fmt:UYVY8_2X8/1920x1080]'
export LD_LIBRARY_PATH=/data/xmm100/local/lib/
linu rk平台三方应用编译:
export PATH=$PATH:/development/xxxxxxx/rk3568_linux/rk3568_linux/buildroot/output/rockchip_rk3568/host/usr/aarch64-buildroot-linux-gnu/bin
export PATH=$PATH:/development/xxxxxxx/rk3568_linux/rk3568_linux/buildroot/output/rockchip_rk3568/host/usr/bin
./matrix -f ./cfg/local0.json
export LD_LIBRARY_PATH=/data/xmm100/local/lib/
非阻塞执行多条命令:
shell命令:
#!/bin/bash
nohup rk_mpi_ai_test --device_rate=48000 --device_ch=2 --output=/sdcard --sound_card_name=hw:0,0 --out_ch=2 --out_rate=48000&
usleep 100
nohup rk_mpi_ao_test -i /sdcard/cap_out.pcm --input_ch=2 --input_rate=48000 --device_rate=48000 --sound_card_name=hw:1,0&
arm平台设备cpu频率命令:
CPU性能模式
echo performance > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
echo performance > /sys/devices/system/cpu/cpufreq/policy4/scaling_governor
echo performance > /sys/devices/system/cpu/cpufreq/policy6/scaling_governor
DDR性能模式
echo performance > sys/class/devfreq/dmc/governor
NPU性能模式
echo performance > sys/class/devfreq/fdab0000.npu/governor
GPU性能模式
echo performance > sys/class/devfreq/fb000000.gpu/governor
Linux命令方式硬盘挂载:
1、fdisk -l
2、fdisk /dev/sda
3、mkfs.ext4 /dev/sda1
4、mkdir black
5、mount /dev/sda1 /black
————————————————
版权声明:本文为CSDN博主「学习中的农民工」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/nihaoma95278/article/details/131890217
标签:常用,stream,--,xxx,dev,ctl,data,arm,调试 From: https://www.cnblogs.com/zxdplay/p/17759677.html