Linux DTS是什么?如何使用?
Linux DTS(Device Tree Source)是一种描述硬件信息的数据结构,主要用于描述嵌入式系统中各个硬件设备的信息,包括设备的地址、中断、寄存器配置以及设备驱动等。在Linux内核中,DTS文件通常被用来描述板载设备的硬件信息,以便操作系统能够正确地识别和使用硬件设备。
DTS文件结构
一个典型的DTS文件如下所示:
/dts-v1/; #include #include / { compatible = "fsl,imx6q-pico", "fsl,imx6q"; model = "Boundary Devices i.MX6 Quad SABRE Lite"; memory { device_type = "memory"; reg = ; }; chosen { compatible = "brcm,bcm2835"; uart_boot = ; }; aliases { serial0 = &uart1; }; soc { compatible = "simple-bus"; #address-cells = ; #size-cells = ; ranges; gpio: gpio@0209c000 { compatible = "fsl,imx6ul-gpio"; reg = ; interrupts = ; gpio-controller; #gpio-cells = ; }; }; uart1: serial@02020000 { compatible = "fsl,imx6q-uart", "fsl,imx21-uart"; reg = ; interrupts = ; clocks = ; clock-names = "ipg", "per"; status = "okay"; }; sound { compatible = "fsl,imx6-sai"; model = "imx6-sai"; status = "okay"; /* SSI1 */ ssi@021d8000 { compatible = "fsl,imx6-sai"; reg = ; interrupts = ; clocks = ; dmas = , , ; dma-names = "tx", "rx", "mclk"; status = "okay"; }; }; };登录后复制
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- dtbs登录后复制