Linux终端

2024-05-09

Linux终端(精选五篇)

Linux终端 篇1

关键词:ARM指令集,Linux终端,OS许可费,GUI

0 引 言

随着中国入世,金融行业之间的竞争也日趋激烈,各银行在电子信息化的网络建设上加紧步伐,在原有设备的基础上不断完善,与之相关联的数据大集中、系统更新换代和新业务的推出也进行得如火如荼。国内各大银行网点电子化的覆盖率已相当普及,网点也不断深入到县级城市,业务朝着专、精、强方向发展,为银行业务的进一步发展作出了巨大的贡献。近年来,各行致力于全面改善网点结构和营业环境,提升网点功能。而网络环境的变迁和业务功能的增强对现有的末端设备提出了更高的要求,如何找到一种适合新的网络环境以及综合业务要求的末端设备是各行迫切需要解决的问题。

随着信息化、智能化、网络化的发展,嵌入式技术将获得更广阔的发展空间,目前嵌入式的概念已遍及各个领域,如:工业控制、交通管理、信息家电、家庭智能管理、网络及电子商务、环境监测和机器人等方面。随着后PC时代的到来,家电、玩具、汽车、新一代手机、数码相机、医疗设备和智能化网络终端更是少不了嵌入式这个核心技术,随着网络、通信技术的普及与发展,把处理器嵌入到各种个性化产品中成为大势所趋,因此在后PC时代嵌入式系统将拥有最大的市场。

可以说,随着近年来微电子技术的迅猛发展,处理器增长速度也随之加快,嵌入式系统领域发生了翻天覆地的变化。特别是网络的普及,嵌入式与互联网成为最为热门的技术。现在,可以使嵌入式系统具备网络功能,并将它们与Internet或企业内局域网连接起来。这种特性增强了嵌入式系统多方面的实用性。我们此次开发的智能化网络终端—— “高分辨率彩色液晶终端”正是基于Linux的嵌入式系统在金融行业中的应用。

1 需求分析

当前,在金融行业,营业网点柜台前端平台的管理和维护已经高度统一。如何选择更适合于银行业务发展的金融前端平台、如何解决前端系统的快速开发与简单维护的问题已经成为摆在数据大集中战略面前的重要课题。

网络技术快速发展。对挂接在网络环境下的终端,要求必须具备几个方面的功能:

· 工作要稳定,可靠,能够全天候的运行;

· 终端支持10/100M以太网连接;

· 嵌入式系统外设接口丰富;

· 支持通用的USB设备,便于升级和进行二次开发;

· 支持大屏幕彩色液晶显示。

而金融行业目前应用的大多数网络终端,嵌入式系统的硬件采用的是I80C188,RD8820/8830等8位或16位的CPU,即使是I386,ARM7这样的32位CPU的主频也不过是60M左右,很难满足金融行业现在和未来的需求。应用软件多数采用汇编语言或C语言编程,没有采用操作系统,仅包含一个简单的循环处理的控制流程;终端与主机之间通信通过RS232、10M以太网。这些网络存在通信速度慢、数据传输不可靠,联网功能差、升级和二次开发困难的问题。而嵌入式CPU的价格在逐渐下降,Linux操作系统受到了各国政府及全世界的IT精英的支持,以太网已经相当成熟稳定,在工业控制、航天、海关、保险等领域获得越来越多的应用。网络终端使用了TCP/IP协议,便于联网,并具有高速控制网络的优点。现在32位的CPU性能越来越高,为嵌入式系统的广泛应用提供了可能性。基于上述情况,我们将基于Linux的嵌入式系统应用于金融行业,可大大提高金融行业网络系统的整体性能。

嵌入式系统一般应用嵌入式操作系统来开发。在嵌入式操作系统的选择上,我们选择了标准Linux系统,版本为2.4.18,是目前世界上较稳定的内核版本。由于Linux有完整开放的源代码,可针对具体应用修改和优化系统,内核稳定,适用于多种CPU和多种硬件平台,支持网络等特点,因而选择Linux作为嵌入式操作系统。

2 整体设计方案

金融系统的网络终端主要是应用于银行的前台服务,具备通讯功能、256色显示、多种字体字符的打印输出功能、远程维护管理的功能,并根据设计需求,设置了多个辅口。本终端采用ARM9为核心的开发板,采用Linux操作系统,利用ARM-Linux-gcc作为交叉编译工具,用C语言作为应用程序开发工具。满足当前金融系统提出的各种要求,工作稳定、可靠,数据传输高速、准确的要求。

一般Linux终端系统结构包括硬件部分、应用软件部分与Linux操作系统部分。与一般的Linux终端系统设计有所不同的是:有关图形界面设计没有采用业内通常使用的MiniGUI软件,而是采用了Linux系统自带的NCURSES库,因为作为商业上的设计,这样更加经济,虽然MiniGUI很廉价,但作为商业使用时它不是完全免费的,而NCURSES库则是完全开放的;另外我们的设计采用的是STN型12.1寸的伪彩屏,因此对图形界面的要求也并不高,采用NCURSES库完全能够满足设计需求,见图1所示。

