基于linux的网络终端的设计与实现

来源 :科学与财富 | 被引量 : 0次 | 上传用户:vbsunboy
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:数字视频已经成为嵌入式领域的一个重要发展方向。达芬奇的集成DSP高速处理功能的通用处理器的功能,二者的有效结合,是音频和视频处理,非常适合高性能,实时性。在视频监控领域的同时,目标识别与跟踪等,如何实时嵌入式终端发送数据到远程计算机的处理也是一个迫切需要解决的问题。
  关键词:DM3730;嵌入式linux系统;平台;移植
  1. 引言
  随着嵌入式多媒体系统功能复杂程度的不断提高,目前 720P、DM3730 等高清视频采集与处理大部分由 Linux系统来实现,由于Linux系统处理速度快,内存大,可以完成视频采集、处理与传输等功能,但是Linux系统也存在很多缺点,如功耗比较高且体积大,在应用方面受到限制。另一方面,面对多变的客户需求和复杂的市场环境, 本次论文选用嵌入式 Linux 软件开发平台搭建对嵌入式多媒体系统的功能进行扩展,对智能手机、智能视频监控、数字机顶盒、移动智能视频录像机等,使得发嵌入式多媒体产品具有现实意义。
  2. 嵌入式 Linux 软件开发平台搭建
  系统软件开发平台搭建主要分为交叉编译环境建立、嵌入式 Linux 系统内核裁剪与移植、系统引导程序编译与移植、根文件系统制作以及 NFS、Samba 服务器安装与配置。本章将分别对以上内容进行介绍。
  2.1 交叉编译环境搭建
  建立交叉编译环境是嵌入式 Linux 开发的前提,这是由于嵌入式系统资源有限,程序设计无法直接在嵌入式 Linux 环境下编译,必须将程序在通用计算机上编译生成二进制可执行文件,下载到嵌入式系统中才可以执行。前者通用计算机一般称为宿主机,后者一般称为目标机。编译好的二进制可执行文件一般通过两者之间的连接端口及连接工具如串口、网口、USB 接口及 JTAG 口等进行下载调试。如图 2-1 所示为系统交叉编译环境搭建连接图。
  图 2-1 交叉编译环境连接图
  由上图可知,搭建系统软件编译环境由宿主机和目标板以及几种通信接口组成,各个模块介绍如下:
  (1) 宿主机开发系统是在 WIN7 主机下的 VMware 虚拟机中安装 Linux 操作系统,该操作系统选用的是 Ubuntu10.04LTS 版本操作系统。该系统是长期支持版本,性能稳定,适合 dm3730 开发。
  (2) 目标板选用的是天漠公司 Devkit8500 系列评估板,系统软件首先在评估板上开发,待硬件制作好以后,将软件系统移植过去。
  (3) 由于宿主机是 x86 体统结构而目标板为 ARM 体系结构,在宿主机下编译的程序无法直接在目标板中运行,必须是有交叉编译工具来编译程序,本系统使用的是arm-eabi-gcc 交叉编译工具。
  (4) 串口和网络调试工具使用的是 SecureCRT 调试工具,该调试工具不仅可以作为串口工具使用,设置波特率、数据位、停止位、奇偶校验等,还可以作为网络调试工具,利用 telnet 功能,实现网络调试。
  2.2 NFS 服务配置
  本系统中将建立 NFS 共享文件夹,在串口或网络调试工具中输入挂载命令“mount -t nfs -o nolock 192.168.0.150:/home/nfs /mnt/nfs”挂载到目标板“/mnt/nfs”目录下,那么在目标板中就可以直接调试宿主机中编译好的程序。这种调试方式可以方便系统开发,加快开发进度。NFS 服务器配置方式如下:
  (1) Ubuntu 系统中安装软件相对比较简单,只需要在终端中输入命令“sudo apt-getinstall nfs-kernel-server”,系统自动下载安装。
  (2) 安装结束后需要配置“/etc/exports”文件,该文件为 NFS 共享目录配置文件,输 入 命 令 “sudo vim /etc/exports” , 在 打 开 的 文 件 最 后 输 入 “/home/nfs*( rw,sync,no_root_squash )”。/home/nfs 是要共享的目录,rw 和 sync 等命令代表对该目录的读写权限,写入方式等配置,以及操作权限设定。
  (3) 配置好以后通过下面的命令重启服务。
  $sudo /etc/init.d/portmap restart
  $sudo /etc/init.d/nfs-kernel-server restart
  (4) 目标板上测试 NFS,在调试窗口输入下面命令,查看该文件夹下是否是宿主机目录下的内容,如果有则表示配置成功。
  $mount -t nfs -o nolock 192.168.0.150:/home/nfs /mnt/nfs
  $ cd /mnt/nfs
  $ ls
  2.3 Samba 服务配置
  Samba 是 Linux 操作系统与 Windows 操作系统之间架起的一座桥梁,两者之间基于 SMB(Server Message Block)协议,需要在 Linux 建立一个共享文件夹。本文系统中在宿主机“/home/share”目录下建立共享文件夹。Samba 服务器的建立同 NFS 相似,具体为如下步骤:
  (1) 在 Ubuntu 系统终端中输入命令“sudo apt-get install samba”和“sudo apt-getinstall smbfs”系统自动下载安装。
  (2) 创建共享文件夹
  $mkdir /home/share
  $chmod 777 /home/share
  (3) 编辑 Samba 服务配置文件,需要打开“/etc/samba/smb.conf”文件,在末尾添加   如下信息:
  path = /home/ /share
  public = yes
  writable = yes
  valid users = suda
  create mask = 0700
  directory mask = 0700
  force user = nobody
  force group = nogroup
  available = yes
  browseable = yes
  (4) 重启 Samba 服务
  $ sudo /etc/init.d/samba restart
  (5) Samba 测试
  在 Windows 系统下,打开命令窗口,输入“//192.168.0.150”,其中 IP 地址为 Ubuntu系统中的 IP 地址,如果输入命令按回车后,显示 share 共享文件夹,则表明 Samba服务器配置成功。
  3. 嵌入式 Linux 内核裁剪与移植
  系统内核是一个操作系统的灵魂,负责系统的进程调度、内存管理、文件系统及网络系统管理等,可以满足嵌入式系统中绝大多数的复杂性要求,但是由于一般嵌入式 Linux 内核大小有 30M 到 80M 等,而嵌入式系统硬件资源有限,就必须对内核进行重新裁剪和配置。内核的裁剪与配置主要针对系统硬件资源和软件设计需求,将内核中不需要的内容删除及重新配置,最后重新编译内核,生成镜像文件,下载到目标板中。
  3.1 内核的配置
  在系统内核编译前需要对系统的内核进行配置,配置时需要根据系统实际需求,认真配置每一项,如果配置不当,直接关系到系统能否正常启动,是否满足系统设计需求等。配置内核除选择必须参数外,还需要将不需要的选项去除,比如视频驱动可能支持很多种设备的驱动,就需要将不需要的驱动去除,以此减少内核空间,但是如果内核里面没有该支持的驱动,就需要添加。如本文选择的 Linux 操作系统中没有对 MT9P031 图像传感器的驱动支持,就需要内核配置中对其添加。需要在“defconfig”,“kconfig”和“makefile”等三个文件中添加配置数据。在内核中三个文件的存储路径分别为 “/arch/arm/configs/omap3_beagle_defconfig”,“drivers/media/video/Kconfig”和“drivers/media/video/Makefile”。
  在 omap3_beagle_defconfig 配置文件中添加如下配置信息:
  CONFIG_SOC_CAMERA=y
  CONFIG_SOC_CAMERA_MT9P031=y
  在/video/Kconfig 视频驱动配置文件中添加如下配置信息:
  config SOC_CAMERA_MT9P031
  tristate "mt9p031 support"
  depends on SOC_CAMERA && I2C
  help
  This driver supports MT9P031 cameras from Micron.在 video/Makefile 编译文件中添加修改如下编译文件信息:obj-$(CONFIG_SOC_CAMERA_MT9P031) += mt9p031.o修改好后,需要对系统内核重新编译。编译通过后,需要配置内核,选择刚才添加的驱动文件,通常配置内核都是通过 make menuconfig 命令来进行图形化配置。如图 3-2所示,在菜单中选择所需要的功能。
  图 3-2 内核配置图像界面按“Y”键选中功能,并将该驱动功能编译到内核中,系统启动后将添加该功能;“N”取消该功能,系统编译时内核将不添加该功能;“M”功能为模块化编译功能,系统编译后内核不添加该功能,而是生成*.ko 文件的动态链接库,当系统启动后如果需要使用该功能, 就使用 insmod 命令添加该动态库,这种方式可以减少系统内核空间。配置完成后系统会自动生成 config 配置文件。MT9P031 配置界面如图 3-2 所示,为了使初期调试方便,本系统中对 MT9P031 选择的 M 模式,这样每次修改驱动文件后,就不需要重新编译内核,但在后期成品时需要将该驱动编译到系统内核。
  3.2 内核的编译与移植
  内核配置完成以后,就需要对系统内核进行编译,在编译前可以通过命令“export$PATH”来查看交叉编译工具 arm-none-linux-gcc4.4.3 是否添加,如果没有,则需要见该工具添加,使用的命令为“export PATH=$PATH:/opt/arm-q2003/ arm-eabi-4.4.0”。确认好编译环境后,开始对内核编译。首先使用命令“make distclean”,清除以前编译遗留下的文件,然后输入命令“make”进行编译,编译好后将在“arch/arm/boot”目录下生成 uImage 镜像文件。本系统是将该镜像文件拷贝到 TF 卡上,通过 TF 卡实现系统更新。
  4. 基于DM3730 的嵌入式传输系统的实现
  4.1系统平台架构
  本嵌入式系统采用的核心处理器为 DM3730,它由1GHz的ARM Cortex-A8 Core和 800MHz的TMS320C64x+ DSP Core两部分组成,集成了 3D 图像处理器、视频加速器、USB2.0、支持 MMC/SD 卡、串口等模块,并支持高清 720p 视频编解码。DM3730 处理器内部的 ARM 核与 DSP 核共用一个GPMC(General-Purpose Memory Controller,通用存储控制器)。GPMC 是一个 16 位的外部存储控制器,它的数据访问引擎提供了一套灵活的编程模式来与外部的标准存储设备通信,W5300 即挂接在 GPMC 接口上。DM3730 处理器的中断系统由 MPU 中断子系统、IVA2.2 断子系统中及Modem 中断子系统三部分组成,不同的中断子系统分别来响应不同的中断。W5300 的中断引脚连接在 GPIO 上,通过将 GPIO 配置成中断引脚,由 MPU 中断子系统对其进行响应。DM3730处理器可以实现视频数据的实时编解码,而W5300 以太网处理器芯片可以实现高速的组网传输,这样的组合可以较好的克服视频处理和视频流传输两方面均可能出现的瓶颈问题。   4.2系统性能测试
  4.2.1 测试环境的搭建
  嵌入式系统与 PC 机通过路由器连接,采用路由器动态分配的网络地址方法。在该测试中,嵌入式系统的网络地址为 192.168.0.105,PC 端的网络地址为 192.168.0.101。
  4.2.2 链路连通性的测试
  在 PC 端使用 Ping 命令测试网络的联通性,结果,如图3所示:图3 Ping命令测试结果
  该实验结果表明 W5300 的驱动程序工作正常,网络状态良好,没有发生丢包现象。
  4.2.3 视频流业务传输的性能测试
  在该测试中使用 FTP 协议进行视频文件的传输,PC 端作为服务器端,嵌入式系统作为客户端,嵌入式系统通过FTP 协议从服务器 PC 端下载上传视频文件。在此测试过程中,服务器端采用了 FileZilla Server,它是一款超强的开源免费 FTP 服务器软件,同时客户端采用 FileZilla Client,将其编译移植到嵌入式系统上,通过文件传输来测试数据传输速率。多次测试的数据传输速率,如表 1 所示:
  表 1 数据传输速率测试结果
  通过计算,采用软件协议栈时,数据传输速率为1348.3Kbps,采用硬件协议栈时,数据传输速率为2651.7Kbps,说明在使用软硬件协议栈的情况下,W5300以太网处理芯片均可正常工作,且采用硬件协议栈时的数据传输速率是软件协议时的 2 倍,可以满足大批量视频流业务的传输。
  总结
  本文基于 DM3730 处理器的嵌入式 Linux 系统平台,通过 FTP 服务器对系统的性能进行了测试,测试结果表明该方案的传输速率能够稳定保持在 2.65Mbps,能够满足 VGA 格式视频流业务实时传输的要求。通过嵌入式 Linux 软件开发平台搭建,以及嵌入式 Linux 内核裁剪与移植,内核的配置,内核的编译与移植实现了DM3730 处理器的嵌入式 Linux 系统架构,最后系统平台架构,系统性能测试来实现DM3730 的嵌入式传输系统。■
  参考文献
  [1] 赵瑶池,胡祝华,胡诗雨. 嵌入式网络智能视频监控系统设计与实现[J]. 现代电子技术,2012,35(4):68-70.
  [2] 李硕豪,张军. 基于 OMAP3530 数字图像处理的多人脸识别系统设计[J]. 微型机与应用,2013,32(11):61-63.
  [3] 屈桥,李波,陈玉坤. 基于嵌入式 Linux 的以太网视频高速传输研究[J]. 测控技术,2012,31(5):110-112.
  [4] 吴昊,严胜刚,薛双喜. 基于 W5300 的以太网数据传输系统的设计与实现[J]. 电子设计工程,2012,(09):92-94.
  [5] 周建平,刘歆浏. 基于 DM3730 平台的智能数字视频监控系统[J]. 兵工自动化,2012,31(5):59-60.
  [6] Texas Instruments.AM/DM37x Multimedia Device Sili-con Revision 1.x[S].2010.
  [7] 潘必超. 基于 OMAP3530 GPMC 控制器的网络接口拓展[J].微计算机信息,2010,26(11-2):83-85.
  [8] WIZnet.High-performance Internet Connectivity SolutionW5300[Z].2008.
  [9] 龙新辉,陈俊杰. 基于嵌入式 Linux 的以太网卡驱动设计与实现[J]. 舰船电子工程,2011, (3):143-146.
  [10] 宋宝华. Linux 设备驱动开发详解[M]. 北京:人民邮电出版社,2008.
