Android O 将lk读取的Mipi屏ID存储至安卓属性ro里

Android O 将lk读取的Mipi屏ID存储至安卓属性ro里

由于项目需要兼容多款mipi屏幕,为了能够在应用层获取得到具体的屏幕,所以需要将ID保存下来,以便查找问题是可以快速定位,免去拆机麻烦。
我们在根文件系统下,可以使用shell命令查看lk传入的值
cat /proc/cmdline
在这里插入图片描述
可以看到androidboot.serialno=xxxxx ,那么我们可以在源码里查找serialno的传值方式并仿照写代码。

bootable/bootloader/lk/app/aboot/aboot.c

  1. 增加一个属性名字
    在这里插入图片描述
    我们也添加一个
    在这里插入图片描述
    这里的androidboot很重要,下面说明。
  2. 增加一个存储buf
    在这里插入图片描述
    同理
    在这里插入图片描述
  3. 更新cmdline长度
    在这里插入图片描述

bootable/bootloader/lk/platform/msm_shared/mipi_dsi.c

声明一个全局变量保存lcm id
在这里插入图片描述

bootable/bootloader/lk/app/aboot/aboot.c

  1. 将保存的id传回给lcm_id_buf
    在这里插入图片描述
  2. 将写入的ID写至cmdline
    在这里插入图片描述
    同理
    在这里插入图片描述

这样,就顺利将lcm id传入至cmdline了,我们编译烧录,重新cat /proc/cmdline
在这里插入图片描述
已经多了一个“androidboot.lcm_id=xxx”的赋值
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200423111731621.png

将ID写入ro属性

最上面说到lk命名的属性值androidboot很重要,现在来解释一下
在 system/core/init/init.cpp 里
在这里插入图片描述
cmd命令里的带androidboot都会被设置到ro.boot.xxxx的属性里,我们现在来验证一下:
在这里插入图片描述
如果想存储成其他名称,就仿造这个接口的else if,再添加一个else if的判断条件

到此,ID存储至ro属性的的代码就全部完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值