编译Linux源码树中的dtc(设备树编译器)

从Linux源码树中提取dtc源码

# 将linux/scripts/dtc源码拷贝出来
cp /home/share/linux/scripts/dtc /home/share/learn/dts/linux_dtc/ -rf

稍微修改

# 这个三个文件要编译进来
mv dtc-parser.tab.c_shipped  dtc-parser.tab.c
mv dtc-parser.tab.h_shipped  dtc-parser.tab.h
mv dtc-lexer.lex.c_shipped   dtc-lexer.lex.c

构造编译dtc的Makefile

src := $(shell pwd)
fdt_src := $(src)/libfdt
target_bin	:= dtc

dtc-objs	:= dtc.o flattree.o fstree.o data.o livetree.o treesource.o \
		   srcpos.o checks.o util.o
dtc-objs	+= dtc-lexer.lex.o dtc-parser.tab.o

dtc-objs	+= $(fdt_src)/fdt.o $(fdt_src)/fdt_ro.o $(fdt_src)/fdt_wip.o \
    $(fdt_src)/fdt_sw.o $(fdt_src)/fdt_rw.o $(fdt_src)/fdt_strerror.o \
	$(fdt_src)/fdt_empty_tree.o  
	
#$(fdt_src)/fdt_addresses.o $(fdt_src)/fdt_overlay.o

# Source files need to get at the userspace version of libfdt_env.h to compile

CFLAGS := -I$(src) -I$(src)/libfdt

all: $(dtc-objs)
	gcc $(CFLAGS) -o $(target_bin) $(dtc-objs)
	@echo "Yes!"
	
%.o : %.c
	gcc $(CFLAGS) -c -o $@ $^

clean:
	rm -rf $(dtc-objs) $(target_bin)

编译dtc

make all

enjoy it

./dtc -h
Usage: dtc [options] <input file>

Options: -[qI:O:o:V:d:R:S:p:a:fb:i:H:sW:E:@Ahv]
。。。。。。。。。。。。。。。。。。。

 

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值