msm8916 dt选用规则
1、AndroidBoard.mk 选则kernel build 默认配置文件:msm8916_defconfig
/device/qcom/msm8916/AndroidBoard.mk
#----------------------------------------------------------------------
# Compile Linux Kernel
#----------------------------------------------------------------------
ifeq ($(KERNEL_DEFCONFIG),)
KERNEL_DEFCONFIG := msm8916_defconfig
endif
2、msm8916_defconfig选则platform id :CONFIG_ARCH_MSM8916
kernel/arch/arm/configs/msm8916_defconfig
CONFIG_ARCH_MSM8916=y
3、Makefile选则编译哪些dts文件:
kernel/arch/arm/boot/dts/qcom/makefile
dtb-$(CONFIG_ARCH_MSM8916) += msm8916-sim.dtb \
msm8916-rumi.dtb \
msm8916-cdp.dtb \
msm8916-cdp-smb1360.dtb \
msm8916-mtp.dtb \
msm8916-mtp-smb1360.dtb \
msm8916-qrd-skuh.dtb \
msm8936-sim.dtb \
msm8936-rumi.dtb
最后这些dtb会被编译到输出文件:dt.img
其中msm8916-mtp.dts,包含如下platform id 信息。
/ {
model = "Qualcomm MSM 8916 MTP";
compatible = "qcom,msm8916-mtp", "qcom,msm8916", "qcom,mtp";
qcom,board-id = <8 0>;
};
4、 dt.img 最后通过mkbootimg工具,和其它东西打包到boot.img :
$OUT_HOSTBIN_DIR/mkbootimg --kernel $OUT_DIR/kernel --ramdisk $OUT_DIR/ramdisk.img \
--cmdline "$BOARD_KERNEL_CMDLINE" --base $BOARD_KERNEL_BASE --pagesize $BOARD_KERNEL_PAGESIZE \
--ramdisk_offset $BOARD_RAMDISK_OFFSET --tags_offset $BOARD_KERNEL_TAGS_OFFSET --dt $OUT_DIR/dt.img \
--output $OUT_DIR/boot.img
5、 lk通过tag传递给kernel :
bootable/bootloader/lk/app/aboot/aboot.c
相应代码,请搜索宏:DEVICE_TREE
msm8916 dt选用规则的更多相关文章
- 第十篇:顺序容器vector,deque,list的选用规则
前言 常见的顺序容器主要有三种 - vector,deque,list.它们实现的功能相差不大,那么实际开发中该如何进行选择呢?本文将为你解答这个问题. 分析 由于这三种容器实现的数据结构原型不同(v ...
- 顺序容器vector,deque,list的选用规则
前言 常见的顺序容器主要有三种 - vector,deque,list.它们实现的功能相差不大,那么实际开发中该如何进行选择呢?本文将为你解答这个问题. 分析 由于这三种容器实现的数据结构原型不同(v ...
- CLR via C# 读书笔记---常量、字段、方法和参数
常量 常量是值从不变化的符号.定义常量符号时,它的值必须能在编译时确定.确定后,编译器将唱两只保存在程序集元数据中.使用const关键字声明常量.由于常量值从不变化,所以常量总是被视为类型定义的一部分 ...
- 企业IT管理员IE11升级指南【8】—— Win7 IE8和Win7 IE11对比
企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...
- Device Tree碎碎念
首先推荐elinux.org上一篇关于Device Tree的文章: http://elinux.org/Device_Tree_Usage 这是一篇关于Device Tree的入门文章.对英文犯怵的 ...
- SqlAlchemy个人学习笔记完整汇总-转载
使用 sqlalchemy 有3种方式: 方式1, 使用raw sql; 方式2, 使用SqlAlchemy的sql expression; 方式3, 使用ORM. 前两种方式可以统称为 core ...
- 前端seo基础规范
基本规范 TDK代码规范 A: 关键词,一般3~4个最好,要与当前页面内容相关(根据实际情况,不适宜过多堆积关键词): B: 杜绝不同URL的页面标题重复现象,作为搜索结果摘要的重要选择目标之一,一定 ...
- dt框架自定义url规则
destoon的列表的地址规则是定义在/api/url.inc.php,然后又是在include/global.func.php中进行的listpages这个函数调用实现 if($page < ...
- EF里如何定制实体的验证规则和实现IObjectWithState接口进行验证以及多个实体的同时验证
之前的Code First系列文章已经演示了如何使用Fluent API和Data Annotation的方式配置实体的属性,比如配置Destination类的Name属性长度不大于50等.本文介绍E ...
随机推荐
- xshell连接centos与ubuntu
操作系统:Windows 7 应用软件:Ware Workstation &Xshell 5 Linux:CentOS 7 Minimal &Ubuntu Server 16 ==== ...
- Android Studio: You need to use a Theme.AppCompat theme (or descendant) with this activity.
错误描述为: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with ...
- env-cmd 从文件读取配置变量
npm install --registry=https://registry.npm.taobao.org -D env-cmd So.. 这样你在npm run build的时候会发现输出文件里面 ...
- Apache Curator入门实战
Apache Curator入门实战 Curator是Netflix公司开源的一个Zookeeper客户端,与Zookeeper提供的原生客户端相比,Curator的抽象层次更高,简化了Zookeep ...
- android M Launcher之LauncherModel (三)
通过前两篇的分析,我们已经知道了LauncherModel的初始化及工作流程,如果您还不熟悉的话请看前两篇博文 android M Launcher之LauncherModel (一) android ...
- Spring之ORM模块
ORM模块对Hibernate.JDO.TopLinkiBatis等ORM框架提供支持 ORM模块依赖于dom4j.jar.antlr.jar等包 在Spring里,Hibernate的资源要交给Sp ...
- 开源IMDG之GridGain
作为另一款主流的开源数据网格产品,GridGain是Hazelcast的强有力竞争者.同样提供了社区版和商业版,近日GridGain的开源版本已经进入Apache孵化器项目Ignite(一款开源的内存 ...
- Android Studio 不得不知的20大快捷键
如何进入设置快捷键的界面: Android Studio -> References -> Keymap 使用的Keymaps为 Eclipse(Mac OS X)如下图所示: 1 展开和 ...
- Hessian源码分析--HessianProxyFactory
HessianProxyFactory是HessianProxy的工厂类,其通过HessianProxy来生成代理类. 如下面代码: HessianProxyFactory factory = new ...
- EBS预置文件作用收集整理
在EBS之中,有很多的配置选项(profile),系统管理员只需要对它们做一些简单的配置,就可以达到控制流程开关.安全访问.个人喜好等等方面的要求. 以HR: Security Profile为例,该 ...