RT3070移植到TI DM365和Gm8126

首先,到Ralink官网上下载一份最新的RT3070 driver code。在linux下面解压。

修改Makefile,

CHIPSET=3070
WIFI_MODE=STA
TARGET=LINUX

增加platform定义,如下:

PLATFORM = GM8126
#PLATFORM = GM8180
#PLATFORM = TIDM365


ifeq ($(PLATFORM),GM8126)
LINUX_SRC = /home/gm8126/arm-linux-2.6.28/linux-2.6.28-fa/
CROSS_COMPILE = arm-none-linux-gnueabi-
endif

ifeq ($(PLATFORM),GM8180)
LINUX_SRC = /usr/src/arm-linux-2.6/linux-2.6.14-fa/
CROSS_COMPILE = arm-linux-
CROSS_COMPILE_INCLUDE = /opt/crosstool/arm-linux/gcc-3.4.4-glibc-2.3.5/arm-linux/arm-linux/include/
endif

ifeq ($(PLATFORM),TIDM365)
LINUX_SRC =  /home/OV2715/workdir/ti-davinci/
CROSS_COMPILE = arm_v5t_le-
endif

然后修改./os/linux/config.mk,

ifeq ($(PLATFORM), GM8126)
#EXTRA_CFLAGS := -I$(LINUX_SRC)/include -I$(RT28xx_DIR)/include -I$(RT28xx_DIR)/include/chip -I$(RT28xx_DIR)/include/os  -I$(RT28xx_DIR)/include/iface -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer
#export EXTRA_CFLAGS
CFLAGS := -v -D__KERNEL__ -DMODULE  -I$(LINUX_SRC)/include -I$(RT28xx_DIR)/include -mlittle-endian -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -Uarm -fno-common -pipe -mapcs-32 -D__LINUX_ARM_ARCH__=5 -mcpu=xscale -mtune=xscale -malignment-traps -msoft-float $(WFLAGS)
EXTRA_CFLAGS := -v $(WFLAGS) -I$(RT28xx_DIR)/include
export CFLAGS EXTRA_CFLAGS
endif

ifeq ($(PLATFORM), TIDM365)
#EXTRA_CFLAGS := -I$(LINUX_SRC)/include -I$(RT28xx_DIR)/include -I$(RT28xx_DIR)/include/chip -I$(RT28xx_DIR)/include/os  -I$(RT28xx_DIR)/include/iface -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer
#export EXTRA_CFLAGS
CFLAGS := -nostdinc -iwithprefix include -D__KERNEL__ -I$(RT28xx_DIR)/include -I$(LINUX_SRC)/include  -Wall -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Os -fno-omit-frame-pointer -fno-omit-frame-pointer -mapcs -mno-sched-prolog -mlittle-endian -mabi=aapcs-linux -mfloat-abi=soft  -D__LINUX_ARM_ARCH__=5 -march=armv5te -mtune=arm9tdmi -msoft-float -Uarm -Wdeclaration-after-statement -c -o $(WFLAGS)
export CFLAGS
endif


在编译gm8126平台时,要用make KBUILD_NOPEDANTIC=1,否则出现CFLAGS错误。而TI DM365则不会。

记得,在编译前,要保证你的linux kernel配置正确,需要打开802.11相关的选项。否则编译会出现错误,由于autoconfig.h中的配置宏未打开而导致的。

只修改.config文件还不行,必须要同步更新include/linux/autoconfig.h

编译驱动时出现:rt3070_v2.3/os/linux/../../os/linux/rt_linux.c:1788: error: 'struct net_device' has no member named 'wireless_handlers'
错误,就是这个原因。我是重新make menuconfig,save一下,再./build来解决这个.config与autoconfig.h的同步问题的。应该还有其它办法吧。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

草根大哥

进军大神程序员路上,谢谢支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值