RT5350原厂SDK及AP移植步骤详解

最近想搞一下rt5350,所以找了个原厂的SDK包进行了编译,很快路由器就可以用了,把我的编译操作步骤写了下分享给更多的爱好者,供大家参靠,下一步准备移植摄像头玩玩。有兴趣的可以一起交流。

 

RT5350移植Toolchain工具的安装

参见Ralink_SDK_User_Manual.pdf  5

 

Step1install toolchain

拷贝解压文件

#cp RT288x_SDK/toolchain/buildroot-gcc342.tar.bz2   /opt

#tar jxvf buildroot-gcc342.tar.bz2

新建文件

#mkdir /opt/buildroot-gdb 

#mkdir /opt/buildroot-gdb/bin

 

Step2:install LZMA Utility

解压文件

#tar xvf  RT288x_SDK/toolchain/lzma-4.32.7.tar.gz

#cd RT288x_SDk/toolchian/lzma-4.32.7

#./configure

#make

#make install(auto install lzma to /usr/local.bin)

 

 

Step3:install mksquashfs utility

Rt5350使用内核Linux-2.6.21.x,配置如下

 

#cd RT288x_SDK/toolchain/mksquash_lzma-3.2

#make

#mak install (auto copy lzma_alone  mksquashfs_lzma-3.2 to /opt/buildroot-gdb/bin )

 

 

Bootloader参考手册第6

 

内核文件系统编译(参考第9章)

 

#cd RT288x_SDK/source

#make menuconfig

 

Step1:选择板子型号

