MIPS核的嵌入式Linux系统的家庭网关

分享到:
12457
下一篇 >

描述了一种无内部互锁的信息平推流式的32位嵌入式微处理器下,嵌入式Linux操作系统环境的家庭网关的体系结构。通过这种构架的实现和二次开发相应的驱动程序、应用程序和管理接口并结合无线通信技术实现家庭网关,使家庭网关具备支持非对称数字用户环路、无源光网络、以太网数据通过同轴电缆传输等接入方式的上行接口,并提供网络电话、互联网协议电视、个人计算机、通用串行总线接口、通用异步接收/发送装置等下行接口和无线相容性认证的无线信号。家庭网关可以通过万维网浏览器、基于简单网络管理协议的管理方式和命令行界面等多种方式灵活的进行信息交互、配置、更新及远程控制管理。

随着以高速、融合、精品为特征的大宽带时代的**到来,高宽带传输、全方位融合、多业务综合将是家庭网络及业务应用的发展趋势。预计未来的10年中,国内家庭网关的市场容量将在200亿元以上。尽管国内已有少数文献[5]描述了以无内部互锁的信息平推流式的微处理

CROSS_COMPILE ? =

UTS_MACHINE := $

CONFIG_SHELL := $

HOSTCC= gcc

HOSTCXX= g++

HOSTCFLAGS=-Wall-Wstrict-prototypes-O2-fomit-frame-pointer

HOSTCXXFLAGS=-O2

2.3文件系统移植

嵌入式文件系统包括Ramdisk、Jffs2、Yaffs、Cramfs、Romfs和Ramfs/Tmpfs[10]。该系统的文件系统选择Jffs2。在文件系统的文件夹Rootfs里添加rcS文件,指定需要挂载的文件系统、挂载点、配置初始化进程及解压后存放的位置,通过环境变量来传递接口。rcS文件的具体内容如下所示:

#! /bin/sh

mount-a

mount-oremount+w/

mount-tramfs-nnone/tmp

exportPATH=$PATH:/etc/ath

insmod/lib/modules/2.6.15/net/ag7240_mod.ko

exportETH0=eth0

exportETH1=eth1

ifconfig$ETH0up

ifconfig$ETH1up

2.4内存管理

操作系统中的内存管理单元负责管理整个系统的物理地址空间和虚拟地址空间,它是这个系统得以存在和运行的基础[11]。该家庭网关系统中,数据均存放在4M 的闪存里,当系统启动后再将数据通过DDR 映射到MCU 的RAM 中,从地址0x81000000开始。数据在闪存中存放的地址空间如图3所示。

0x81000000开始。数据在闪存中存放的地址空间如图3所示。

3 管理接口

3.1Web接口

Web功能是家庭网关系统提供给用户的面向对象的操作接口。用户通过WEB浏览器访问,可以对家庭网关的各功能模块进行设置,即对连接在家庭网关上的设备的管理控制。如:对以太网口进行VLAN 配置,自由组织虚拟网络;对VOIP口的网络状态进行配置,自行设置IP、VOIP业务等信息;对WiFi模块进行设置,选择虚拟信道、设置无线网络的参数等。家庭网关的软件系统通过常见的应用程序接口模块CGI,连接CGI接口和处理HTML静态文本文件实现Web功能。

Web服务器选择Httpd服务器,通过移植Httpd源码并融合在Busybox里实现。在cgiMain()函数中描述了Httpd服务器建立服务、接收请求、处理请求、日志文件及断开连接的过程。在Httpd.c文件中添加函数来设置Web服务器的配置,使Web服务器启动时就能根据当前环境完成Web服务器的配置。指定的HTML页面文件放到/usr/www 目录下,cgi外部扩展程序放到/usr/www/cgi-bin目录下,把链接融合在cgiMain里。通过在cgiMain()函数里调用环境变量建立服务器与CGI程序之间的信息交互,从而实现各个网页文件之间的链接。

如果家庭网关的IP地址为192.168.100.12,把家庭网关与PC机连接在同一个网络里,在Web浏览器地址栏输入192.168.100.12即可显示家庭网关的配置页面。可以实现各个页面之间的动态连接,修改家庭网关的配置参数。

3.2CLI接口

加载简单远程登录服务器Telnetd,通过命令行界面(CommandLineInterface,缩写为CLI)方式,使Telnetclient就可以登录到家庭网关系统,结合CLI提供的各种命令接口,实现对家庭网关的配置、测试和升级等操作。在家庭网关的软件系统中,Telnetd工作时连接一个伪终端设备,然后创建一个登陆进程,在伪终端侧有标准的输入、输出、错误。Telnet操纵的伪终端主方执行telnet协议并传递远程客户端和登录过程中的字符。

在命令行窗口输入“telnet192.168.100.12暠出现用户名、密码提示窗口。输入正确的用户名和密码,即可访问家庭网关,查看系统的文件。打开TFTP服务器,通过命令tftp可以更新页面文件等。

3.3UART接口

初始化MCU 内置的UART接口,设置串口属性如:波特率为115200、8位数据位、无奇偶校验、1位停止位、无流控。通过超级终端人机交互界面可以和家庭网关进行信息交互,实时监控家庭网关系统的运行状态、修改控制各类配置信息、更新U-boot、Linux内核、文件系统、映像文件等。

打开超级终端、TFTP服务器,设置串口属性,启动家庭网关后,即可打印输出家庭网关的运行状态。进入更新文件状态,设置环境变量,如输入:

tftp0x80060000u-boot.bin//将u-boot.bin文件放在缓存区

erase0x9f000000+0x40000//擦除存放U-Boot文件区域的内容

cp.b$fileaddr0x9f000000$filesize//把缓存区的文件复制到存放U-Boot文件的区域

即可更新U-Boot文件。按此命令格式,输入对应的文件名和地址,文件系统、映像文件也同样可更新。

4 结语

该文描述了一个以MIPS微处理器为核心、以嵌入Linux操作系统为开发环境的家庭网关。该家庭网关通过移植U-Boot、Linux内核、文件系统定制软件系统,添加Web、CLI、UATR 等接口功能,实现通过Web、CLI和SNMP等多种方式灵活的与家庭网关进行信息交互、配置、更新。经测试[13]该家庭网关系统实现了多业务功能,上联接口支持多种接入方式能够为网络交换模块提供数据信号,下联接口能提供VOIP功能、2.4GHz的无线信号,以太网口之间能自由配置VLAN。

试验测试的结果表明,该家庭网关适合高宽带传输、全方位融合、多业务综合的家庭网络及业务应用的发展需求。

你可能感兴趣: 设计应用 图片 Linux MIPS 嵌入式 首页推荐
无觅相关文章插件,快速提升流量