Linux内核移植步骤_添加DM9000网卡驱动(设备树)
Linux内核移植步骤05月13日星期三上午 11:05往设备树中添加网卡驱动:1、选平台,指定交叉编译工具链:(1)、在Makefile中指定:源码顶层目录下MakefileARCH?????????????????= $(SUBARCH)CROSS_COMPILE?????????= $(CONFIG_CROSS_COMPILE:"%"=%)改为:ARCH?????????????????= armCROSS_COMPILE?????????=arm-linux-(2)、编译时指定:# make ARCH=arm CROSS_COMPILE=/opt/arm-linux-gcc-4.6.4/bin/arm-linux-??2、导出缺省配置:(1)、直接把缺省配置文件改成”.config“:把“源码/arch/arm/configs”目录下的“xxxx_defconfig“(例如:”exynos_defconfig“)配置文件拷贝到源码顶层目录下,并改名为”.config“。(2)、使用make生成缺省配置:# make exynos_defconfig#执行该命令后系统会在源码顶层目录下自动生成”.config“文件:# configuration written to .config?3、往设备树文件中添加dm9000网卡驱动:(1)、参考与自己板子最接近的demo板的设备树文件生成自己的设备树文件(直接拷贝修改)。设备树文件在”源码目录/arch/arm/boot/dts/exynos4412-fs4412.dts“(2)、在设备树文件中添加网卡设备驱动信息(参考网卡厂商提供的范例代码):示例代码在”Documentation/devicetree/bindings/net/davicom-dm9000.txt“,如下:Davicom DM9000 Fast Ethernet controller?Required properties:- compatible = "davicom,dm9000";- reg : physical addresses and sizes of registers, must contain 2 entries: first entry : address register, second entry : data register.- interrupt-parent : interrupt controller to which the device is connected- interrupts : interrupt specifier specific to interrupt controller?Optional properties:- davicom,no-eeprom : Configuration EEPROM is not available- davicom,ext-phy : Use external PHY?Example:? ethernet{ compatible = "davicom,dm9000"; reg = <00x2 00x2>; interrupt-parent = ; interrupts = <7 4>; local-mac-address = [00 00 de ad be ef]; davicom,no-eeprom; };修改并添加:ethernet{ compatible = "davicom,dm9000"; reg = <00x2 00x2>;/*04412处理器的srom片选地址,详见手册*/ interrupt-parent = ;/*继承父节点*/ interrupts = <6 4>;/*gpx0节点中断中的第6个,4是标志*/ local-mac-address = [00 00 de ad be ef];/*网卡地址*/ davicom,no-eeprom;?pinctrl{...gpx0: gpx0 {gpio-controller;#gpio-cells = <2>;?inter