在做beagleboneblack移植的时候,wl18xx的驱动源码是自动编译的。但是移植到其他平台优越平台不一样,所以就不能自动编译
所以用其他方式编译。http://e2e.ti.com/support/embedded/android/f/509/p/272074/951251 在TI找到的解决方案
修改源码里面的Makefile的内容。
TI源码里面的驱动根目录下的Makefile
..............................................................................................................................................................
# Default target is omap3evm/AM37xevm
TARGET_PRODUCT ?= omap3evm //根据你的平台改变
# Use rowboat kernel to build against
KLIB ?= $(ANDROID_ROOT_DIR)/kernel //ANDROID_ROOT_DIR 安卓源码根目录。 kernel 内核 不同的文件夹是不一样的。
KLIB_BUILD := $(KLIB)
# Use android toolchain
CROSS_COMPILE=$(ANDROID_ROOT_DIR)/$(TOOLS_PREFIX) //工具链,
# Install the compat drivers to the specified $TARGET_PRODUCT only
DESTDIR?=$(ANDROID_ROOT_DIR)/out/target/product/$(TARGET_PRODUCT) //这边不用改
................................................................................................................................................................
freescale源码里面的驱动根目录下的Makefile(改动之后)
.................................................................................................................................................................
# Default target is omap3evm/AM37xevm
TARGET_PRODUCT ?= sabreauto_6q //freescale的平台名称
# Use rowboat kernel to build against
KLIB ?= $(ANDROID_ROOT_DIR)/kernel_imx //kernel_imx 内核源码文件名称
KLIB_BUILD := $(KLIB)
# Use android toolchain
CROSS_COMPILE=$(ANDROID_ROOT_DIR)/$(TOOLS_PREFIX) //工具链地址
# Install the compat drivers to the specified $TARGET_PRODUCT only
DESTDIR?=$(ANDROID_ROOT_DIR)/out/target/product/$(TARGET_PRODUCT)
...................................................................................................................................................................
cd hardware/ti/wlan/mac80211/compat_wl18xx //进入wl18xx源码里面目录下
$ make ANDROID_ROOT_DIR=<PATH to Android source> CROSS_COMPILE=arm-eabi- ARCH=arm clean //清空历史
$ make ANDROID_ROOT_DIR=<PATH to Android source> CROSS_COMPILE=arm-eabi- ARCH=arm //开始编译
$ make ANDROID_ROOT_DIR=<PATH to Android source> CROSS_COMPILE=arm-eabi- ARCH=arm install //安装到目录
<PATH to Android source> 这个是安卓源码的主目录
编译的时候可能会报错
make[4]: *** No rule to make target `.git/HEAD‘, needed by `/media/Android/JB/jb/hardware/ti/wlan/mac80211/compat_wl12xx/drivers/net/wireless/wl12xx/version.h‘. Stop.
使用下面命令,就可以解决。
$ cd hardware/ti/wlan/
$ git init . $ git add .
$ git commit -asm "Initial commit"
在这里找到问题解决点 http://e2e.ti.com/support/embedded/android/f/509/t/305650