目标芯片HI3516ev200,3516ev300. linux系统版本号4.9.交叉编译工具:arm-himix100-linux。
WIFI 模式的修改STA 或者AP模式,在Makefile里
ifeq ($(WIFI_MODE),)
RT28xx_MODE = STA
else
RT28xx_MODE = $(WIFI_MODE)
endif
RT28xx_MODE = STA 或者 AP
WIFI 节点模式修改,在文件 include/rtmp_def.h 里在
#ifdef ANDROID_SUPPORT
#define INF_MAIN_DEV_NAME"wlan"
#define INF_MBSSID_DEV_NAME"wlan"
#else
#define INF_MAIN_DEV_NAME"wlan" //linux默认为ra
#define INF_MBSSID_DEV_NAME"wlan" //linux默认为ra
一. 修改mt7610u_wifi_sta_v3002_dpo_20130916文件夹下的Makefile文件
ifeq ($(TARGET),)
TARGET = LINUX
endif
#新增处
TARGET = LINUX
#新增处35行
PLATFORM = HIMIX100
#新增处,107 行 linux代码路径根据自己的调整
ifeq ($(PLATFORM),HIMIX100)
LINUX_SRC = /home/root2/HI35XX/Hi3516EV200_SDK_V1.0.1.2/osdrv/opensource/kernel/linux-4.9.y
CROSS_COMPILE = arm-himix100-linux-
#此处必须要添加,不然会报错
export ARCH=arm
endif
#新增处,412行, 很重要
ifeq ($(PLATFORM),HIMIX100)
$(MAKE) ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) -C $(LINUX_SRC) SUBDIRS=$(RT28xx_DIR)/os/linux modules
else
$(MAKE) -C $(LINUX_SRC) SUBDIRS=$(RT28xx_DIR)/os/linux modules
endif
二. 修改./os/linux/config.mk 文件
#在1049行处添加
ifeq ($(PLATFORM),HIMIX100)
EXTRA_CFLAGS := $(WFLAGS) -Wno-error=date-time -Wno-error=incompatible-pointer-types
endif
# -Wno-error=date-time -Wno-error=incompatible-pointer-types 不设置,则会在编译器中报错。
三. 修改./os/linux/rt_linux.c 文件
原:
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,29)
pOSFSInfo->fsuid = current->fsuid;
pOSFSInfo->fsgid = current->fsgid;
current->fsuid = current->fsgid = 0;
#else
pOSFSInfo->fsuid = current_fsuid();
pOSFSInfo->fsgid = current_fsgid();
#endif
改为:
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,29)
pOSFSInfo->fsuid = current->fsuid;
pOSFSInfo->fsgid = current->fsgid;
current->fsuid = current->fsgid = 0;
#else
pOSFSInfo->fsuid = current_fsuid().val;
pOSFSInfo->fsgid = current_fsgid().val;
#endif
4 在shell 里执行
make
将会生成:./os/linux/ 下会生成KO文件mt7601Usta.ko