hi3518e移植USB-WiFi RT3070 STA驱动

/**************************************************************************************************/
                                       步骤    1    ( USB PHY被禁用
/**************************************************************************************************/
热插拔usb无反应(没有打印一下信息):
# usb 1-1: new high speed USB device number 3 using hiusb-ehci

1、查看你是否加载了hi3518e的驱动。
2、查看hi3518e的驱动脚本
insert_ko()
{
    # low power control
    source ./lowpower.sh > /dev/null
。。。。

3、查看是否是驱动脚本中的 lowpower.sh,禁止了热插拔。
#!/bin/sh
#....USB PHY..........0x20050080 [12]bit......0
himm 0x20050080 0x000121a8
#....USB PHY............0x20050084 [22]bit......1
himm 0x20050084 0x005d2188
#....NANDC..0x200300D0 [1:0]......2'b01
himm 0x200300D0 0x5
。。。



4、果然禁用了USB PHY,这里我们只需要注释掉,做如下更改:
#....USB PHY..........0x20050080 [12]bit......0
#himm 0x20050080 0x000121a8
#....USB PHY............0x20050084 [22]bit......1
#himm 0x20050084 0x005d2188
#....NANDC..0x200300D0 [1:0]......2'b01
himm 0x200300D0 0x5
。。。


/**************************************************************************************************/
                                       步骤    2  (内核配置)
/**************************************************************************************************/
复制hi3518e的配置文件到.config
#cp arch/arm/configs/hi3518e_mini_defconfig ./.config
配置内核参数
#make menuconfig
   [*] Networking support  --->
        -*-   Wireless  --->  
                 <*>   cfg80211 - wireless configuration API  
                     [*]     enable powersave by default 
                     [*]     cfg80211 wireless extensions compatibility 
                     [*]   Wireless extensions sysfs files                          
                    <*>   Common routines for IEEE802.11 drivers 
                <*>   Generic IEEE 802.11 Networking Stack (mac80211)          
                       [ ]   PID controller based rate control algorithm            
                       [*]   Minstrel                                                 
                       [*]     Minstrel 802.11n support                             
                                Default rate control algorithm (Minstrel)  --->        
                       [ ]   Select mac80211 debugging features  --->   
                
Device Drivers  ---> 
  [*] Network device support  ---> 
        [*]   Wireless LAN  --->   
            <*>   USB ZD1201 based Wireless device support 
  [*] USB support  --->   
        -*-   Support for Host-si
        [*]hiusb(ehci/ohci) family usb host device support  ---> 
        <*>   EHCI HCD (USB 2.0) support
                [*]     Root Hub Transaction Translators 
        <*>   OHCI HCD support
#make uImage


/**************************************************************************************************/
                                       步骤   3  (编译RT3070驱动)
/**************************************************************************************************/
1、修改Makfile,如下:
ifeq ($(TARGET),)
    TARGET = LINUX        / /目标平台
endif
ifeq ($(CHIPSET),)
    CHIPSET = 3070        //使用芯片
endif
    .....
#PLATFORM = PC
PLATFORM = 5VT        //选择平台
    ....
ifeq ($(PLATFORM),5VT)
LINUX_SRC = /root/hi3518/linux-3.0.y            //刚刚编译好的内核的目录(一定要编译好内核才行)
CROSS_COMPILE = arm-hisiv100nptl-linux-        //HI编译工具链
#LINUX_SRC = /home/ralink-2860-sdk-5vt-distribution/linux-2.6.17
#CROSS_COMPILE = /opt/crosstool/uClibc_v5te_le_gcc_4_1_1/bin/arm-linux-
endif 
    .... 



2、修改os/linux/config.mk

     修改参数

# Support Wpa_Supplicant
#HAS_WPA_SUPPLICANT=n 
HAS_WPA_SUPPLICANT=y
# Support Native WpaSupplicant for Network Maganger
#HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=n
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y


    搜索5VT

ifeq ($(PLATFORM),5VT)
#WFLAGS += -DCONFIG_5VT_ENHANCE   //屏蔽flags参数,hi3518e引脚是3.3v
endif
    。。。
ifeq ($(PLATFORM),5VT)
#CFLAGS := -D__KERNEL__ -I$(LINUX_SRC)/include -I$(RT28xx_DIR)/include -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -O3 -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-omit-frame-pointer -mapcs -mno-sched-prolog -mabi=apcs-gnu -mno-thumb-interwork -D__LINUX_ARM_ARCH__=5 -march=armv5te -mtune=arm926ej-s --param max-inline-insns-single=40000  -Uarm -Wdeclaration-after-statement -Wno-pointer-sign -DMODULE $(WFLAGS)  
EXTRA_CFLAGS := -D__KERNEL__ -I$(LINUX_SRC)/include -I$(RT28xx_DIR)/include -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -O3 -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-omit-frame-pointer -mapcs -mno-sched-prolog -mno-thumb-interwork -D__LINUX_ARM_ARCH__=5 -march=armv5te -mtune=arm926ej-s --param max-inline-insns-single=40000  -Uarm -Wdeclaration-after-statement -DMODULE $(WFLAGS) //参数和cflags一样,但是要去掉 -mabi=apcs-gnu和 -Wno-pointer-sign 两个参数
#export CFLAGS
export EXTRA_CFLAGS        //将cflags 修改为 extra_cflags, 不然编译不通过。



3、修改  ./chips/rtmp_chip.c 文件,如下:

...
#ifdef RT30xx
 if (IS_RT30xx(pAd))
 {
/*
  if (IS_RT3390(pAd))
   RT33xx_Init(pAd);
  else
*/
   RT30xx_Init(pAd);
 }
#endif /* RT30xx */
...



4、修改./include/iface/rtmp_usb.h文件,如下:
...
//#define RXBULKAGGRE_SIZE 12
#define RXBULKAGGRE_SIZE 6
...


5、编译
 
   #make

6、生成os/linux/rt3070sta.ko
7、复制运行配置文件(可自己修改配置),到板端文件系统
 
  #cp RT2870STA.dat  /etc/Wireless/RT2870STA/RT2870STA.dat

8、加载驱动
 #insmod   rt3070sta.ko
 rtusb init rt2870 --->
=== pAd = c2a78000, size = 509944 ===
<-- RTMPAllocTxRxRingMemory, Status=0
<-- RTMPAllocAdapterBlock, Status=0
usbcore: registered new interface driver rt2870


注:
    1、请严格按照步骤进行,因为两步之间相互有影响。
    2、如果重新编译内核后,驱动不可用,可以尝试重新编译驱动。
    3、邮箱网卡不可用,可修改内核,如下:         
Device Drivers  ---> 
  [*] Network device support  ---> 
        [*]   Ethernet (10 or 100Mbit)  ---> 
            <*>   hieth(switch fabric) family network device support  --->
                    (1)   hieth mii/rmii mode for up port (mii:0/rmii:1)   
                    (1)   hieth mii/rmii mode for down port (mii:0/rmii:1)



       
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
本季课程在开发板上移植USB WIFI模块(套装附带的MT7601模块),工作在ap模式下,并且用电脑通过WIFI去连接开发板实现主机和开发板的无线网络局域网通信,这样就可以用WIFI网络取代板载ethernet有线网络方式来进行调试和局域网视频预览。现在很多的视频摄像头产品都要求支持无线网络连接功能,本季课程主要是针对这方面开发技术讲解的。随着通信行业发展,网速越来越快,网络也从文本时代发展越过语音时代到了现在视频时代,“优酷、爱奇艺”、“微视频”、“直播”等的出现也是视频逐步成为主流媒体的证据和表现。航拍、视频监控、刷脸过关检测、汽车ADAS系统等应用也是视频在主流行业中的应用,因此视频的采集、编解码、传输、识别等技术变得越来越有价值,涌现出了“海康威视”、“大华股份”、“深圳英飞拓”等一批明星企业,名扬海内外,动辄市值几百亿。同时在芯片级,国产华为海思HI35XX系列视频编解码方案也逐步取代进口芯片(如TI、安霸)成为主流方案。视频行业技术含量高、难度大、学习周期长、发展变化快而资料少,因此行业比较缺人、工资较高。如海康威视,普通高校硕士研究生应届进入年薪普遍高于15-20万,在嵌入式linux领域也算高工资技术方向了。本项目是朱老师及其团队推出的一个嵌入式linux领域重量级企业级实战项目,选用华为海思HI3518E方案,结合OV9712/AR0130 Sensor实现图像采集和H.264编码压缩,并通过ethernet和WIFI,以socket实时流和RTSP等方式,实现720P/960P高清视频传输。本项目共分11季,从海思SDK开发环境搭建,到sample程序讲解、SDK中API函数解析,到H.264编解码、RTSP流媒体传输、MP4文件打包,到图像IQ调试、图像识别等视频领域高阶内容,可以说从零基础入手,对图像采集、编解码、网络传输、图像存储和识别做了全方位的详细讲解和代码分析,是目前市面上**一套系统讲解图像和视频技术的视频课程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值