2.1 硬件平台

由于嵌入式系统领域的软、硬件种类繁多,产品研发需要适应多种不同软件与硬件的组合。为了克服多样化,现在的研发方式多以平台化设计PBD(Platform-Based Design)为主。平台化设计的基本思路是,以某一种基础的硬件与软件参考设计(reference design)为平台,自行加上额外所需要的硬件与软件,以适应多样化的产品需求,而不必每款产品都从头设计。这种设计方式可以缩短研发进程,加速产品的上市时间。这样的参考设计平台大多由微处理器生产公司提供,例如,Intel、三星、Motorola等厂商提供微处理器的参考设计电路,以及建议的外围设备布局,包括内存、基本I/O甚至包括LCD控制接口、IDE设备接口等等,并且配合某一款操作系统,例如:Linux、Windows CE,以及相应的软件源代码。将这样的组合包以授权的方式提供给产品开发厂商来开发产品,一般这样的组合包称为“板级支持包”BSP(Board Support Package)。我们本次开发的智能化网络终端“高分辨率彩色液晶终端”的开发芯片是采用三星公司的S3C2410A。

Linux广泛应用于各种差异性显著的硬件平台,明显特征是可运行在X86、Alpha、Sparc、MIPS、PPC、Motorola、NEC、ARM等多种硬件平台,而且开放源代码,可以定制;可与各种传统的商业操作系统分庭抗争。越来越多的企业和研发机构都转向嵌入式Linux的开发和研究上,在新兴的嵌入式操作系统领域内也获得了飞速发展。

基于ARM指令集的典型硬件平台是:

· 具有独立运算功能的CPU和相应的Memory;

· 所有源代码对用户来说都是透明的;

· 终端本地运行的操作系统为Linux完整、精简或定制版本;

· 整体架构比基于X86指令集的系统小的多;

· 终端本地具有可实时读写的存储介质,如:硬盘、电子盘。

2.2 金融系统网络终端硬件设计方案

针对网络终端的应用环境,选择三星的ARM9系列的S3C2410,S3C2410是一款高性能、低价位、高集成度的微处理器,为嵌入式系统应用而设计。S3C 2410的处理能力达220 MIPS,工作频率可达266 MHz,内置MMU管理单元,为运行Linux提供硬件上的支持,在开发板上还集成有16 M的SDRAM、2 M的FLASH、10/100 baseT以太网接口、RS232串口、USB接口,键盘鼠标接口,LCD接口,I/O接口等如图2所示。

2.3 金融系统网络终端软件设计方案

应用程序不打算采用汇编语言编程,因为这种编程方式效率低,程序移植性差,限制了系统性能,因此本设计采用的主要是基于Linux的C语言编程。采用的设计方案是先硬件再软件设计的串行开发方式,没有采用通常的软硬件并行的开发方式,本方案设计主要是在优化硬件系统的基础上进行软件设计。关于网络终端设计的总体构思如图3所示。

3 结论与展望

随着世界金融公司正逐步进入中国市场使得国内金融业面临更大的挑战。面对这一挑战,金融行业提出了各种以对方案,其中一项就是提高服务质量,而服务质量的提高很大程度表现在前台服务的水平的提高上,除了提高服务人员的专业服务意识,银行业面临的最突出问题就是综合业务系统的统一。由于普通串口终端已经不能满足上述业务需求。为此,开发基于Linux的嵌入式网络终端系统,以期解决金融行业目前的网络存在通信速度慢、数据传输不可靠,联网功能差、升级和二次开发困难的问题,提高金融行业网络系统的整体性能。

本系统在实际使用过程中取得了良好的效果,但仍存在需要修改的地方。另外金融行业发展速度非常快,由于国内市场外资银行的介入,使得新技术在金融行业的运用更为迅速,所以相关产品的更新换代也势在必行。因此,不能满足现有产品的性能,应该提前进行产品更新换代的准备工作。

参考文献

[1]马洪连,丁男,李屹璐.嵌入式系统设计教程[N].北京:电子工业出版社,2006,6:10-12.

[2]于明,范书瑞,曾祥烨.ARM9嵌入式系统设计与开发教程[M].北京:电子工业出版社,2006,4:118-125.

[3]Samsung.USER S MANUAL S3C2410A-200MHz&266MHz32-Bit RISC Microprocessor Revision1.0[EB/OL].http://www.91ic.com.cn,2006.

[4]王卓,包杰.嵌入式Linux系统及其应用前景[J].单片机及嵌入式系统应用,2004,5:5-8.

Linux终端 篇2

如果是使用Ubuntu的话,你可以利用CTRL+ALT+T组合键打开终端。当然你也可以使用超级键(Windows键)打开Dash,搜索“TERM”,然后点击“Term”图标来打开终端窗口。

