Linux内核移植步骤 - 添加DM9000网卡驱动(设备树)

2019-08-17 11:50

Linux内核移植步骤

2015年05月13日星期三 上午 11:05

往设备树中添加网卡驱动:

1、选平台,指定交叉编译工具链:

(1)、在Makefile中指定:

源码顶层目录下Makefile

ARCH ?= $(SUBARCH)

CROSS_COMPILE ?= $(CONFIG_CROSS_COMPILE:\

改为:

ARCH ?= arm

CROSS_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 = \

- 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@18000000 {

compatible = \

reg = <0x18000000 0x2 0x18000004 0x2>; interrupt-parent = <&gpn>; interrupts = <7 4>;

local-mac-address = [00 00 de ad be ef]; davicom,no-eeprom; }; 修改并添加:

ethernet@05000000 {

compatible = \

reg = <0x05000000 0x2 0x05000004 0x2>;/*0x05000000为4412处理器的srom片选地址,详见手册*/

interrupt-parent = <&gpx0>;/*继承父节点*/

interrupts = <6 4>;/*gpx0节点中断中的第6个,4是标志*/ local-mac-address = [00 00 de ad be ef];/*网卡地址*/ davicom,no-eeprom;

pinctrl@11000000 {

...

gpx0: gpx0 {

gpio-controller; #gpio-cells = <2>;

interrupt-controller;

interrupt-parent = <&gic>;

interrupts = <0 16 0>, <0 17 0>, <0 18 0>, <0 19 0>,/*中断<类型中断号中断标志>*/

<0 20 0>, <0 21 0>, <0 22 0>, <0 23 0>; #interrupt-cells = <2>; }; ... }

4、修改设备树的Makefile文件:

设备树的Makefile文件在”xxx/linux-3.19.1/arch/arm/boot/dts“目录下。

(1)、直接添加:

(2)、为了加快编译速度,删除其他多余的设备树文件,仅保留自己的设备树文件:

5、内核选配:

(1)、执行make menuconfig命令通过图形界面方式选配(在源码顶层目录下执行):

(2)、添加网络协议支持:

(3)、添加dm9000网卡设备驱动:


Linux内核移植步骤 - 添加DM9000网卡驱动(设备树).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:排球平时练习中如何垫球

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: