6.1 安装dtc
dtc是用来编译devicetree的工具,可以将dts文件编译成被内核识别解析的dtb文件,同时也可以反向将dtb文件编译成dts文件
(相关资料图)
6.2 修改devicetree
进入devicetree目录
修改zynq-7000.dtsi文件,增加fpga驱动设备节点,compatible对应的字符串是个人命名的匹配字符串,要和驱动中的匹配,reg对应的是fpga分配的寄存器首地址,interrupts对应的是fpga分配的中断号
修改zynq-7000.dtsi文件,修改usb0节点的compatible字符串如下所示
新建pl.dtsi文件,内容如下,主要是添加了倾角传感器驱动,倾角传感器是通过uart来进行控制的
修改system-top.dts文件,包含pl.dtsi,增加serial1和serial2节点,serial1连接的是GPS,serial2连接的是倾角传感器
修改pcw.dtsi文件,修改sdhci0节点的配置,修改xlnx,has-cd和xlnx,has-wp两个节点的值为1。增加uart0控制节点。修改usb0节点的复位gpio管脚,这个是由硬件决定的。修改clk节点的时钟频率,时钟频率的大小是由硬件上输入晶振决定的。
6.3 编译devicetree
通过dtb工具编译生成devicetree.dtb文件
devicetree.dtb文件就是我们需要的设备树文件,将其拷贝到SD卡即可。