对于其他的桌面环境来说,例如XFCE、KDE、LXDE、Cinnamon以及MATE,你可以在菜单中找到终端。有些环境会在停靠栏或者面板上面包含终端图标。

通常情况下,你可以在终端里面直接输入应用程序名来启动一个应用程序。比如说,你可以通过输入“firefox”来启动Firefox。

在终端启动应用程序的好处是,你可以包含一些额外的参数。

例如,你可以通过下列命令来打开一个Firefox浏览窗口,然后利用默认的搜索引擎搜索相关信息:

代码如下:

firefox -search “linux.cn”

你可能会注意到,如果你启动Firefox,程序打开以后,回到了终端窗口控制,这就意味着你可以继续在终端进行工作。

通常情况下,如果你在终端启动了应用程序,控制会切换到新启动的应用程序,只有程序被关闭以后才会重新切换到终端控制。这是因为你在前台启动了这个程序。

如果要在Linux终端打开应用程序并且返回终端控制,那么你需要将应用程序启动为后台进程。

和下面所列的命令一样,我们可以通过增加一个(&)符号,将应用程序在后台启动。

代码如下:

libreoffice &

译者注:如果需要加参数的话,记得把&符号放在最后。

译者注:一般情况下,关闭终端时,在这个终端启动的后台程序也会被终止,要使终端关闭以后,后台程序依然保持执行可以使用下列命令

代码如下:

nohup command [arg...] &

如果应用程序目录没有安装在PATH变量包含的目录里面的话,我们就没有办法直接通过应用程序名来启动程序,必须输入应用程序的整个路径来启动它,

代码如下:

/path/to/yourprogram &

如果你不确定程序输入哪个Linux目录结构的话,可以使用find或者location命令来定位它。

可以输入下列符号来找到一个文件:

代码如下:

find /path/to/start/from -name programname

例如,你可以输入下列命令来找到Firefox:

代码如下:

find / -name firefox

命令运行的结果会嗖的一下输出一大堆,别担心,你也可以通过less或者more来进行分页查看。

代码如下:

find / -name firefox | more

find / -name firefox | less

当find命令查找到没有权限访问的文件夹时,会报出一条拒绝访问错误,

你可以通过sudo命令来提示权限。当然,如果你没有安装sudo的话,就只能切换到一个拥有权限的用户了。

代码如下:

sudo find / -name firefox | more

如果你知道你要查找的文件在你的当前目录结构中,那么你可以使用点来代替斜杠:

代码如下:

sudo find . -name firefox | more

你可能需要sudo来提升权限,也可能根本就不需要,如果这个文件在你的主目录里面,那么就不需要使用sudo。

有些应用程序则必须要提升权限才能运行,否则你就会得到一大堆拒绝访问错误,除非你使用一个具有权限的用户或者使用sudo提升权限。

这里有个小窍门。如果你运行了一个程序,但是它需要提升权限来操作,输入下面命令试试:

代码如下:

Linux终端 篇3

随着人民生活水平的提高和生活方式的转变,餐饮业的市场急剧扩大,利润飞速增长,被称为中国的黄金产业。而电子点菜系统的应用,提高了餐馆档次和营业效率、优化了业务流程,为餐饮行业带来崭新的管理理念与服务手段。目前较为流行的点菜终端主要分为2种模式。第一种采用单片机和无线模块实现,该模式成本低,但是功能和界面较为简单,通信距离也较短,使用者一般是服务员;另外一种采用商业PDA和无线网卡实现,功能强大,界面华丽,操作方面,但成本较高,不利于大范围推广与应用。此外,友好的自助点菜终端要给客户提供诸如每道菜肴的名称、插图、介绍和价格等各种相关信息,这些信息需要随着菜单的变化实时更新。由于嵌入式系统的存储空间有限,大量的图片等信息存储和实时更新成为现有点菜终端设计的一个难题[1]。

本文提出了一种新型电子点菜系统模式该系统由自助点菜终端和网站服务器组成,自助点菜终端为全触摸屏操作,无需点菜员参与,可完全由顾客自己完成点菜;且采用了开放源代码的自由软件开发方式,降低了系统成本。对于大量数据的存储与更新问题,本文提出构建一个服务器网站,由此解决大容量数据的存储与更新问题,提高餐饮服务批量生产与业务升级效率。顾客可通过自助点菜终端访问服务器网站自主完成菜谱查询、点菜、结账、多媒体娱乐等操作。点菜终端与服务器之间的通信基于WiFi无线网络。

1 系统概述

本文所介绍的点菜系统,分前台系统和后台系统2 部分,采用B/S架构,前台和后台之间采用WiFi无线通信,集无线网络通信技术与手持移动终端技术于一身。

前台手持自助点菜终端设备,无需点菜员参与,完全由顾客自己完成点菜。前台开发环境为嵌入式Linux,Qt/Embedded Linux。后台系统平台为PC,也可以称为整个系统的服务器,它的主要用户为餐馆的管理人员管理员可以通过后台服务器向系统添加餐馆的新菜、修改菜价、查询历史记录等。服务器负责协调各设备的工作,对各种数据做必要的处理,及时为工作人员、管理人员提供真实、可靠的数据。后台开发环境为Windows XP,MyEclipse,SQL Server。电子点菜系统的结构如图1所示。

