一、设备树
设备树是一种描述硬件信息的数据结构,Linux内核运行时可以通过设备树将硬件信息直接传递给Linux内核,而不再需要在Linux内核中包含大量的冗余编码。
程序可分为驱动逻辑代码(drivers)和硬件信息(设备树), 驱动控制灯闪,设备树控制哪个灯闪。更换灯,只需要修改设备树即可,逻辑代码不用变。设备改变,只需要改变设备树,不需要修改逻辑代码。
1.1 设备树语法概述
设备树文件
dts设备树源文件
dtsi (i类似include)类似于头文件,包含一些公共的信息,可被其它设备树文件引用
#include .dtsi
dtb编译后的设备树文件
设备树语法
设备树的语法为树状结构,由一系列的节点和属性组成,根节点下包含子节点子节点下还可以包含子节点,节点内部包含了对应设备的属性
inux内核驱动移植
1.在make menuconfig界面中选中要安装的驱动
2.在设备树中添加/修改相应的设备信息
3.重新编译内核/设备树
二、网卡驱动移植
uboot 内有网卡驱动,linux内核没有网卡驱动,所以需要网卡驱动移植入内核
如上所述,在 inux内核驱动移植 中三个步骤移植网卡驱动
移植成功。按照下面思路移植驱动
inux内核驱动移植
1.在make menuconfig界面中选中要安装的驱动
2.在设备树中添加/修改相应的设备信息
3.重新编译内核/设备树