其他文献
摘 要:35kV变电站为我国的电力事业的发展做出了很大的贡献,目前我国有很多35kV变电站,但是因为建设时间比较久,所有的设备几乎都呈现出了老化的态势,因此有必要对其进行改造,随着自动化技术的发展,将传统的变电站系统,改造为综合化自动化系统已是必然的选择。本文首先介绍了35kV变电站的综合自动化技术优势;其次阐释了该系统的功能,最后,探讨了其改造措施,仅供借鉴。  关键词:35kV变电站;综合自动
摘 要:我国是农业大国,农村、农民、农业,三农问题受到全国的高度关注。上个世纪,农业大力的发展,相应的产生了农民专业合作组织。这极大的提高了农民种粮、务农的积极性。增加了农民的收入。我国的农业进入一个崭新的阶段,创新体制的出现给农村带来了新的机遇,农村面貌发生巨大的改变。  关键词:农业;经济合作;经济发展;增收  前言  21世纪工业,农业都在快速的发展道路上,我国现阶段还处于社会主义初级阶段,
今年上半年,江阴国家高新技术产业开发区全区完成规模工业产值447亿元。同比增长6%;完成全社会固定资产投资52.8亿元,同比增长16.6%;实现到账外资1.74亿美元,同比增长:25.2%;实现全口径财政
钢铁企业原料采购占企业财务成本支出70%-80%左右,可以说采购环节利润空间相对较大。成本管理失控的风险也相对较大。近年来,我国钢铁企业由于成本控制不得当,发展壮大受到阻碍,甚
摘 要:随着新理念新技术的不断涌现,课程与信息技术的整合日益深入。翻转课堂通过对知识讲授和知识内化的颠倒,改变了传统教学中师生角色,通过课前将教学资源传到E—Learning平台上,并使用平台上的聊天室、考试测验、讨论组等功能配合学生提前学习;再在课堂上采取多种教学方法,对课堂时间的使用进行重新规划;课后及时总结反思,为学生构建出个性化的学习环境。本文通过分析翻转课题的特性,根据实施翻转课堂的原则
随着信息技术的高速发展,高中学生的逻辑思维能力已经比较成熟了,高中数学教师需要有效地利用学生逻辑思维能力,培养其反思能力。反思能力对于高中学生来讲,是一项非常重要的
以初中英语教学的重要性为立足点,首先简明扼要地概括了应用开放性思维模式开展初中英语教学的优势,然后通过理论与实际相结合的方式,从情景教学法、生活教学法和互动教学法
摘?要 企业信息化管理的需求越来越广泛,本论文详细探讨了分布式网络在信息管理中的应用,首先简要介绍了分布式网络和企业信息管理系统的应用,并分析了企业信息管理对于分布式网络的功能需求,并有针对性的给出了企业信息化管理的网络组网构建方案,并探讨了企业信息化管理的数据分布式同步技术问题。  关键词 分布式网络;信息管理;企业信息化  中图分类号 TP311 文献标识码 A 文