通用区:
1、查看CPU核数可以通过:grep 'model name' /proc/cpuinfo
2、调整串口输出级别:
echo 8 > /proc/sys/kernel/printk
3、查看input设备:
3.1、查看/sys/class/input/以下的子设备。
3.2、要捕捉辅入event时,需要到/dev/input目录下查看eventX等设备。
3.3、要一次性查看系统所有输入设备,cat /proc/bus/input/devices/
4、查看sysfs_create_group的目录,以i2c client为例。
在sys/bus/i2c/devices/以下。
5、sys/devices/system/cpu/cpu0/cpufreq/
ddr频率
cd sys/devices/system/cpu/cpufreq/ddrfreq/ ddr
6、top -m 5
7、cat /proc/kmsg &(&的作用是后台运行)
8、dmesg(查看内核启动信息)
9、Android应用与系统层信息查看:
logcat &
10、getevent(查看input:tp.gsensor.key事件等)
11、vmstat (查看系统中断数量、内存使用)
12、cat /proc/interrupts (列出系统中各个模块的中断数量,通过不断执行,对比出相应中断变化)
炬力区:
1、mount -o rw -o remount /dev/actb/ /system
2、寄存器读取:
busybox devmem 0x102c00b0 32
3、寄存器修改:
busybox devmem 0x102c00b0 32 0X8EC640FF
4、如何root
在串口下或adb shell中修改default.prop
首先,Adb下需要先获得命令的root权限
su,输入password
然后,修改build.prop配置文件
mkdir tmp
mount -t vfat /dev/block/acta /tmp
cd tmp/newroot_src/
修改default.prop下面两行
ro.secure=0
ro.debuggable=1
(或者在pc上修改后替换原有的build.prop文件)
sync
reboot
此后,在这个样机上,可以执行deug固件同样的调试操作。
修改tp驱动
小机tp不能工作的情况下,release模式无法打开adb,也无法打开u盘,卡可能被串口占用,此时要替换驱动有两种模式,
5、通过过串口传送
用SecureCRT.exe调试ft5x06举例:
cd /system/lib/modules
busybox mount -rw -o remount /system
cd /system/lib/modules
rm focal-tp.ko
busybox rx focal-tp.ko
======pad等待接收
Pc上SecureCRT选择Transfer菜单—> send Xmodem, 选择focal-tp.ko
======等待发送接收结束
样机端执行Sync
reboot
6、使用usb鼠标打开调试功能
首先,连接usb鼠标,打开adb调试功能
然后,换成usb线连接pc,使用adb调试
如何修改init.rc
Init.rc中加可以调整加载tp驱动,camera驱动等操作,也可以添加系统service
mount -t vfat /dev/block/acta /tmp
cd tmp/newroot_src/
vi init.rc
sync
reboot
(样机上修改文件比较不高效,可以采用PC端编译、替换的方式)
修改内核驱动
如涉及到开机第一屏, lcd驱动, gsensor驱动的调试
adb shell mkdir tmp
adb shell mount -t vfat /dev/block/acta /tmp
adb push d:\(源码路径)vmlinux.bin /tmp/vmlinux.bin
adb shell sync
adb shell reboot pause
将上面保存为一个bat文件,编译完后点击运行批处理文件能快速下载文件到小机,该调试方法要求vmlinux.bin文件size不能变化太大(烧写后,样机分区的大小已经确定,如变化太大,可能覆盖其他分区)
注: 在挂载的tmp目录(即/dev/block/acta)下可以调试修改
gpiocfg.xml(修改各模块默认gpio,如camera,耳机,lcd)
vmlinux.bin 修改内核驱动如gesensor
/modules/atc260x_adckeypad.ko adc按键调整
/modules/atv5201_matrixkey.ko
/tmp/newroot_src/init.rc
/tmp/newroot_src/initlogo.rle(开机第二屏)
系统system目录常用修改
下需要:busybox mount -rw -o remount /system
常用调试路径:
/system/app/*.* (apk修改验证)
/system/default_workspace.xml(修改桌面快捷方式)
/system/media/bootanimation.zip(默认没有,push进去测试第三屏logo)
/system/usr/idc/ (tp驱动用)
/system/build.prop(常用属性修改)
/system/lib/modules/*.*(模块驱动)
常用调试命令
同时间的数量差值 可以知道在两次指令的时间间隔内 哪个模块发生了多少次中断,可用于定位中断数量异常的模块)
查看TP name
cd \sys\class\input\input3\
cat name
查看gsnesor方向(mma7660举例)
/sys/module/mma7660/parameters # cat position 2
修改代码不能被编译问题
a: 驱动部分到修改目录touch, 如仅修改头文件时
b: java类型的改动:改完后先在mipsandroid目录下执行make installclean后再在config目录下make即可。
c: 换mipsandroid\frameworks\base\core\res\res目录的图片资源时,
需要先在mipsandroid\frameworks\base\core\res\res目录执行mm –B后,
然后在mipsandroid目录下执行make installclean后再在config目录下make即可。
(注意:换图片时不能拷贝多余的图片放在相应的目录下,即不要改变该目录下的图片张数,否则有可能会出现图片错乱的情况)。
5302寄存器调试From ArtekWiki
Jump to: navigation, search
为方便5302 debug,增加了sysfs读写5302寄存器的功能。
注意:
(1).仅应用于调试,寄存器号和值都为16进制。
(2).5302上有些寄存器reset 是不会复位的,一旦改写,只有板子完全断电才能复位,需要拆卸电池。
所以大家在没有把握的情况下,别用写操作
使用示例: / # cd /sys/devices/platform/asoc_spi.0/spi0.0
/sys/devices/platform/asoc_spi.0/spi0.0 #
读0x0009寄存器
/sys/devices/platform/asoc_spi.0/spi0.0 # echo 9 > atc260x_reg
[ 1091.912000] [ATC260x] reg [0x0009]: 0x0000
写0x55aa到0x0009寄存器
/sys/devices/platform/asoc_spi.0/spi0.0 # echo 9=55aa > atc260x_reg
[ 1106.404000] [ATC260x] reg [0x0009]: 0x0000
[ 1106.432000] [ATC260x] reg [0x0009] <- 0x55aa
/sys/devices/platform/asoc_spi.0/spi0.0 # echo 9 > atc260x_reg
[ 1166.736000] [ATC260x] reg [0x0009]: 0x55aa