dtc 命令
sudo apt-get install device-tree-compiler
dtc --help
dtc -I dts -O dts -o ~/xx.dts msm8974-v2.2-mtp.dts
=============================================================================================
free 我回家看kernel,找到了,咱们以前的一个疑惑。
dts 用#include 做包含 ,直接用dtc 编译出问题。
=====================================
在msm8x94/kernel/scripts/Makefile.lib
dtc_cpp_flags = -Wp,-MD,$(depfile).pre.tmp -nostdinc \
-I$(srctree)/arch/$(SRCARCH)/boot/dts \
-I$(srctree)/arch/$(SRCARCH)/boot/dts/include \
-undef -D__DTS__
cmd_dtc = $(CPP) $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; \
$(objtree)/scripts/dtc/dtc -O dtb -o $@ -b 0 \
-i $(dir $<) $(DTC_FLAGS) \
-d $(depfile).dtc.tmp $(dtc-tmp) ; \
cat $(depfile).pre.tmp $(depfile).dtc.tmp > $(depfile)
$(obj)/%.dtb: $(src)/%.dts FORCE
$(call if_changed_dep,dtc)
=====================================
从cmd_dtc这里,可以看出来,他用cpp 做了个预处理,在用dtc去编译
=============================================================================================
cpp -Wp,-MD,x.pre.tmp -nostdinc -I. -Iinclude -undef -D__DTS__ -x assembler-with-cpp -o x.dts.tmp qcom/msm8994-v2-mtp.dts
dtc -I dts -O dts -o x.dts x.dts.tmp
=================================================================================================
.
├── bin
│ ├── convert-dtsv0
│ ├── dtc
│ ├── dtdiff
│ ├── fdtdump
│ ├── fdtget
│ └── fdtput
└── share
├── doc
│ └── device-tree-compiler
│ ├── changelog.Debian.gz
│ ├── copyright
│ ├── dtc-manual.txt.gz
│ ├── dtc-paper.dvi.gz
│ ├── dtc-paper.pdf.gz
│ ├── dtc-paper.ps.gz
│ └── README.Debian
├── doc-base
│ ├── dtc-manual
│ └── dtc-paper
└── man
└── man1
├── convert-dtsv0.1.gz
├── dtc.1.gz
├── dtdiff.1.gz
├── fdtdump.1.gz
├── fdtget.1.gz
└── fdtput.1.gz
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
