在实际项目中,我们往往需要在同一个项目中git支持多个项目,所以我们需要为不同的项目创建自己的项目vendor,在隔离项目差异的同时,也可以最大限度地重用代码,以确保项目的共同问题能够及时与其他项目同步。以下是详细的实现方法:
./vendor/mediatek/libs/spm8666p1_64_car
./vendor/mediatek/proprietary/tinysys/freertos/source/project/CM4_A/mt6771/spm8666p1_64_car
./vendor/mediatek/proprietary/custom/spm8666p1_64_car
./vendor/mediatek/proprietary/bootable/bootloader/preloader/custom/spm8666p1_64_car
./vendor/mediatek/proprietary/bootable/bootloader/lk/target/spm8666p1_64_car
./device/mediateksample/spm8666p1_64_car
1、preloader
e3fcf90344c46467d60f0ce53b5bf4f78b2e7ed0
1)ca_mtk8666_android9.0_base3.0/vendor/mediatek/proprietary/bootable/bootloader/preloader/custom 下新建项目 spm8666 项目名 _64_car
2)修改文件名称spm8666s203_64_car.mk -> spm8666 项目名 _64_car
2、lk
8ec65a2808f0201824ac0a4e836ff8a65bffa75c
对应目录:ca_mtk8666_android9.0_base3.0/vendor/mediatek/proprietary/bootable/bootloader/lk/
1)新建lk项目mk配置文件
project/spm8666s203_64_car.mk
2)新项目文件夹如下
lk/target/spm8666s203_64_car/
4、kernel
a0551d354948fec49b76cb8952c7086a765c8feb
1)新建dts
A arch/arm64/boot/dts/mediatek/spm8666s203_64_car.dts
A arch/arm64/boot/dts/mediatek/spm8666s203_64_car/cs199.dtsi
2)新建defconfig
A arch/arm64/configs/spm8666s203_64_car_debug_defconfig
A arch/arm64/configs/spm8666s203_64_car_defconfig
3)新建dws文件
A drivers/misc/mediatek/dws/mt6771/spm8666s203_64_car.dws
备注:
如何使用系统?dws文件答案:spm8666s203_64_car.dts定义了
#include </cust.dtsi>
#include "/cs199.dtsi"
粗体字部分必须与项目名一致,编译阶段将自动分析和匹配spm8666s203_64_car.dws。
编译过程:spm8666s203_64_car.dws -> cust.dtsi -> merge其余dts最终生成文件spm8666s203_64_car.dtbo
另外,defconfig配置必须与项目名一致。
CONFIG_BUILD_ARM64_DTB_OVERLAY_IMAGE_NAMES="mediatek/spm8666s203_64_car"
CONFIG_ARCH_MTK_PROJECT="spm8666s203_64_car"
5、device
a351fb2c5d3fbb69ee22e2d1a5ebaa8c20161169
1)device/mediateksample/新目录:spm8666 项目名 _64_car
2)cd device/mediateksample/spm8666 项目名 _64_car,修改每个文件的项目名称为新项目名称
3)修改文件名称:full_spm8666s203_64_car.mk 为spm8666 项目名 _64_car
6、vendor
75b314654041b2d2316c4e6e73fca15838c4be85
1)ca_mtk8666_android9.0_base3.0/vendor/mediatek/proprietary/custom 下新建项目 spm8666+项目名+_64_car,并替换文件中的项目名
2)vendor/mediatek/proprietary/tinysys/freertos/source/project/CM4_A/mt6771/ 下新建项目spm8666+项目名+_64_car
3)vendor/mediatek/libs/ 下新建项目spm8666+项目名+_64_car
首先搜索关键字,找到需要替换的文件。然后VIM打开,在VIM中用下面的方法替换:
:%s/被替换字符/新字符/g