需求分析:

实际项目中,我们往往需要在同一个git分支支持多个项目,为此我们需要为不同的项目创建各自的vendor,把项目的差异进行隔离的同时,也能最大化复用代码,保证项目的共性问题可以及时同步到其他的项目中。下面是详细的实现方法:

创建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 <spm8666s203_64_car/cust.dtsi>

+#include "spm8666s203_64_car/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

例如:

:%s/spm8666s203_64_car/spm8666s311_64_car/g

MTK平台创建Vendor方法-v1.4相关推荐

  1. MTK平台替换签名key方法

    本文是Android 8.0 MTK平台替换签名文件总结,签名基础知识请先阅读:Android--编译release版签名系统 MTK平台替换签名方法: 1. 先参考Android--编译releas ...

  2. MTK平台手机进工程模式方法

    工程模式中集成了一些厂家方便测试各项功能的开关. 测试起来更直观. 一般厂商都会主动修改这个入口及相关的测试项目. 原始 mtk 平台的进入方法为: 启动拨号界面,输入 *#*#3646633#*#* ...

  3. 在vmware esx平台创建windows 2003 server群集时无法找到共享磁盘的解决方法

    最近一个项目需要使用win2003的群集服务,在esx平台创建二台虚拟机,每台机器分配15g空间作为操作系统磁盘,仲裁盘分配1G空间,共享的应用 空间分配10G空间.在实际创建群集的操作过程中程中,无 ...

  4. MTK 平台修改或查看USB驱动能力有三种方法

    MTK 平台修改或查看USB驱动能力有三种方法:  1.工模菜单 通过"*#*#3646633#*#*"进入工程模式,通过如下菜单可以查看修改USB驱动能力: hardware t ...

  5. mtk平台gsensor,msensor方向确定方法

    在gsensor和msensor驱动调试中,一个很重要的参数就是direction. direction与芯片.layout和结构三者结合,才能最终确定该参数值. mtk平台中该参数的示意图 在mtk ...

  6. MTK平台双卡区分SIM卡1和SIM卡2来电通知

    问题描述 MTK平台,双卡双待的手机,当手机来电时,会在顶部栏显示一个来电通知,区分卡1卡2的关键信息是运营商名字,如中国电信,中国移动这种的,所以当两张卡是同一家运营商,这个时候用户就无法区分是那个 ...

  7. MTK 平台sensor arch 介绍-kernel

    MTK 平台sensor arch 介绍-kernel AP-kernel 1.文件相关介绍 1.进入到(core) 2.进入到(mtk_nanohub) 3.(lsm6dsm_secondary)是 ...

  8. Android Camera (13)---MTK平台相机插值修改

    MTK平台相机插值修改 一.注意事项 二.HAL层修改 三.APP层修改 四.部分插值整理 五.快速编译指令 一.注意事项 Camera插值在底层已经做好,我们只需要在中间层和app层添加一个对应的p ...

  9. MTK平台性能优化---(1)综述

    1.概述 手机性能优化越来越重要,本文介绍了性能评估.分析和优化的方法.在接下来的章节中,将会分别介绍关于系统.开机启动时间.应用启动速度性能优化,同时也会介绍如何使用一些有用的工具去评测性能瓶颈. ...

最新文章

  1. SYMBDSNAP_SDK[3943]: Failed to open device: /dev/symbdsnapctl, errno: 2
  2. 50题真 • 一文入门TensorFlow2.x
  3. Orangepi Zero播放声音报错的解决方案
  4. 医疗大数据处理流程_我们需要数据来大规模改善医疗流程
  5. LintCode 434. 岛屿的个数II(并查集)
  6. @data 重写set方法_C#中的类、方法和属性
  7. 如何安全地迁移到Exchange 2003?
  8. elupload获取文件名与路径_Python检查word文件中的特殊“标记”词是否与文件名中的一致(实例59)...
  9. HCIE Security 防火墙多出口选路 备考笔记(幕布)
  10. 幅相频率特性曲线的绘制(1)
  11. SpringBoot+SpringBootJPA+Thymeleaf实现基本CURD+分页
  12. MATLAB 绘制颜色图的 几个函数 colormap caxis colorbar shading+pcolor用法记录
  13. python背单词游戏,python背单词小程序
  14. 2022年油价的暴涨让你意识到了什么?
  15. 【安全】Java(web)项目安全漏洞及解决方式【面试+工作】
  16. 5424. 【NOIP2017提高A组集训10.25】凤凰院凶真
  17. mysql添加多个字段删除多个字段
  18. Servlet-发送电子邮件
  19. FTP文件使用迅雷下载
  20. git在commit提交时报:On branch master Changes not staged for commit

热门文章

  1. Lemon评测机的使用
  2. 过宝塔php大马,分享宝塔网站防火墙使用帮助
  3. 破解宝塔所有插件只需一句代码
  4. 线程sta模式_STA和MTA线程模式的区别
  5. 计算机科学应用论文题目,比较好写的计算机科学与应用论文题目 计算机科学与应用论文题目怎么取...
  6. 2021年网站不备案还会有收录排名吗
  7. java 2分钟_Java怎么判断他是否在2分钟内执行了任务?
  8. Cesium空间分析-填挖方计算(地形、模型通用)
  9. 分享微软手机无管理服务器,Win10 Mobile手机再体验:没有微信的生态算什么生态?...
  10. Windows下删除卸载WPS网盘