当前位置: 代码迷 >> 综合 >> 编译MSM7627a碰到的问题
  详细解决方案

编译MSM7627a碰到的问题

热度:87   发布时间:2024-01-19 19:26:18.0
1、API错误
******************************
You have tried to change the API from what has been previously approved.
To make these errors go away, you have two choices:
   1) You can add "@hide" javadoc comments to the methods, etc. listed in the
      errors above.
   2) You can update current.xml by executing the following command:
         make update-api
      To submit the revised current.xml to the main Android repository,
      you will need approval.
******************************
是因为将make update-api 写成了make updata-api!!!!!
2、编译在target Dex: framework处卡住,编译不下去。
将虚拟机的内存改为2G编译顺利进行。
TMD2771.C编译
3、linux内核高版本中将ioctl废除,用.unlocked_ioctl替换.ioctl,
并且注意将函数static long(原来是int) taos_ioctl(struct file *file, unsigned int cmd, unsigned long arg) ,int类型改为long.
在taos_ioctl函数中:
将taos_datap = container_of(inode->i_cdev, struct taos_data, cdev);改为
 taos_datap= container_of(file->f_path.dentry->d_inode->i_cdev, struct taos_data, cdev);
在open和release中改为:
 taos_datap = container_of(inode->i_private, struct taos_data, cdev);
linux内核高版本中将init_MUTEX(&taos_datap->update_lock)互斥锁废除;
可用sema_init(&taos_datap->update_lock,1);替代 。
4、编译完成后未进入probe,是因为BSP中注册函数的宏没打开。如果BSP中未注册成功i2c设备,i2c_device和i2c_driver就不会进行匹配。
  相关解决方案