Step2:选择flashSDRAM大小 (2/16

Step3:EXit-yes 保存退出

 

Step4:

#make dep

#make

 

编译完成后,roomfs文件系统就会出现

 

移植AP,添加无线AP模式支持:

(参考第11-11.28小节)

 

Step1:拷贝文件 rt2860v2  rt2860v2_ap

 

\5350\RT5350_Driver\RT5350\2011_0825_RT5350_APSoC_WiFidriver_v2.6.0.0_DPB

 

#cp -rf rt2860v2  RT288x_SDK/linux-2.6.21.x/drivers/net/wireless

#cp -rf rt2860v2_ap  RT288x_SDK/linux-2.6.21.x/drivers/net/wireless

 

Step2:修改Makefile文件

#vi  RT288x_SDK/linux-2.6.21.x/drivers/net/wireless/Makefile

(此处已添加rt2860,无需修改可以查看)

 

Step3:修改Kconfig文件

#vi  RT288x_SDK/linux-2.6.21.x/ralink/Kconfig

 

将注释的#去掉即可

source “drivers/net/wireless/rt2860_ap/Kconfig”

 

Step4:

#cp 

RT5350_AP_1T1R-DIV_ANT-2L_V13.BIN  RT5350_AP_1T1R-MAIN_ANT-2L_V13.BIN

 RT288x_SDK/source/vecdors/Ralink/RT5350

 

Step5:

 

$(ROMFSINST) -e CONFIG_RT2860_AP  /etc_ro/Wireless/iNIC/RT2860AP.dat

$(ROMFSINST) -e CONFIG_RT2860_AP  

/etc_ro/Wireless/RT2860AP/RT5350_AP_1T1R-DIV_ANT-2L_V13.BIN

 

Step6:

 

v i /RT288x_SDK/source/user/rt2880_app/scripts/internet.sh

 

idRaxWdsxDown

(此处代码已有,只查看即可)

If[“$CONFIG_RT2860_AP” != “”]; then

rmmod

rmmod

rmmod 

fi

 

 

 

 

#RTDEV_PCI support

(此处需添加一下代买)

If[“$CONFIG_RT2860_AP” != “”]; then

insmod

insmod

insmod 

fi

 

 

Step7:(按手册操作)

EXit--yes

再次启动的 y/n 根据需要配置,也可在Step8中查看和重新配置

 

Step8:只配置 Ralink Module

Exit -yes

 

Step9

 

#make dep

#make

 

到此rt350可以当路由使用了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/383355.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux系统编程之进程概念(操作系统---管理,进程创建,进程状态,进程优先级, 环境变量,程序地址空间,进程O(1)调度方法)

系统编程: 进程概念->进程控制->基础IO->进程间通信->进程信号->多线程进程概念 冯诺依曼体系结构----现代计算机硬件体系结构 冯诺依曼体系结构----现代计算机硬件体系结构 计算机五大硬件单元:输入设备:键盘输出设备&#…

Make Menuconfig详解 (配置内核选择)

Make Menuconfig简介 make menuconfig 图形化的内核配置make mrproper -----删除不必要的文件和目录. #make config(基于文本的最为传统的配置界面,不推荐使用) #make menuconfig(基于文本选单的配置界面,字符终端下…

Linux系统编程之进程控制(进程创建,fork函数,进程中止,进程等待,程序替换)

进程创建 fork()------复制,返回值,写时复制 vfork()创建子进程—子进程与父进程共用同一块虚拟地址空间, 为了防止调用栈混乱,因此阻塞父进程直到子进程调用exit()退出或者进行程序替换 vfork创建的子…

Linux内核配置系统浅析

随着 Linux 操作系统的广泛应用,特别是 Linux 在嵌入式领域的发展,越来越多的人开始投身到 Linux 内核级的开发中。面对日益庞大的 Linux 内核源代码,开发者在完成自己的内核代码后,都将面临着同样的问题,即如何将源代…

Linux系统编程下做一个简易的shell

自主实现一个shell--------minshell shell:命令行解释器-------解释执行用户的输入(完成相对应的功能) 步骤 1. 获取标准输入中的字符串 2. 对字符串进行解析[ls -l -a][ls ] [-l ] [-a] 3. 创建子进程 4. 子进程中进行程序替换 5. 父进程…

C++起始(内联函数,宏的优缺点,const关键字,auto关键字(C++11)基于范围的for循环(C++11). 指针空值nullptr(C++11))

内联函数 概念 以inline修饰的函数叫做内联函数,编译时C编译器会在调用内联函数的地方展开,没有函数压栈的开销, 内联函数提升程序运行的效率 函数前增加inline关键字将其改成内联函数,在编译期间编译器会用函数体替换函数的调用…

linux内核中的汇编语言

在Linux内核代码中,有一部分是用汇编语言编写的。其大部分是关于中断与异常处理的底层程序,还有就是与初始化有关的程序,以及一些核心代码中调用的公用子程序。 用汇编语言编写内核代码中的部分代码,大体上是出于如下几个方面考虑…

数据结构课程设计---c语言实现通讯录(动态扩容+文件存储)

1 题目一 : 通讯录 1.1问题描述 编写一个通讯录管理系统,以把所学数据结构知识应用到实际软件开发中去。每条信息至包含 :姓名(NAME )街道(STREET)城市(CITY)邮编&#…

linux内核panic

1. Linux Kernel Panic的产生的原因 panic是英文中是惊慌的意思,Linux Kernel panic正如其名,linux kernel不知道如何走了,它会尽可能把它此时能获取的全部信息都打印出来。 有两种主要类型kernel panic,后面会对这两类panic做详细…

数据结构课程设计------c实现散列表(二次探测再哈希)电话簿(文件存储)

题目二 :散列表的设计与实现 2.1问题描述 设计散列表实现电话号码查找系统,使得平均查找长度不超过2基本要求 (1)设每个记录有下列数据项:电话号码、用户名、地址; (2)从键盘输入各…

科技论文----论搜索引擎现状及发展趋势

搜索引擎现状及发展趋势 【摘要】 随着最近10年中国互联网的快速发展菜互联网已经彻底改变了人们的生活方式,而在互联网的发展过程中。搜索引擎发挥了巨大的推动作用。本文对搜索引擎的发展历史采用的技术,发展现状出现的问题以及未来发展方向进行了综述…

inittab文件格式

/etc/inittab文件是Linux系统第一个进程init的配置文件。其每个记录占一行,每行最多512个字符。该文件的每个记录的格式为: id:runlevel:action:process 其中,id是一个不超过4个字符的标识,用来唯一标识一条记录。runlevel表明该条…

数据结构课程设计------扫雷游戏(升级版,可展开)

本程序由团队中的一个人所写,本人看懂并写下此文章 题目:扫雷 3.1问题描述 扫雷游戏 [基本要求] (1)完成棋盘的初始化并在标准显示器中显示 (2)通过输入行列值确定用户输入 (3)游…

C语言的编译链接过程的介绍

发布时间: 2012-11-08 10:17 作者: 未知 来源: 51Testing软件测试网采编 字体: 小 中 大 | 上一篇 下一篇 | 打印 | 我要投稿 | 推荐标签: DotNet 软件开发 | 感言十年 C语言的编译链接过程要把我们编写的一个c程序(源代码&#x…

vs2013链接Mysql时出现 (由于找不到libmysql.dll,无法继续执行代码。重新安装程序可能会解决此问题)

将MySQL安装目录下的lib文件夹中 的libmysql.dll文件拷贝到C:\Windows\System32目录下即可

gcc 优化选项 -O1 -O2 -O3 -Os 优先级,-fomit-frame-pointer

少优化->多优化: O0 -->> O1 -->> O2 -->> O3 -O0表示没有优化,-O1为缺省值,-O3优化级别最高 英文解析: -O -O1 Optimize. Optimizing compilation takes somewhat more time, an…

const 和 #define 区别总结

const有类型,可进行编译器安全检查,#define 无类型,不可进行类型检查const 有作用域,而#define 不重视作用域,默认定义在指定作用域下有效的常量,那么#define 就不能用(可以用#undef结束宏定义生…

Eclipse : Unresolved inclusion

Eclipse 中新建C 或C 到项目时&#xff0c;头文件报警&#xff0c;显示“Unresolved inclusion:<stdio.h>” 虽然不影响项目到编译和运行&#xff0c;确也无法查看头文件&#xff0c;让人感觉实在不爽。下面是在国外到网站上看到解决方案&#xff0c;自己整理了一下拿来分…

c++对const增强 和cosnt分配内存情况

const增强 c语言中const是伪常量&#xff0c;可以通过指针修改 c中const会放到符号表中 c语言中const默认是外部连接&#xff0c;c中const默认是内部链接 #include<iostream> using namespace std;const int m_a 10; //在全局区域里&#xff0c;受到保护&…

Linux下crontab命令的用法

任务调度的crond常驻命令 crond 是linux用来定期执行程序的命令。当安装完成操作系统之后&#xff0c;默认便会启动此任务调度命令。crond命令每分锺会定期检查是否有要执行的工作&#xff0c;如果有要执行的工作便会自动执行该工作。而linux任务调度的工作主要分为以下两类&am…