2 自助点菜终端硬件设计

自助点菜终端的核心处理器采用ARM920T核的S3C2440芯片,其主频可达到400 MHz,外接64 MB SDRAM和64 MB FLASH。终端的硬件结构图如图2所示。其中,显示接口采用8寸TFT液晶屏,像素640×480,为用户提供友好的操作体验。用户通过触摸屏访问服务器网站自主完成菜谱查询、点菜、结账、多媒体娱乐等操作。该系统以无线宽带路由器作为无线AP(Access Point)接入点,点菜终端内置无线网卡,在内核支持、驱动程序的配合下,客户终端便能够接入无线网络,连接到远端服务器,访问网站[2]。

3 自助点菜终端软件设计

自助点菜终端的软件设计主要是开发基于嵌入式Linux系统的客户端应用程序,用以访问服务器网站。终端软件结构如图3所示。该系统开发主要有3个主要内容:开发平台的构建、编译Qt/Embedded库和终端应用程序的实现[3]。

3.1 嵌入式Linux系统开发平台的构建

搭建交叉编译环境是嵌入式开发的第一步,也是必备一步。由于一般嵌入式开发系统存储大小有限,通常需要在功能强大的PC机上建立一个用于目标机的交叉编译环境。该系统主机开发平台选择Fedora 12系统安装交叉编译器用来编译Linux内核,安装ARM 920t-eabi用来编译Qt/Embedded库,用来支持浏览程序的开发。终端以嵌入式Linux作为操作系统,管理系统软硬件资源。该终端采用Linux 2.6.29内核版本,首先移植了系统引导程序U-boot,然后编译裁剪的Linux内核,加载无线网卡等驱动,制作根文件系统[4,5,6]。

3.2 编译Qt/embedded库和Tslib触摸屏库

Qt/Embedded是一个多平台的C++图形用户界面应用程序框架,其对象容易扩展,可移植性好,支持多个GUI平台的交互开发。Qt/Embedded被广泛地应用于各种嵌入式产品和设备中。因此本文选择Qt/Embedded为本系统的GUI。

Qt/embedded Linux是为嵌入式Linux优化过的Qt版本。为了尽可能减少内存占用量,Qt/embedded Linux可以被重新编译以去掉那些不用的特性。

首先编译安装tslib,添加触摸屏支持:下载,tslib1.4.tar.gz,解压后执行配置、编译和安装命令。

然后通过./configure开始配置Qt embedded库,将不需要的应用去除以减小库的大小。配置完毕后,用make命令编译,用make install命令安装Qt/embedded Linux到指定的目录。

3.3 设计点菜终端应用程序

对于自助点菜终端应用程序的设计使用Qt Creator规划点菜终端程序的大致界面,然后遵循Qt/Embedded编程一般规则编写代码,主要分为浏览器核心类和主窗口类的实现,最后编译并通过NFS进行板上测试。

浏览器核心类使用Qt提供的QWebView类。该类提供了常用的功能,如加载特定的URL、设置、历史记录和网页对象。它还提供包括后退、向前和重新加载在内的基本浏览功能[3,7]。

例如,以下代码实例化用于显示网页并与其互动的QWebView类,指示QWebView加载URL并显示,这样就得到可与网站互动的基本窗口。

4 服务器网站开发

该系统利用普通的PC机和Windows XP作为网站服务器,数据库使用SQL Server 2005,Web服务器使用Tomcat 6.0。在MyEclipse环境下开发完成了JSP网站,网站实现了如图4所示功能[8,9,10]。

5 结语

本文设计的自助点菜终端,具有价格低廉,操作简单,界面友好等特点,采用开放源代码软件设计,使系统的成本降低,更具有市场竞争力;点菜终端通过WLAN以模式与服务器交互降低了客户端的设计难度解决了大容量数据的存储与更新问题。经实验测试验证,该系统所有功能模块都能正常运行,达到了预期效果,能够满足一般餐饮企业的实际要求。自助点菜系统使餐饮企业改善了餐馆的经营策略、管理效率和服务质量。随着信息化的发展,将得到更为广泛的应用,有着广阔的前景。

参考文献

[1]颜泽球,廖晓东,涂钦.触摸屏自助点菜终端的设计与实现[J].现代电子技术,2010,33(5):125-126.

[2]蔡子裕.基于ARM嵌入式无线点菜系统终端的研究与设计[D].长沙:中南大学,2008.

[3]吴鑫毅.基于Qt和ARM的无线点菜系统软件设计[D].厦门:厦门大学,2009.

[4]孙纪坤,张小全.嵌入式Linux系统开发技术详解[M].北京:人民邮电出版社,2006.

[5]孙琼.嵌入式Linux应用程序开发详解[M].北京:人民邮电出版社,2006.

