色yeye在线视频观看_亚洲人亚洲精品成人网站_一级毛片免费播放_91精品一区二区中文字幕_一区二区三区日本视频_成人性生交大免费看

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > 基于3.14內(nèi)核rtl8188eu驅(qū)動移植

基于3.14內(nèi)核rtl8188eu驅(qū)動移植 時間:2018-09-21      來源:未知

近的項目上要用到3.14的內(nèi)核,我們需要一個可以使用wifi連接外網(wǎng)的文件系統(tǒng),我們的wifi模塊使用的是rtl8188eus,所以需要移植一個rtl8188eu的驅(qū)動。

首先去網(wǎng)上找相關(guān)8188eu的驅(qū)動源碼,我這里使用的是rtl8188EUS_rtl8189ES_linux_v4.1.1_4235.20120606。

還需要使用到linux-3.14內(nèi)核的源碼,這兩樣準備完畢后,源碼就齊了。

將rtl8188的驅(qū)動解壓后,需要添加一個適合于我們平臺的編譯選項,操作如下:

vi Makefile

將原Makefile中關(guān)于CONFIG_PLATFORM_I386_PC = y改成 n

根據(jù)其他arm平臺添加一個 CONFIG_PLATFORM_ARM_SMDK4x12 = y

然后在適當位置添加如下(356-362行內(nèi)容):

退出保存后,執(zhí)行make

在linux/osdep_service.h下,注釋掉1360行對應的daemonize(“%s”,”RTKTHREAD);

繼續(xù)編譯,錯誤如下:

這個錯誤的原因是3.14內(nèi)核不支持這些函數(shù),這些函數(shù)的名稱被換成了其他名稱的函數(shù),這里的主要功能是實現(xiàn)proc文件系統(tǒng),這里我們選擇注釋掉。

vi os_dep/linux/os_intfs.c

注釋掉rtw_proc_init_one()函數(shù)內(nèi)部所有代碼

注釋掉rtw_proc_remove_one()函數(shù)內(nèi)部所有代碼

注釋完成后,繼續(xù)編譯

如果編譯時出現(xiàn)這種錯誤,是因為在配置Makefile時,我們指定的內(nèi)核在配置時不支持802.11的無線設備驅(qū)動。

../os/linux/sta_ioctl.c:2227: error: unknown field 'private' specified in initializer

../os/linux/sta_ioctl.c:2227: warning: initialization from incompatible pointer type

../os/linux/sta_ioctl.c:2228: error: unknown field 'num_private' specified in initializer

../os/linux/sta_ioctl.c:2228: warning: excess elements in struct initializer

../os/linux/sta_ioctl.c:2228: warning: (near initialization for 'rt28xx_iw_handler_def')

../os/linux/sta_ioctl.c:2229: error: unknown field 'private_args' specified in initializer

../os/linux/sta_ioctl.c:2229: warning: excess elements in struct initializer

../os/linux/sta_ioctl.c:2229: warning: (near initialization for 'rt28xx_iw_handler_def')

../os/linux/sta_ioctl.c:2230: error: unknown field 'num_private_args' specified in initializer

../os/linux/sta_ioctl.c:2230: warning: excess elements in struct initializer

../os/linux/sta_ioctl.c:2230: warning: (near initialization for 'rt28xx_iw_handler_def')

解決辦法:重新配置編譯指定的Linux Kernel,將Device Drivers==>Network deivce support==>Wireless LAN==><*> USB ZD1201 based Wireless device support,編譯即可

繼續(xù)編譯

如果有以下的錯誤:

error: 'struct net_device' has no member named 'wireless_handlers'

//如下是原因,講到了定義的地方

struct net_device is defined in include/linux/netdevice.h, which includes

this ifdef:

#ifdef CONFIG_WIRELESS_EXT

/* List of functions to handle Wireless Extensions (instead of ioctl).

* See for details. Jean II */

const struct iw_handler_def * wireless_handlers; <======== NOTE

/* Instance data managed by the core of Wireless Extensions. */

struct iw_public_data * wireless_data;

#endif

解決方法:在Makefile加上如下

繼續(xù)編譯:

編譯到后出現(xiàn)了undefined的情況,是因為現(xiàn)在版本的內(nèi)核kernel_thread函數(shù)并沒有定義它的符號,我們把這個函數(shù)換成856行的kthread_run(),如下圖:

這個函數(shù)需要一個頭文件,這個頭文件時kthread.h,他可以從3.14內(nèi)核源碼中拷貝,位置是include/linux/kthrea.h。

拷貝到os_dep/linux/下以后,在os_dep/linux/os_intfs.c中添加如下代碼

之后就可以編譯成功了,如下圖

上一篇:Genymotion使用說明

下一篇:怎樣在Altium Designer 中創(chuàng)建原理圖元件庫

熱點文章推薦
華清學員就業(yè)榜單
高薪學員經(jīng)驗分享
熱點新聞推薦
前臺專線:010-82525158 企業(yè)培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權(quán)所有 ,京ICP備16055225號-5京公海網(wǎng)安備11010802025203號

回到頂部

主站蜘蛛池模板: 中文字幕人妻系列人妻有码 | 国产乱妇乱子视频在播放 | 99涩涩 | AV在线播放日韩亚洲欧 | 国产日韩在线时看高清视频 | 狠狠干狠狠色 | 无码国产欧美日韩精品 | 男人扒开添女人下部免费视频 | WWW亚洲精品久久久 草色噜噜噜av在线观看香蕉 | 日本无码一区二区三区有码中出 | 三年片在线观看大全国语 | BABESCOM欧美熟妇 | 好爽进去了视频在线观看国版 | 7788成人免费播放网站 | 日韩视频不卡 | 性迷宫在线看 | 137日本免费肉体摄影 | 欧美18videos极品| 午夜香蕉成视频人网站 | 国产成人香蕉久久久久 | 蜜桃传免费看片www 欧美黄色试片 | 无码潮喷A片无码高潮免费 最新国产福利在线 | 夜夜高潮夜夜爽夜夜爱爱一区 | 四虎黄色影视 | 亚洲韩国精品无码一区二区 | 老骚老太太肥B在线看 | 国产亚洲欧美日韩在线一区 | 色综合天天综合高清网国产在线 | 亚洲综合色AAA成人无码 | 无码超乳爆乳中文字幕久久 | 日韩在线永久免费播放 | v在线| 天天做天天摸天天爽天天爱 | 伊人久久一区二区三区无码 | 穿乳环蒂环上锁调教老师 | 国产精品自在线拍国产手机版 | 天堂资源官网在线资源 | 无码专区国产精品视频 | 性xxxxfreexxxxx欧美 | 亚洲多毛女人厕所小便 | 亚洲欧美成人一区二区在线 |