参考:
http://cache.shanghangpeixun.com/cache_q_c_q_hs/aHR0cDovL3dlYmNhY2hlLmdvb2dsZXVzZXJjb250ZW50LmNvbS9zZWFyY2g/cT1jYWNoZTpxdEsxNnEwclNBSUo6Y3luaWNob2xhcy53b3JkcHJlc3MuY29tLzIwMTEvMDQvMTQvbWluaTI0NDAtYXJtLWxpbnV4JTI1RTUlMjVCOSUyNUIzJTI1RTUlMjU4RiUyNUIwJTI1RTQlMjVCOCUyNThCdXNiJTI1RTglMjVCRCUyNUFDcmo0NSUyNUU4JTI1QUUlMjVCRSUyNUU1JTI1QTQlMjU4NyUyNUVGJTI1QkMlMjU4OHVzYiUyNUU2JTI1OUMlMjU4OSUyNUU3JTI1QkElMjVCRiUyNUU3JTI1QkQlMjU5MSUyNUU1JTI1OEQlMjVBMSUyNUVGJTI1QkMlMjU4OSUyNUU5JTI1QTklMjVCMSUyNUU1JTI1OEElMjVBOCUyNUU3JTI1OUElMjU4NCUyNUU3JTI1QTclMjVCQiUyNUU2JTI1QTQlMjU4RCUyNUVGJTI1QkMlMjU4OCUyNUU0JTI1QkElMjVCMi8rbGludXgrdXNiJUU4JUJEJUFDcmo0NSVFOSVBOSVCMSVFNSU4QSVBOCZjZD0xJmhsPXpoLUNOJmN0PWNsbms=.html
谢谢作者的分享
开发板:mini2440 ,linux3.11
usb转网口:AX8872B
移植步骤:
1.源码下载
AX8872B的驱动源码下载网址:http://www.asix.com.tw/cs/download.php
在“产品名称”里面选择AX8872B,当然如果是其他产品的话也可以
OS类型选择:Linux kernel 3.x/2.6.x Driver
下载后解压
2.修改Makefile
由于文件中给的Makefile是PC上的,所以要修改,修改后如下
ARCH=arm
CROSS_COMPILE=arm-linux-
CC=$(CROSS_COMPILE)gcc
LD=$(CROSS_COMPILE)ld
TARGET = asix
OBJS = asix.o
MDIR = drivers/net/usb
KDIR = 你的linux源码路径,比如../linux/
EXTRA_CFLAGS = -DEXPORT_SYMTAB
PWD = $(shell pwd)
DEST = ..
obj-m := $(TARGET).o
default:
make -C $(KDIR) SUBDIRS=$(PWD) modules
$(TARGET).o: $(OBJS)
$(LD) $(LD_RFLAG) -r -o $@ $(OBJS)
install:
su -c “cp -v $(TARGET).ko $(DEST) && /sbin/depmod -a”
clean:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) clean
.PHONY: modules clean
-include $(KDIR)/Rules.make
然后make
make后会生成asix.ko
使用命令arm-linux-strip -S asix.ko 将其中的调试信息去掉,以减小驱动文件大小,减小后只有60多k
3.测试
将驱动文件下载到板子上,insmod asix.ko
将usb转串口设备插入,使用命令ifconfig eth1(eth%d,一般是eth1,插入后会有打印信息提示) up 打开网卡,然后设定ip和别的机器ping一下