[6]韦东山.嵌入式Linux应用开发完全手册[M].北京:人民邮电出版社,2008.

[7]倪继利.Qt及Linux操作系统窗口设计[M].北京:电子工业出版社,2006.

[8]范立峰,乔世权,程文彬.JSP程序设计[M].北京:人民邮电出版社,2009.

[9]邱加永,卞志城,郑经煜.JSP基础与案例开发详解[M].北京:清华大学出版社,2009.

Linux终端 篇4

GPS智能终端是智能交通系统(ITS系统)的重要组成部分,它将卫星定位技术(GPS)、地理信息系统(GIS)以及无线通信技术融于一身。目前,卫星定位终端通常由8位/16位单片机、GSM/GPRS通信模块、GPS模块、LCD液晶显示器等组成,并且采用液晶部分与主控芯片组分离在两个外壳里的分体式结构。这里介绍一种基于ARM920处理器和嵌入式Linux操作系统,将GPS技术与CDMA网络相结合的嵌入式智能终端并设计。该终端具有将GPS终端的动态位置、时间、状态等信息实时地通过CDMA无线网络链接到控制中心,在具有地理信息处理和查询功能的电子地图上进行显示,并对终端的准确位置、速度、运动方向、终端状态等基本信息进行监控和查询;报警(包括主动报警和自动报警);显示调度信息;外接设备数据采集、本地温度采集及远程监控等功能。

1 GPS智能监控系统总体设计方案

GPS智能终端与监控中心的通信方式是影响整个ITS系统功能的重要因素。为了解决目前终端采用GSM,GPRS网络进行数据传输不足的问题,设计中采用CDMA 1X网络,其理论传输速率可达300 Kb/s,数据传输速率高,永远在线,基于IP协议可以访问整个Internet;按流量收费,价格合理;具有良好的可扩展性,覆盖室内绝大部分地区及距海岸线120 km内的海域,基本不存在盲区。通信速度远高于GPRS网络,更加适合于大数据量、实时传输监控,而且易于平滑过渡到3G移动通信系统。GPS智能监控系统由GPS智能终端、CDMA网络、Internet网、监控中心组成,如图1所示。

2 GPS智能终端的硬件设计

2.1 平台介绍

采用ARM处理器和嵌入式技术设计的移动终端,相对于以8位/16位单片机作为中央处理器的终端而言,无论是功能上,还是人机界面都有显著提高,是微处理器技术的重要发展。这里选用Atmel公司的AT91RM9200处理器为主控制器。该内核属于专门用于工业控制的ARM芯片,有较宽的工作温度以及其他较好的工业参数,同时集成了丰富的系统应用外设及标准接口;在180 MHz主频下高达200 MIPS处理速度;外部总线接口EBI;两个USB 2.0主机口和一个USB 2.0设备口;一个10/100 Mb/s Ethernet通信接口;4个同步/异步串口;多种串行数据通路;支持I2C,I2S等。其丰富的外部设备和数据传输特性是选择它作为主控制器的主要原因。

2.2 硬件设计

GPS智能终端的硬件系统构成如图2所示。

2.2.1 ARM主控模块

AT91RM9200的串口UART2和UART3分别与CDMA模块、GPS模块通信,在实际通信时两路连接都加有LVTTL电平到RS 232电平的转换电路。AT91RM9200接收GPS模块从串口3发出的位置信息,解析出其中有用数据进行封装,然后以规定格式通过串口2交给CDMA模块,通过CDMA网络接入Internet网最终送至ITS监控中心;接收并解析ITS控制中心发来的短消息命令,按命令进行上传定位等操作;把系统运行状态及ITS控制中心发来的信息在液晶屏上显示出来。

2.2.2 CDMA通信模块

CDMA模块是整个系统的通信基础,设计中采用Fidelix公司的CDMA通信模块FD810。该模块内嵌的高通 Qualcomm MSM6025芯片,除支持基本的通话和SMS短消息外,还支持CDMA20001x 无线数据传输。高速上下行速率与大缓存,数据传输速率高达153.6 Kb/s,可通过AT命令远程控制内置TCP/IP协议堆栈。DTGS-800与AT91RM9200通过串口UART2实现数据的收发和AT指令的操作。

2.2.3 GPS模块

GPS接收模块选用芬兰Fastrax公司的iTrax100。该模块支持NMEA0183 和 Sony ASCⅡ协议的数据格式。GPS模块通过串口3将数据以固定的帧格式发送至AT91RM9200。GPS模块需要配备专门的GPS天线接收GPS卫星信号。一般在比较开阔的地区,需接收到3颗以上的GPS卫星信号才能进行准确定位。

2.2.4 存储器系统

存储器系统采用4 MB NOR FLASH,64 MB NAND FLASH和32 MB SDRAM。NOR FLASH通过16位数据总线与CPU交换数据,用来存储Uboot,Linux内核、文件系统;NAND FLASH存储应用程序,作为系统的数据存储器,如加载电子海图等。为充分发挥32位ARM 处理器的数据处理能力,选用2片16位的HY57V281620HG并联,以构建32位SDRAM与ARM交换数据。SDRAM在系统中主要用作程序的运行空间、数据及堆栈区。

