文档章节

TQ2440上移植RT3070AP过程

天嵌科技
 天嵌科技
发布于 2016/03/21 13:50
字数 911
阅读 13
收藏 0
点赞 1
评论 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 ⋅ 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

基于ARM的多终端自助打印系统

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

Linkerist ⋅ 2017/12/01 ⋅ 0

基于platform总线的中断(按键)字符设备驱动设计

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

长平狐 ⋅ 2012/09/03 ⋅ 0

u-boot移植--6、修改默认配置参数

常常说自己是老年人记忆,因为看过的东西很快就忘。秉承着看自己写的东西肯定要比看别人写东西要好理解的原则。写下这个系列的u-boot移植,同时也加深自己的理解。其实到现在网上大神很多,给...

a827415225 ⋅ 2017/11/24 ⋅ 0

从「林」开始: imx51-linux-rt3070ap-dhcpd

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

ll124884135 ⋅ 2012/04/24 ⋅ 0

嵌入式开发,如何配置busybox sendmail来发送邮件

我用的开发板是tq2440, 系统自带了busybox sendmail 请问如何在ARM/Linux环境下配置sendmail,使其可以发送邮件

FieldThomas ⋅ 2012/09/03 ⋅ 1

MPlayer播放器移植到嵌入式系统

开发板:tq2440 arm-linux-gcc交叉编译器:gcc version 4.3.3(Sourcery G++ Lite 2008q3-72) MPlayer版本: MPlayer-1.0rc2.tar.bz2 准备源码包: MPlayer-1.0rc2.tar.bz2 libmad-0.15.1b.ta......

慎思 ⋅ 2012/08/24 ⋅ 0

嵌入式开发板系统安装

系统安装在哪里? 在我们桌面的操作系统,无论是WINDOWS还是 Ubuntu系统一般都安装在电脑的硬盘中,那么,嵌入式Linux系统类似,也安装在它的“硬盘”中, NandFlash。 怎么安装? 首先明白嵌...

CSDNhuaong ⋅ 2017/10/28 ⋅ 0

嵌入式新手,烧写LED灯程序问题

用C语言点亮TQ2440的LED1、LED2、LED3、灯。 启动文件LED1.S .text.global _start_start: halt_loop: C语言 #define GPBCON ((volatile unsigned long )0x56000010) define GPBDAT ((volatil......

田大大周 ⋅ 2016/03/11 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

从 Confluence 5.3 及其早期版本中恢复空间

如果你需要从 Confluence 5.3 及其早期版本中的导出文件恢复到晚于 Confluence 5.3 的 Confluence 中的话。你可以使用临时的 Confluence 空间安装,然后将这个 Confluence 安装实例升级到你现...

honeymose ⋅ 今天 ⋅ 0

用ZBLOG2.3博客写读书笔记网站能创造今日头条的辉煌吗?

最近两年,著名的自媒体网站今日头条可以说是火得一塌糊涂,虽然从目前来看也遇到了一点瓶颈,毕竟发展到了一定的规模,继续增长就更加难了,但如今的今日头条规模和流量已经非常大了。 我们...

原创小博客 ⋅ 今天 ⋅ 0

MyBatis四大核心概念

本文讲解 MyBatis 四大核心概念(SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession、Mapper)。 MyBatis 作为互联网数据库映射工具界的“上古神器”,训有四大“神兽”,谓之:Sql...

waylau ⋅ 今天 ⋅ 0

以太坊java开发包web3j简介

web3j(org.web3j)是Java版本的以太坊JSON RPC接口协议封装实现,如果需要将你的Java应用或安卓应用接入以太坊,或者希望用java开发一个钱包应用,那么用web3j就对了。 web3j的功能相当完整...

汇智网教程 ⋅ 今天 ⋅ 0

2个线程交替打印100以内的数字

重点提示: 线程的本质上只是一个壳子,真正的逻辑其实在“竞态条件”中。 举个例子,比如本题中的打印,那么在竞态条件中,我只需要一个方法即可; 假如我的需求是2个线程,一个+1,一个-1,...

Germmy ⋅ 今天 ⋅ 0

Springboot2 之 Spring Data Redis 实现消息队列——发布/订阅模式

一般来说,消息队列有两种场景,一种是发布者订阅者模式,一种是生产者消费者模式,这里利用redis消息“发布/订阅”来简单实现订阅者模式。 实现之前先过过 redis 发布订阅的一些基础概念和操...

Simonton ⋅ 今天 ⋅ 0

error:Could not find gradle

一.更新Android Studio后打开Project,报如下错误: Error: Could not find com.android.tools.build:gradle:2.2.1. Searched in the following locations: file:/D:/software/android/andro......

Yao--靠自己 ⋅ 昨天 ⋅ 0

Spring boot 项目打包及引入本地jar包

Spring Boot 项目打包以及引入本地Jar包 [TOC] 上篇文章提到 Maven 项目添加本地jar包的三种方式 ,本篇文章记录下在实际项目中的应用。 spring boot 打包方式 我们知道,传统应用可以将程序...

Os_yxguang ⋅ 昨天 ⋅ 0

常见数据结构(二)-树(二叉树,红黑树,B树)

本文介绍数据结构中几种常见的树:二分查找树,2-3树,红黑树,B树 写在前面 本文所有图片均截图自coursera上普林斯顿的课程《Algorithms, Part I》中的Slides 相关命题的证明可参考《算法(第...

浮躁的码农 ⋅ 昨天 ⋅ 0

android -------- 混淆打包报错 (warning - InnerClass ...)

最近做Android混淆打包遇到一些问题,Android Sdutio 3.1 版本打包的 错误如下: Android studio warning - InnerClass annotations are missing corresponding EnclosingMember annotation......

切切歆语 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部