adb抓取log
adb wait-for-device && adb logcat >> %USERPROFILE%\Desktop\main.log
设置enforce等级
setenforce 0
getenforce
设置背光等级 0-255
echo 255 > brightness
关闭串口打印
echo 0 > /proc/sys/kernel/printk
查看KERNEL 版本
可以在device/Projectconfig.mk 查看
cherrypick其他分支的commit
git cherry-pick origin/[other branch] [commit id]
uart log ddr容量查看
0:dram_rank_size:20000000
1:dram_rank_size:20000000
0:dram_rank_size:20000000
1:dram_rank_size:20000000
total_dram_size: 0x0000000040000000, max_dram_size: 0xFFFFFFFFFFFFFFFF
将文件还原到某个commit id的状态
git checkout [commit id] +文件
adb查看i2c设备节点
adb shell /sys/bus/devices/i2cX
git commit message修改
git commit --amend
dts增加vpa定义
+&mt_pmic_vpa_buck_reg {
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-boot-on;//开机启动
adb调试 pmic
pmic寄存器查看
每次写完若要查看必须再执行第三步的完整步骤测
1、通过find命令搜索pmic_access的文件路径 (find -name “” ./)
2:用cd命令进入,一般在 /sys/devices/platform/
3:读取操作,比如读取bank0的0x17这个寄存器
输入echo 17 > pmic_access来读取寄存器的值
输入cat pmic_access来显示寄存器的值
4:写操作,比如向bank0的0x17这个寄存器写入0x5a
输入echo 17 5a > pmic_access echo 532 193 > pmic_access
注意:
1:用cat显示的值是十进制的,而输入的寄存器的ID和输入的值都是十六进制的。
也就是说如果写入0b(十六进制的值),读出来是11(十进制的值)
2:每次读取都要输入echo和cat两条命令。
3:在/sys/devices/platform/…目录下用ls命令,可以看到很多LDO的标志。
4:使用cat LDO_VSIM_VOLTAGE可以看到此LDO软件设置的输出电压。
5:使用cat LDO_VSIM_STATUS可以看到此LDO软件设置的输出状态。
access可以查看寄存器状态
find /sys/ -name *access*
#/sys/devices/platform/soc/1000d000.pwrap/1000d000.pwrap:mt6357-pmic/mt-pmic/pmic_access
echo a8e > pmic_access/*先写再读*/
cat pmic_access
echo a8e 0x1356 > pmic_access/*先写再读*/
可以查看当前GPIO供电情况
adb和fastbooot 工具
adb命令:
adb devices :列出adb设备
adb reboot :重启设备
adb reboot bootloader :重启到fastboot模式
adb reboot recovery :重启到recovery模式
adb reboot edl :重启到edl模式
fastboot命令:
fastboot devices :列出fastboot设备
fastboot reboot :重启设备
fastboot reboot-bootloader :重启到fastboot模式
fastboot flash <分区名称> <镜像文件名> :刷写分区
fastboot oem reboot-<模式名称> :重启到相应模式
fastboot oem device-info :查看解锁状态
-----------------------------------------
解锁命令:
adb reboot bootloader
fastboot flashing unlock
press volume up key(mic旁边的按键)
fastboot getvar unlocked
当显示为 unlocked: yes 时说明解锁成功(如果为no,可以再次执行fastboot flashing unlock并press volume down key试下)
fastboot reboot
机器开机时logo上会出现一串字符,说明解锁成功
adb root
adb disable-verity
adb reboot
adb root
adb remount
然后开始push操作
adb reboot
进入工程者模式
adb root
adb shell am start -n com.mediatek.engineermode/.EngineerMode
adb gsensor调试方法
:/ # echo 4 > sys/bus/platform/drivers/gsensor/layout
:/ # cat sys/bus/platform/drivers/gsensor/layout
0-15方向数组在
kernel-3.10\drivers\misc\mediatek\hwmon\hwmsen\hwmsen_helper.c
查看gpio状态
cat /sys/kernel/debug/gpio
console:/ # find /sys -name "mt_gpio"
/sys/devices/platform/soc/1000b000.pinctrl/mt_gpio
新建项目
基于 [OLD PROJECT] 新建[NEW PROJECT]
perl ./vendor/mediatek/proprietary/scripts/project_clone/project_clone.pl -p [SDK PWD] -o [OLD PROJECT] -n [NEW PROJECT]
sysrq命令用法:
Linux Magic System Request Key Hacks — The Linux Kernel documentation
adb gpio调试
查找节点位置:find sys/ -name "mt_gpio"
一般位于:/sys/devices/platform/soc/1000b000.pinctrl/mt_gpio
sys/devices/platform/soc/1000b000.pinctrl/mt_gpio
查看GPIO状态:
adb输入命令:cat ./sys/devices/platform/soc/1000b000.pinctrl/mt_gpio
PIN: [MODE] [DIR] [DOUT] [DIN] [PULL_EN] [PULL_SEL] [IES] [SMT] [DRIVE] ( [R1] [R0] )
0: 011110100 01
1: 000010100 01
2: 000111100 01
3: 000010100 01
4: 011100100 00
5: 000010100 01
6: 000100110
...
对应的属性基本与DWS配置项一致,这里只对 [DRIVE] ( [R1] [R0] ) 两项进行说明
[DRIVE]:驱动能力,一般可取值0~7
([R1] [R0]):当前GPIO pin的(上下拉)并联电阻的使能状态
1 0表示enable R1,disable R0
0 1表示disable R1,enable R0
1 1表示enable R1, enable R0
不打印出来,表示当前的GPIO pin不支持PUPD状况,即只有一个上拉电阻、一个下拉电阻。
通过对比上面信息我们可以看出GPIO的设置是否生效,如对应属性和驱动中设置不符,则需要检查驱动是否有疏漏,还要检查对应的GPIO是否有其他模块也使用了,我们也可以使用adb将GPIO配置成我们需要的状态,来验证此GPIO是否可控,也可以用此方法来临时满足我们外设的需求,方便调试其他功能。
使用adb设置GPIO属性:
设置模式:echo mode 14 0 > mt_gpio
设置输入/输出:echo dir 14 1 > mt_gpio
输出高/低:echo out 14 1 > mt_gpio
设置pullen: echo pullen 14 1 > mt_gpio
NOTE:设置pullen时,
For pin with 2 pull resistors, $value can be 0 (R1=0, R0=0), 1 (R1=0, R0=1), 2 (R1=1, R0=0), 3 (R1=1, R0=1)
For pin with 1 pull resistor, $value can be 0 or 1
去掉上拉
echo pullen 107 0 > sys/devices/platform/soc/1000b000.pinctrl/mt_gpio
连接audio turning tool
adb shell am start -n com.mediatek.engineermode/.EngineerMode
打开ATCI enable
adb tinymix调增益
:/ # tinymix 35
Headset_PGAL_GAIN: >8Db 7Db 6Db 5Db 4Db 3Db 2Db 1Db 0Db -1Db -2Db -3Db -4Db -5Db -6Db -7Db -8Db -9Db -10Db -11Db -12Db -13Db -14Db -15Db -16Db -17Db -18Db -19Db -20Db -21Db -22Db -40Db
:/ # tinymix 35 1
:/ # tinymix 35
Headset_PGAL_GAIN: 8Db >7Db 6Db 5Db 4Db 3Db 2Db 1Db 0Db -1Db -2Db -3Db -4Db -5Db -6Db -7Db -8Db -9Db -10Db -11Db -12Db -13Db -14Db -15Db -16Db -17Db -18Db -19Db -20Db -21Db -22Db -40Db
调试i2s
:/ # tinymix -D 1 5
Headset_PGAL_GAIN: 8Db 7Db 6Db 5Db 4Db 3Db 2Db 1Db 0Db -1Db -2Db >-3Db -4Db -5Db -6Db -7Db -8Db -9Db -10Db -11Db -12Db -13Db -14Db -15Db -16Db -17Db -18Db -19Db -20Db -21Db -22Db -40Db
:/ # tinymix -D 1 5 8
:/ # tinymix -D 1 5
Headset_PGAL_GAIN: 8Db 7Db 6Db 5Db 4Db 3Db 2Db 1Db >0Db -1Db -2Db -3Db -4Db -5Db -6Db -7Db -8Db -9Db -10Db -11Db -12Db -13Db -14Db -15Db -16Db -17Db -18Db -19Db -20Db -21Db -22Db -40Db
查看系统属性
adb shell
:/ # getprop | grep vendor.connsys.formeta.re
[vendor.connsys.formeta.ready]: [yes]
adb截图
:/ # screencap -p /sdcard/fb0.png
EXPORT_SYMBOL函数的使用
tar使用
tar –cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg
tar –xvf file.tar //解压 tar包
打开log
## 打开lk 到 kernel 的log
+++ b/vendor/mediatek/proprietary/bootable/bootloader/lk/app/mt_boot/mt_boot.c
@@ -1341,7 +1341,7 @@ int boot_linux_fdt(void *kernel, unsigned *tags,
#endif
cmdline_append("mtk_printk_ctrl.disable_uart=0");
else
- cmdline_append("mtk_printk_ctrl.disable_uart=1");
+ cmdline_append("mtk_printk_ctrl.disable_uart=0");
## 打开kernel 的log
+++ b/kernel-4.14/drivers/misc/mediatek/mtprintk/mtk_printk_ctrl.c
@@ -51,8 +51,8 @@ bool mt_get_uartlog_status(void)
void mt_disable_uart(void)
{
/* uart print not always enable */
- if (printk_ctrl != 2)
- printk_ctrl = 1;
+ //if (printk_ctrl != 2)
+ // printk_ctrl = 1;
}
查找pc报错
addr2line -f -e out/target/product/[PROJECT]/obj/KERNEL_OBJ/vmlinux ffffff800808b640
查看dpi
:/ # wm size
Physical size: 800x1280
:/ # wm density
Physical density: 160
查看报点率
getevent -r /dev/input/event4
DB文件路径
一. DB的路径
DB的路径只有两种路径:/data/aee_exp或者/sdcard/mtklog/aee_exp。其中/sdcard一般是内置sdcard。DB实际存放路径的规则如下:
(1)ENG版本
ENG版本默认是打开MTKLogger,所以一般情况下DB优先放到在/sdcard/mtklog/aee_exp。但是当发生的是KE重启这类异常,此时MTKLogger还没起来,则aee_exp会生成在/data/aee_exp。
(2)USER版本
USER版本默认是关闭MTKLogger,所以此时DB是生成在/data/aee_exp。但是如果在USER版本将MTKLogger打开,则aee_exp是生成在/sdcard/mtklog/aee_exp。
二. aee_exp下的DB个数
USER版本关闭MTKLogger的情况下,只有发生的是Fatal级别的异常才会抓取DB(包含KE,异常reboot,system_server出现异常的JE和NE以及software WatchDog)。且aee_exp最多保存4个DB文件,名称如db.xx.dbg,其中xx为“00”,“01”,“02”,“03”,再发生异常时依次覆盖“01”,“02”,“03”,会一直保留最老的“00”。
除此之外的其它情况下是会抓取包括Exception级别的异常DB,且aee_exp最多会保存20个DB文件(db.00.dbg,db.01.dbg,…db.19.dbg),再发生异常时依次覆盖“01”,“02”,“03”…“19”,会一直保留最老的“00”。
批量文本替换
sed -i "s/原字符串/新字符串/g" *.c
cctv2 连接
adb root
adb shell setenforce 0
adb shell chmod -R 777 dev/ttyGS0
adb shell chmod -R 777 dev/block/mmcblk0p1
adb shell start atci_service
adb shell start atcid-daemon-u
adb shell setprop sys.usb.config mass_storage,adb,acm
查看pwm频率
/sys/kernel/debug/pwm
修改gsensor
/sys/bus/platform # cat drivers/gsensor/layout