首先,通过JTAG口将Uboot、Linux内核、文件系统烧写到NOR FLASH,将应用程序烧写到NAND FLASH。在系统启动时,CPU首先从复位地址0x0处读取启动代码,并将存有引导程序Uboot的NOR FLASH存储器配置到Bank0,即AT91RM9200的NCS0引脚接至NOR FLASH芯片AT49BV322AD的CE¯端,这样就可以从NOR FLASH启动嵌入式Linux操作系统。

3 GPS智能终端的软件设计

嵌入式Linux系统只需引导程序、Linux微内核、初始化进程3个基本元素,移植嵌入式Linux,就是使实时内核能在其他处理器(CPU)或微控制器(MCU)上运行。将嵌入式Linux移植到AT91RM9200平台上,一般需要4个步骤:下载源码和建立交叉编译环境,配置编译内核,制作文件系统,下载和调试内核。

3.1 应用程序设计

应用程序包括Uboot启动代码、串口设备驱动程序、CDMA网络数据传输程序、GPS串口通信程序等。

(1) 系统加电后复位;

(2) Uboot初始化CPU,SDRMA,分配地址空间等;

(3) Uboot把Linux内核的压缩文件解压到SDRAM中,同时Uboot把控制权移交到Linux。Linux的内核有在FLASH存储器上直接运行和加载到内存中运行2种工作方式。这里采用的FLASH存储器运行方式相对较复杂,但运行速度更快;

(4) 开始执行SDRMA中的代码,Linux内核初始化,完成堆栈和中断的分配等;

(5) 加载串口驱动模块,完成串口的初始化;

(6) 运行CDMA网络数据传输程序,通过CDMA网络与Internet进行连接;

(7) 运行GPS串口通信程序,通过串口将GPS数据送至AT91RM9200。

至此,已建立了从GPS数据采集到数据传输的完整的嵌入式监控系统。

3.2 无线接入网络程序

终端由CDMA网络接入Internet后,通过互联网进行数据传输。系统上电和载入Linux后,首先初始化CDMA 模块,进行端口设置和波特率设置(115 200 b/s);然后进入拨号等待状态。由于该终端在功能上映射为无线Modem,所以登陆网络需进行PPP拨号连接,接入号为#777,用户名和密码均为CARD。启动程序后,确认是否拨号成功,若成功拨号,则调用GPS串口通信程序和网络数据传输程序;最后使用Internet结束后,关闭无线连接。

3.3 CDMA网络数据传输程序

在Linux操作系统下,监控终端通过CDMA网络与Internet连接,将数据上传到监控中心。套接字Socket是许多操作系统网络编程的通用API,是介于网络应用层和传输层之间的编程接口。套接字提供了访问下层通信协议的大量系统调用和相应数据结构,进程在Linux上的网络通信过程就是使用套接字传输数据的过程。文中介绍的Socket通信采用面向连接的TCP协议。

客户端和服务器端的TCP应用程序流程如图3所示。客户机部分先由Socket()创建本地套接口,给服务器端套接口地址结构赋值;用Connect()函数使本地套接口向服务器端套接口发出建立连接请求,经3次握手建立TCP连接;若连接建立成功,则用Send()和Recv()函数与服务器通信;通信结束,用Close()关闭套接口。

服务器部分由Socket()创建套接口,并给套接口地址结构赋值;调Bind()函数绑定套接口、用Listen()函数在该套接口上监听请求;当Accept()函数接受请求,产生新的套接口及描述字,并与客户端连接;在用Fork()函数派生新的子进程与客户端通信,主进程继续处理其他请求。

3.4 GPS串口通信程序

GPS串口通信程序是对采集到的GPS数据和车辆状态数据进行解析;对时间、经度、纬度、速度及超速报警等数据解析,并以固定格式通过串口3传送到AT91RM9200。GPS模块的工作流程如图4所示。

GPS接收数据采用NMEA0183格式,串行通信参数为8位数据位,无奇偶校验;1位停止位,无数据流控制。波特率设为115 200 b/s。判断帧起始是否为$GPGGA,如果是,按位读取GPS数据,从中提取UTC时间、经度、纬度、速度,并按定义好的帧格式顺序传送至ARM,再由CDMA模块转发至监控中心服务器。

在Linux下,所有的硬件设备都被看成是普通文件,可以通过与普通文件相同的标准系统调用完成打开、关闭、读取和写入设备等操作。系统中每一个设备都用一种特殊的设备相关文件表示,存放在/dev目录下。在Linux中,对每一个设备的描述是通过主设备号和次设备号来惟一确定的。由同一个设备驱动控制的所有设备具有相同的主设备号,主设备号描述控制这个设备的驱动程序,即驱动程序与主设备号是一一对应的(0~255);次设备号用来区分同一个驱动程序控制的不同设备。

