今天移植完内核后,发现gsensor方向不对,而且机器总是自动死机或重启,从串口信息来看,有报gsensor错误的信息,于是就先从gsensor调试开始做起,本人也是第一次调试gsensor,在调试之前也在网上找了很多相关方面的资料文献,但感觉作用不是很大,和后来本人调试的操作方法也存在些许差异,下面我就简单介绍一下我亲身调试过的操作步骤:
1.首先进行基准调试,打开device/.../目录下的device.mk文件,更改ro.sf.hwrotation的值,比如0,90,180或270,然后再进入out/../目录下删除build.prop文件,进行make编译,当然,gsensor基准正常的就可以不进行这个操作了(基准:开机进入桌面,解锁后桌面方向正常,进入设置,点击自动旋转屏幕,屏幕由横屏切换竖屏)
2.其次,进入kernel\drivers\input\gsensor目录下找到内核配置中选中的gsensor芯片对应的驱动代码文件,我使用的是mma8452,打开mma8452.c文件,找到以下代码:
static void mma8452_report_value(struct i2c_client *client, struct mma8452_axis *axis)
{
struct mma8452_data *mma8452 = i2c_get_clientdata(client);
//struct mma8452_axis *axis = (struct mma8452_axis *)rbuf;
/* Report acceleration sensor informat