2024年6月10日发(作者:)

pcduino_arm_rtl8187L

驱动安装编译过程

1.准备环境(直接在pcduinov2上进行的命令操作)

1.#sudo apt-get update && sudo apt-get install pcduino-linux-headers-3.4.29+

2.#cd /lib/modules/3.4.29+

3.#ln -s /usr/src/linux-headers-3.4.29+/ build

4.#ln -s /usr/src/linux-headers-3.4.29+/ source

2.准备源文件

rtl8187L_linux_1041[1].

下载地址:

ftp://WebUser:AxPL9s3k@58.211.24.153/cn/wlan/rtl8187L_linux_1041[1]..g

z

3.编译

1#tar vxzf rtl8187L_linux_1041[1].

2#cd rtl8187L_linux_1041[1].0209.2012

3#make

错误1:

gcc: error: -msoft-float and -mhard_float may not be used

together

解决方法:

如果出现编译错误,说是编译器无法同时使用soft浮点运算

和hard浮点运算,这个是编译器版本问题,可以分别在

/ieee80211/Makefile和/rtl8187/Makefile中注释掉:

EXTRA_CFLAGS += -mhard-float -DCONFIG_FORCE_HARD_FLOAT=y

修改为:

#EXTRA_CFLAGS += -mhard-float -DCONFIG_FORCE_HARD_FLOAT=y

错误2:

/home/ubuntu/weiruming/rtl8187L_linux_1041.0209.2012/rtl8187/r8180_pm.c:36:5:

error: conflicting types for ‘rtl8180_save_state’

/home/ubuntu/weiruming/rtl8187L_linux_1041.0209.2012/rtl8187/r8180_pm.h:34:5: note:

previous declaration of ‘rtl8180_save_state’ was here

/home/ubuntu/weiruming/rtl8187L_linux_1041.0209.2012/rtl8187/r8180_pm.c:97:5: error:

conflicting types for ‘rtl8180_enable_wake’

/home/ubuntu/weiruming/rtl8187L_linux_1041.0209.2012/rtl8187/r8180_pm.h:37:5: note:

previous declaration of ‘rtl8180_enable_wake’

解决方法:

该错误说.h头文件和.c文件里面的两个函数有冲突,C语言

不是先在头文件里面定义,然后在c文件里面包含头文件,

然后对函数进行实现吗?为什么这里,这两个函数会报错?

是不是编译器的问题,没有搞懂,我解决的方法是先把.h文

件里面的定义给注释掉了,想不到这样也可以。如下: