文档章节

TQ2440上移植RT3070AP过程

天嵌科技
 天嵌科技
发布于 2016/03/21 13:50
字数 911
阅读 13
收藏 0

   硬件:TQ2440,USB RT3070

  编译环境:ubuntu、TQ提供的EABI-4.3.3、网上下载的2010_0203_RT3070_SoftAP_v2.4.0.1_DPA包

  配置好编译环境,解压2010_0203_RT3070_SoftAP_v2.4.0.1_DPA

 

 

  移植过程:

 

  1、修改配置相关文件

  进入2010_0203_RT3070_SoftAP_v2.4.0.1_DPA

  下面有3个文件夹MODULE、NETIF、UTIL

  分别修改3个Makefile文件

  将PLATFORM = SMDK打开,其他注释掉

  然后配置平台,LINUX_SRC是内核的绝对路径

  ifeq ($(PLATFORM),SMDK)

  LINUX_SRC = /opt/EmbedSky/linux-2.6.30.4

  CROSS_COMPILE = arm-linux-

  endif

  另外需要修改的地方

  NETIF/os/linux/usb_main_dev.c中添加MODULE_LICENSE("GPL");

  MODULE/common/rtmp_init.c中的MODULE_LICENSE("RALINK");改为MODULE_LICENSE("GPL");

 

  2、编译

  用make或者make ARCH=arm KBUILD_NOPEDANTIC=1编译都行

  但是make编译时没有生成rtnet3070ap.ko

  进入NETIF文件夹直接make也可以生成ko文件

 

  3、拷到开发板上的文件

  上述三个文件夹的os/linux下的ko文件rtutil3070ap.ko、rt3070ap.ko、rtnet3070ap.ko

  再加一个MODULE下的RT2870AP.dat文件

  四个文件copy到u盘,插到开发板上

 

  4、开发板配置

  在开发板的/etc/Wireless下创建一个文件夹RT2870AP,将RT2870AP.dat放到此文件夹下

  将另外三个ko文件放到/usr下,这个可以自己定义

 

  5、加载

  按顺序加载

  #insmod rtutil3070ap.ko

  #insmod rt3070ap.ko

  #insmod rtnet3070ap.ko

  如果不允许加载

  用lsmod查看目前存在的模块

  如果有rt5370就卸载再上述顺序加载,TQ开发板默认安装了这个ko文件,卸载命令rmmod rt5370sta.ko

 

  6、可能遇到问题

  如果上述一切正常

  下面继续

  问题一:

  [root@EmbedSky  /usr]# ifconfig ra0 up

  <-- ERROR in Alloc TX TxContext[3] HTTX_BUFFER !!

  <-- RTMPAllocTxRxRingMemory, Status=3

  ERROR!!! RTMPAllocDMAMemory failed, Status[=0x00000003]

  !!! rt28xx Initialized fail !!!

  ifconfig: SIOCSIFFLAGS: Operation not permitted

  解决:

  修改MODULE NETIF UTIL三个目录下的include/os/rt_linux.h中BULKAGGRE_SIZE参数,将100改为60

  问题二:

  [root@EmbedSky  /usr]# ifconfig ra0 up

  <-- RTMPAllocTxRxRingMemory, Status=0

  -->RTUSBVenderReset

  <--RTUSBVenderReset

  RtmpOSFileOpen(): Error 2 opening /etc/Wireless/RT2870AP/RT2870AP.dat

  Open file "/etc/Wireless/RT2870AP/RT2870AP.dat" failed!

  1. Phy Mode = 0

  ERROR!!! RTMPReadParametersHook failed, Status[=0x00000001]

  ---> RTMPFreeTxRxRingMemory

  <--- RTMPFreeTxRxRingMemory

  !!! rt28xx Initialized fail !!!

  ifconfig: SIOCSIFFLAGS: Operation not permitted

  解决:

  应该是没有创建RT2870AP文件夹,创建好再把RT2870AP.dat烤过去,因为我先移植过RT3070STA,所以以为这个RT2870××.dat是通用的

 

  7、正常工作

  下面是正常打印

  [root@EmbedSky  /]# ifconfig ra0 up

  <-- RTMPAllocTxRxRingMemory, Status=0

  -->RTUSBVenderReset

  <--RTUSBVenderReset

  Key1Str is Invalid key length(0) or Type(0)

  Key2Str is Invalid key length(0) or Type(0)

  Key3Str is Invalid key length(0) or Type(0)

  Key4Str is Invalid key length(0) or Type(0)

  1. Phy Mode = 9

  2. Phy Mode = 9

  NVM is Efuse and its size =2d[2d0-2fc]

  3. Phy Mode = 9

  MCS Set = ff 00 00 00 01

  SYNC - BBP R4 to 20MHz.l

  SYNC - BBP R4 to 20MHz.l

  SYNC - BBP R4 to 20MHz.l

  SYNC - BBP R4 to 20MHz.l

  SYNC - BBP R4 to 20MHz.l

  SYNC - BBP R4 to 20MHz.l

  SYNC - BBP R4 to 20MHz.l

  SYNC - BBP R4 to 20MHz.l

  Main bssid = 7c:dd:90:56:6d:84

  <==== rt28xx_init, Status=0

  0x1300 = 00064320

  配置IP命令:

  ifconfig ra0 192.168.8.25

  #iwconfig ra0

  ra0 RTWIFI SoftAP ESSID:"RT2860AP" Nickname:""

  Mode:Managed Channel=11 Access Point: 7C:DD:90:56:6D:84

  Bit Rate=150 Mb/s

  用android手里可以查到RT2870AP的wifi信号

 

  8、关闭模块

  结束后,可以通过以下命令卸载模块:

  #ifconfig ra0 down

  #rmmod rtnet3070ap.ko

  #rmmod rt3070ap.ko

  #rmmod rtutil3070ap.ko

 

  修改后的源码包可以到下面地址下载,注意内核路径的设置

 

  http://download.csdn.net/detail/stephen_yu/7179827

 

  感谢stephen_kl的分享!

 

  供货情况:

  天嵌科技提供专业嵌入式板卡和行业解决方案。如有需要,可以联系天嵌科技的销售人员。

  销售电话:020-38219416    38373101

  技术支持:020-38219416转807     820

  网址:http://www.embedsky.com


本文转载自:http://www.embedsky.com/index.php?s=/News/show/id/390.html

共有 人打赏支持
天嵌科技
粉丝 4
博文 135
码字总数 40355
作品 0
广州
求一款可移植到ARM9上的流媒体播放器

ARM9板:tq2440 移植过mplayer1.1 ,但是怎么弄都播放不了mms,rtsp电台,请问还有没有其他可以移植的流媒体播放器。 请大神帮我解惑

FieldThomas
2012/09/04
490
0
qt+mplayer模式,播放器 嵌入式版

http://user.qzone.qq.com/406013154/blog/1340019613#!app=2&pos=1340019613 主机版本:ubuntu11.04 交叉编译器版本:arm-linux-gcc4.3.3 硬件平台:tq2440 主要技术内容: 1、跟文件系统的...

乐学为上
2012/06/19
0
0
基于ARM的多终端自助打印系统

这是以前做的一个创新项目。《基于ARM的多终端自助打印系统》。是和控制工程学院的建斌同学和仪器与电子学院的培松同学一起做的。 最后产品可以完成微信客户端扫码打印。感觉构思不错。现在把...

Linkerist
2017/12/01
0
0
基于platform总线的中断(按键)字符设备驱动设计

1、platform简介 为了理解platform总线设备驱动模型的实际运用,我首先分析了基于S3C2410的看门狗驱动实现过程,我本着将自己学过的知识在温习一遍的态度,完成了基于platform平台总线的外部...

长平狐
2012/09/03
268
0
从「林」开始: imx51-linux-rt3070ap-dhcpd

///////////////从「林」开始: imx51-linux-rt3070ap-dhcpd///////////// ///////////////////////////////////////////////////////////////// //environment: // compile system:Ubant......

ll124884135
2012/04/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

angular 解决其他电脑不能访问的问题。

ng serve --host 0.0.0.0 --disable-host-check

miaojiangmin
今天
1
0
优酷视频文件怎么转换格式

  以前在优酷上下载视频都只是在手机上观看,但随着科技的发展,对于视频的要求也逐渐增多,不再只是观看视频那么简单,在精彩的部分还会将其单独分割出来,然后进行视频剪辑,可以做出我们...

萤火的萤火
今天
0
0
数据结构:散列

在一个数据结构中查找key元素,用顺序查找、二分查找都需要经过一系列关键之比较才能查找到结果,平均查找长度与数据量有关,元素越多比较次数就越多。 如果根据元素的关键字就能知道元素的存...

京一
今天
0
0
Apache RocketMQ 正式开源分布式事务消息

近日,Apache RocketMQ 社区正式发布4.3版本。此次发布不仅包括提升性能,减少内存使用等原有特性增强,还修复了部分社区提出的若干问题,更重要的是该版本开源了社区最为关心的分布式事务消...

阿里云云栖社区
今天
30
0
使用JavaScript和MQTT开发物联网应用

如果说Java和C#哪个是最好的开发语言,无疑会挑起程序员之间的相互怒怼,那如果说JavaScript是动态性最好的语言,相信大家都不会有太大的争议。随着越来越多的硬件平台和开发板开始支持JavaS...

少年不搬砖老大徒伤悲
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部