文档说明
本文档以SC826-CN-01(MSM8953平台)为例,描述如何修改Android系统的Cache分区大小。
默认代码Cache分区大小为256M,下面我们修改为512M。
相关文件路径
BP部分:
MSM8953.LA.2.0/common/config/partition.xml
![19b32e1ff2edb7001a065e1240bfee28.png](https://img-blog.csdnimg.cn/img_convert/19b32e1ff2edb7001a065e1240bfee28.png)
AP部分:
device/qcom/msm8953_64/BoardConfig.mk
![c0cef803ced38974e0562c63b48cb9c1.png](https://img-blog.csdnimg.cn/img_convert/c0cef803ced38974e0562c63b48cb9c1.png)
Patch文件
https://uploader.shimo.im/f/20SYvuESBwAX0bz7.patch?attname=BoardConfig.mk.patch&download
https://uploader.shimo.im/f/yXW9k4YYZhkiyAmb.patch?attname=partition.xml.patch&download
编译
./clean_all.sh // 清除之前编译生成的文件
./build_all.sh userdebug // 编译生成全部工程(AP+BP)
./copy_file.sh // 打包镜像文件,生成*.xml文件
计算Cache分区大小
/download_images/images 为打包后的镜像文件路径,打开 rawprogram0_update.xml文件。
![3735b8d3628be7d4e9620d9c9bc0d551.png](https://img-blog.csdnimg.cn/img_convert/3735b8d3628be7d4e9620d9c9bc0d551.png)
从上图可以看出cache.img的start_sector="7471104",end_sector="8519680"(对应persist_1.img的start_secotr)。
cache分区大小= (end_sector - start_sector) / 1024 / (1024 /SECTOR_SIZE_IN_BYTES)
= (8519680 - 7471104) / 1024 / 2
= 512M Byte
烧录验证
把生成的全部镜像文件烧录到模块。
用QFIL查看分区信息。 下图左边是修改cache分区大小之后的信息,可以看出相比修改前增大了一倍空间。
![3a67b363282b6bfed72dfe0c200ff785.png](https://img-blog.csdnimg.cn/img_convert/3a67b363282b6bfed72dfe0c200ff785.png)