嵌入式学习之Linux驱动(第七期_设备树)

42 阅读1分钟

# 第七期_设备树

为什么引入设备树

image.png

image.png

设备树基本概念

image.png

image.png

cd linux-imx-rel_imx_4.1.15_2.1.0_ga_alientek/arch/arm/boot/dts

ls imx6ull*

imx6ull-14x14-ddr3-arm2-adc.dts       imx6ull-14x14-ddr3-arm2-ldo.dts       imx6ull-14x14-evk-btwifi.dts          imx6ull-alientek-emmc.dts
imx6ull-14x14-ddr3-arm2-cs42888.dts   imx6ull-14x14-ddr3-arm2-qspi-all.dts  imx6ull-14x14-evk-emmc.dts            imx6ull-alientek-nand.dts
imx6ull-14x14-ddr3-arm2-ecspi.dts     imx6ull-14x14-ddr3-arm2-qspi.dts      imx6ull-14x14-evk-gpmi-weim.dts       imx6ull-pinfunc-snvs.h
imx6ull-14x14-ddr3-arm2-emmc.dts      imx6ull-14x14-ddr3-arm2-tsc.dts       imx6ull-14x14-evk-usb-certi.dts       imx6ull-pinfunc.h
imx6ull-14x14-ddr3-arm2-epdc.dts      imx6ull-14x14-ddr3-arm2-uart2.dts     imx6ull-14x14-evk.dts                 imx6ull.dtsi
imx6ull-14x14-ddr3-arm2-flexcan2.dts  imx6ull-14x14-ddr3-arm2-usb.dts       imx6ull-9x9-evk-btwifi.dts
imx6ull-14x14-ddr3-arm2-gpmi-weim.dts imx6ull-14x14-ddr3-arm2-wm8958.dts    imx6ull-9x9-evk-ldo.dts
imx6ull-14x14-ddr3-arm2-lcdif.dts     imx6ull-14x14-ddr3-arm2.dts           imx6ull-9x9-evk.dts

编译设备树

image.png

dtc源码位置:linux-imx-rel_imx_4.1.15_2.1.0_ga_alientek/scripts/dtc

编译Linux内核时会顺便编译 dtc 源码,生成 dtc 设备树编译器可执行文件.

然后使用 dtc 编译器编译设备树源码

dtc -I dts -O dtb -o hello.dtb hello.dts

设备树基础语法