4 实验与结果

运行嵌入式目标板的客户端程序采集GPS数据并发送,在上位机上运行服务器端就能接收到GPS数据。如图5所示为GPS数据采集、接收的调试界面的数据,

比较监控中心服务器接收到的GPS数据与终端采集到GPS数据相一致,实现了终端与监控中心无线、实时数据传输。本终端运行稳定、系统响应时间小于等于3 s,网络良好情况下数据传输速率达115 200 b/s。

5 结 语

利用嵌入式Linux操作系统开发平台提供的系统功能,可以简化多任务程序设计,降低开发难度,轻松地完成前后台编程方法难以完成的任务。由于CDMA数据传输有着永远在线、费用低廉,并且能够切换到SMS方式,保证数传万无一失的诸多优点,而且随着移动通信网络的发展,该GPS智能终端更易平滑过渡到3G移动通信系统。因此将会有更广阔的应用前景。

摘要:基于ARM处理器和嵌入式Linux操作系统的特点,利用CDMA网络在数据传输中的优点和GPS智能监控系统结构,实现在32位RISC处理器AT91RM9200和嵌入式Linux操作系统平台下将GPS技术与CDMA网络相结合的嵌入式智能终端设计。系统功能简化了多任务程序设计,降低了开发难度。数据传输有着永远在线、费用低廉的优点,同时确保数据传输万无一失。随着移动通信网络的发展,GPS智能终端在3G移动通信系统中有着广阔的应用前景。

关键词:嵌入式Linux,AT91RM9200,CDMA,智能终端

参考文献

[1]张健,蒋新华,陈兴武.CAN总线在基于ARM嵌入式数控系统中的应用[J].自动化与仪表,2008(7):25-27.

[2]石为人,张杰,唐云建,等.无线传感器网络嵌入式网关的设计与实现[J].计算机应用,2006(11):2 525-2 528.

[3]邹思轶.嵌入式Linux设计与应用[M].北京:清华大学出版社,2002.

[4]张宏壮,王建民.基于Linux的嵌入式数据采集系统[J].微计算机信息,2008(20):101-102.

[5]马忠梅,李善平.ARM&Linux嵌入式系统教程[M].北京:北京航空航天大学出版社,2005.

[6]张海涛,邱联奎,艾云峰.分布式嵌入式系统实时调度的建模[J].计算机应用,2008(8):2 177-2 180.

[7]张海涛,龚龙庆.用于嵌入式计算机性能测评技术及方法研究[J].现代电子技术,2008,31(14):49-54.

[8]杜宇峰,任欣,王黎.基于ARM嵌入式平台下Linux驱动程序开发[J].无线电工程,2008(6):53-55.

[9]方卫民,孙百生,李娜.基于ARM的嵌入式网络视频监控系统的设计与实现[J].仪器技术,2008(1):22-23.

Linux终端 篇5

1 终端硬件平台

硬件部分采用核心板加底板的结构,核心板是以S3C2440作为处理器,并配有64 MB的SDRAM,256 MB/1 GB的Nand Flash和2 MB的Nor Flash;底板上添加了串口、USB接口、100 Mbit·s-1以太网RJ-45接口和SD卡等基本外围电路。另外,单独开发了3G模块的电路板,目的是把3G模块的miniPCI接口通过硬件转化为USB接口,这样不仅方便3G模块与核心板的连接,而且也方便了对3G模块在Linux系统下驱动的处理,3G模块采用华为EM770W。

2 软件平台

2.1 PC机软件平台

系统软件平台以Linux操作系统为基础,在PC机上安装虚拟机,然后在VMware Workstation上安装Red hat Enterprise 5,内核采用Linux-2.6.32.2,然后在Red hat5的Linux上建立ARM-Linux-gcc的交叉编译环境,ftp以及samba服务器等。

2.2 终端的系统移植

系统移植包括:配置Linux内核,向内核中添加3G模块的驱动和ppp协议的支持,并重新编译和下载。

在内核配置之前,首先要进入内核目录,执行make distclean命令将以前相关的临时文件、配置文件、中间文件和路径文件等清除。再开始配置内核:第一步,cp config_mini2440_w35.config;第二步,make menuconfig 进入基于文本模式的菜单型选项,添加USB转串口的驱动和PPPD协议支持的选项;第三步,对内核进行编译,执行命令make zImage,编译成功后在/arch/arm/boot目录下将生成zImage烧写文件;第四步,制作目标板的文件系统映像,在mini2440的目录下执行命令mkyaffszimage-128M rootfs-qtopia-qt4 rootfs-qtopia-qt4.img,这样在当前目录下就生成了相应的文件系统映像;第五步,烧写文件,连接好串口和USB电缆,打开超级终端和DNW软件,硬件上电并选择为NOR Flash启动,进入BIOS功能菜单。首先选择功能号[f]开始对Nand Flash进行分区;然后选择功能号[v]开始下载supervivi,下载完毕,BIOS会自动烧写supervivi到NAND Flash分区中,并返回主菜单;安装Linux内核,在BIOS主菜单中选择功能号[k],开始下载Linux内核zImage;安装根文件系统,在BIOS主菜单选择功能号[y],开始下载ysffs根文件系统映像文件rootfs-qtopia-qt4.img,此过程大概需要2 min,下载的文件越大,烧写的时间就会越长;下载完毕后,拔下USB连接线,在BIOS主菜单选择功能号[b],启动系统,进一步进行屏幕校正和相关设置[3]。

3 拨号程序分析

3.1 PPPD拨号程序的简要分析

PPPD 是一个用户空间的后台服务进程(Daemon),负责与3G模块进行通信会话来进行必要的初始化设置,然后开始按照协议要求的步骤进行拨号。初始化设置是由PPPD自带的辅助工具CHAT完成,这个程序利用AT指令[2]和3G模块进行通信,主要是交互一些拨号的参数设置、进行拨号的用户名和密码、是否采用数据加密等连网参数[4]。

拨号流程和主要函数如下:

(1)主程序pppd_start(),这个函数首先是做初始化工作,对几个所使用的协议进行初始化,这里所用到的分别是lcp_protent,chap_protent,ipcp_protent。

(2)完成初始化后,正式开始进行协议的协商,PPPD协议协商流程,如图1所示。

(3)接下来开始发起lcp通信,start_link->lcp_lowerup(),这个函数首先和内核的PPP协议进行协商,主要是MTU等链路参数,协商后设置LCPDELAYED_UP标志,把lcp_delayed_up函数设置给一个定时器,这个定时器会根据DELAYED_UP标志周期执行前赋给lcp_delayed_up,在这里函数将主动发起lcp协议请求,之后等待对方回应。start_link函数结束返回到pppd_start()主函数继续执行。

(4)主函数pppd_start会进入一个无限循环,这个循环主要执行函数handle_events()和get_input()。handle_events主要处理接收到的信号,get_input负责处理接收到的数据包。

3.2 配置拨号脚本

(1)需要配置的拨号脚本文件有3个,分别是:

wcdma,chat-wcdma-connect和chat-wcdma-disconnect。把它们存放在/etc/ppp/peers目录下。注意要在wcdma中添加persist命令,保证3G网络在一段时间断开后能自动再连接。

(2)设置开机自动拨号上网,在系统的开机启动脚本中添加shell命令:

/etc/ppp/rmlock,判断并删除无效的串口的lock文件,保证成功拨号。/usr/bin/pppd call wcdma,使其自动拨号。/usr/bin/sleep 15,保证15 s的拨号时间。

4 测试

4.1 驱动检测

将电路板的启动模式设置为Nand Flash启动,则Linux系统会在通电后自动运行。系统启动后,会在/dev目录下生成ppp设备节点,可用ls/dev/ppp-l命令查看是否存在。在电路板的USB HOST口连接3G模块的电路板,若超级终端上有如图2所示的信息输出,则可知3G模块的驱动已经正确添加到内核中了。

4.2 拨号测试

在超级终端命令行下,输入命令:pppd call wcdma &,结果如图3所示,说明拨号成功。

然后记录出现的两个DNS地址,找到/etc目录下的resolv.conf文件,将分配得到的两个DNS服务器地址:202.102.224.68和202.102.227.68添加到文件中,这样就可以进行域名解析了。Ping外网测试,ping 119.75.217.56检查是否能够正常访问网络。结果如图4所示,说明网络连接正常。

5 结束语

设计和实现了基于S3C2440和Linux的无线拨号上网终端,对其中3G拨号上网所用到技术进行了探讨和分析。利用ARM高速的实时数据处理能力和Linux的网络支持功能,保证了终端设备工作的稳定性和实时性,具有一定的实际意义。有待注意之处:(1)硬件3G模块的电路板有必要集成到底板上,这样可以简化系统设计,降低成本。(2)Linux系统内核要根据具体的实际应用情况进行裁剪,这样不仅节省了存储资源,而且还提高了系统的处理速度。

摘要:以S3C2440和Linux为平台,设计实现了基于3G模式的无线拨号上网终端,并阐述了其硬件组成、软件开发平台的建立、拨号程序的分析,以及驱动检测的方法,最后进行了拨号上网的测试。实际测试结果表明,系统运行稳定、性能可靠,具有一定的应用空间。

关键词:S3C2440,Linux,拨号上网终端

参考文献

[1]徐英慧,马忠梅,王磊,等.ARM9嵌入式系统设计-基于S3C2410与Linux[M].北京:北京航空航天大学出版社,2007.

[2]华为技术有限公司.EM770W AT命令接口说明书[M].广州:华为技术有限公司,2009.

[3]广东友善之臂计算机科技有限公司.Mini2440用户手册[M].广州:广东友善之臂计算机科技有限公司,2011.

上一篇:调查问卷法下一篇:两高司法解释