




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 毕业设计(论文) 题目名称:无线测控基站GPRS通信模块的设计与实现院系名称:计算机学院班 级:网络工程051班学 号:学生姓名:孔明指导教师:张宏 2009年 5 月论文编号:无线测控基站GPRS通信模块的设计与实现GPRS communication module design and implementation of wireless control station 院系名称:计算机学院班 级:网络工程051班学 号:学生姓名:孔明指导教师:张宏 2009年5月无线测控基站GPRS通信模块的设计与实现孔德军(中原工学院 计算机学院,河南 郑州,451191)摘要随着嵌入式技术与无线技
2、术的发展,无线通信网络在工业数据传输与日常生活中的应用日益增多,无线通信产品正在变得越来越普及,本文研究的内容是在ZigBee网络的基站系统上实现GPRS无线上网,这一方案将使ZigBee技术与GPRS技术实现互补,实现一个无所不在的廉价的通信网络。本文讨论的主要内容包括Cygwin开发环境的搭建,嵌入式linux系统内核的移植,嵌入式linux下实现GPRS上网的解决方案和具体实现。此系统是以S3C2410芯片作为核心处理器来构建硬件平台,以嵌入式Linux系统作为软件资源的核心,高性能的硬件支持了基本接口功能和操作系统的运行,通过Embest-III GPRS 模块来完成无线数据的传输。关
3、键字:嵌入式 ARM Linux ZigBee GPRSZigBee-based Network System Base StationGPRS communication moduleKongDejun(Zhongyuan University of Technology School of Computer Sience, zhengzhou,henan,451191) AbstractWith the development of the communication technology,the wireless network is applied in the data transm
4、ission of the industry more and moreWireless communications products is becoming more and more popular , The content of the paper is in the base station system which based on ZigBee network realization realize GPRS wireless Internet access. This program will realize complementary between ZigBee tech
5、nology and GPRS technology. It will be a communications network which is ubiquitous and cheap. The main contents include the development environment of Cygwin ,Embedded Linux kernel transplantation, the plan which Realize GPRS online in embedded systems and specific implementation.This system is S3C
6、2410 microprocessor chips as core to construct the hardware platform,With embedded Linux system software as the core resources, high-performance hardware support for the basic interface and operating system functions, through the Embest - III GPRS wireless data module to finish transmission.Key Word
7、s:Embedded ARM Linux ZigBee GPRS目 录摘要IAbstractII目 录III第1章绪论11.1引言11.1.1嵌入式系统应用的背景及意义11.1.2ZigBee技术与GPRS相结合应用的背景及意义21.1.3本设计研究的主要内容31.2毕业设计工作安排以及论文结构31.2.1毕业设计工作安排31.2.2毕业设计论文结构4第2章GPRS在无线测控基站系统中的应用52.1无线测控基站系统相关概念简介52.1.1ARM简介52.1.2S3C2410简介62.1.3GPRS概述62.2GPRS在系统中的作用8第3章系统开发环境搭建与系统移植103.1开发模式103.2软
8、件环境搭建103.2.1Cygwin平台安装113.2.2系统移植13第4章基站系统GPRS上网方案的设计与实现214.1GPRS上网方案的确定214.1.1GPRS模块介绍214.1.2上网方案的确定224.2ppp拨号接入gprs网络234.2.1ppp协议234.2.2ppp编译及模块上网脚本编写244.3软硬件查错阶段274.3.1验证274.3.2运行结果28第5章结论30参考文献32致谢33第1章 绪论1.1 引言 现在无线通信和嵌入式开发是是两个比较热门的方向,社会上对基于嵌入式的无线设备需求广泛,本课题的目的就是在一个基于ZigBee网络的ARM基站上实现GPRS无线接入IP网
9、。1.1.1 嵌入式系统应用的背景及意义随着电子技术的快速发展,特别是随大规模集成电路的产生而出现的微型机,使现代科学研究得到了质的飞跃,而嵌入式微控制器技术的出现则是给现代工业控制领域带来了一次新的技术革命。由嵌入式微控制器组成的系统,最明显的优势就是可以嵌入到任何微型或小型仪器、设备中, 目前嵌入式系统己经广泛地渗透到科学研究、工程设计、军事技术、商业文化艺术、娱乐业以及人们日常生活等方方面面。嵌入式系统被定义为:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统,对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式系统是将先进的计算机技术、半导体技术、电子技术和各
10、个行业的具体应用相结合后的产物,这一点就决定了他必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。嵌入式系统一般指非PC系统,它包括硬件和软件两部分。硬件包括处理器/微处理器、存储器及外设器件和I/O端口、图形控制器等。软件部分包括操作系统软件和应用程序编程。应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用。与通用计算机能够运行用户选择的软件不同,嵌入式系统上的软件通常是暂时不变的。嵌入式系统通常执行的是带有特定要求的预先定义的任务。由于嵌入式系统通常只针对一项特殊的任务,设计人员能够对它进行优化,减小尺寸降低成本。单个的成本节约,能够促进产品应用的推
11、广,反过来将进一步降低个体的成本,这将为现代社会的发展与生活品质的提高做出突出贡献!1.1.2 ZigBee技术与GPRS相结合应用的背景及意义ZigBee是一种新兴的近距离、低复杂度、低功耗、低数据速率、低成本的无线网络技术,它是一种介于无线标记技术和蓝牙之间的技术提案。主要用于近距离无线连接。它依据802.15.4标准,能够在数千个微小的传感器之间相互协调实现通信,并且这些传感器只需要很少的能量,以接力的方式通过无线电波将数据从一个传感器传到另一个传感器,所以它们的通信效率非常高。ZigBee使用以下三个频段通信:2.4GHZ 世界 传输率250kbps 信道数16868MHZ 欧洲 传输
12、率20kbps 信道数1915MHZ 北美 传输率40kbps 信道数10虽然ZigBee作为一个新的技术有很多的优点,拥有广阔的市场空间,但zigbee技术在初期还是有一些缺点和不足的,如技术不够成熟、传输距离短等,这导致ZigBee技术在国内的应用并不多见,发展的比较缓慢。随着2007年的Pro版本的推出使ZigBee技术趋于成熟,芯片生产厂商和技术产品开发商不断增多又使ZigBee模块的价格和应用的研发成本不断降低,目前ZigBee技术与GPRS技术的结合又大大的拓展了ZigBee网络的作用范围,进而导致ZigBee市场的不断扩展,技术应用变得越来越广泛。ZigBee与GPRS技术在一定
13、程度上正好实现了技术互补,ZigBee组网灵活、能耗低但是传输距离有限、数据速率低,GPRS技术组网复杂,但是传输距离远、数据速率相对较高。我们能够利用GPRS技术扩展ZigBee技术的关键原因在于GPRS几乎已经覆盖了全国,我们只需要很少的投入即可使用GPRS服务。现在国内外ZigBee技术的应用热潮正在涌来。科学技术就是生产力,新技术新产品的快速推出可以很快的抢占市场,为国家、社会和个人创造财富。ZigBee与GPRS技术相结合可以应用的领域主要包括:工业控制:传感器的远程自动化控制;农业控制:收集各种土壤信息和气候信息;军事用途等。1.1.3 本设计研究的主要内容嵌入式系统设计要求软件、
14、硬件兼顾,本设计的目标是在基于ZigBee的无线测控平台基站系统上实现GPRS接入互联网,主要工作也是围绕这一目标展开。本文的难点主要是系统的移植、GPRS接入方案的确定、GPRS模块的初始化与拨号脚本的编写、调试和修改。本设计的硬件平台是Embest EDUKIT-III型ARM嵌入式开发与教学平台,微处理器为S3C2410,在NAND Flash进行开发。开发前系统的研究了平台的体系结构,了解硬件工作原理。软件平台是在安装XP系统的PC机上搭建Cygwin环境,以此来完成程序的交叉编译。在嵌入式linux系统中通过拨号方式实现GPRS上网。1.2 毕业设计工作安排以及论文结构1.2.1 毕
15、业设计工作安排第一阶段:明确系统整体功能,搭建开发环境第二阶段:GPRS接入方案的确定,近年来随着嵌入式应用的迅猛发展,在嵌入式Linux下实现GPRS上网的技术已经比较成熟,方法较多,针对特定的要求选用的方法不同。第三阶段:开发环境的搭建与操作系统移植 开发环境的搭建:搭建Cygwin开发环境,包括必要的服务程序的安装和工具的安装。操作系统移植:1.完成BootLoader 启动程序移植。所选用的源程序是三星公司的VIVI。用make menuconfig配置,编译生成VIVI2.完成内核移植。选用kernel 2.4.18。编译内核加入对ppp的支持,完成配置并编译生成zImage。3.根
16、文件系统制作。编译生成root。4.用FlashProgrammer将系统烧写到开发板。第四阶段:GPRS上网方案的实施和程序的验证、调试、查错阶段1.在PC机上搭建FTP服务器,使得开发板与PC机能够进行文件传输,使得调试、测试程序能够高效进行。2.程序脚本参数的调试与验证。3.硬件模块功能的验证4.AT指令的验证5.串口驱动的验证6.GPRS模块内部参数的确定和Linux下初始化模块相关验证(未实现)。第五阶段:撰写结论,将整个毕业设计过程所遇到的问题进行总结,并概括自己的收获。1.2.2 毕业设计论文结构本论文在结构上分为五章第一章:绪论,介绍了论文研究的背景和意义,作者在课题研究中的主
17、要工作和论文结构。第二章:介绍了基站系统的总体架构,引出GPRS模块,并对GPRS技术进行简单的介绍。第三章:主要的工作是搭建了Cygwin开发环境,并完成内核的移植。第四章:给出了实现GPRS上网的具体实现方案和实现的步骤。第五章:总结,对开发过程中的问题进行系统的整理,对系统的不足和为完善部分提出解决方案。第2章 GPRS在无线测控基站系统中的应用2.1 无线测控基站系统相关概念简介基站系统的主要功能是作为ZigBee网络与外部网络的中转,它要将ZigBee网络上传的信息经过处理传入到IP网,进而到达控制中心,并且能够将控制中心的控制信息转发到ZigBee网络,实现基站与IP网的连接,连接
18、方式主要有有线和无线两种方式,有线网络布置繁琐、灵活性差,不适合于小型无线基站,因为无线基站的应用场所很广且比较不固定,像荒郊野外、腐蚀性强的场所等都可能安装,所以无线成为我们的首选目标。 ZigBee网络的基站系统以EDUKIT-III ARM实验箱为平台,以S3C2410芯片为核心,以GPRS无线上网方式为网络扩展手段,2.1.1 ARM简介ARM(Advanced RISC Machines),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。ARM公司成立于英国是专门从事基于RISC技术芯片设计开发的公司,作为知识产权供应商,本身不直接从事芯片生
19、产,靠转让设计许可由合作公司生产各具特色的芯片,世界各大半导体生产商从ARM公司购买其设计的ARM微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM微处理器芯片进入市场。目前,全世界有几十家大的半导体公司都使用ARM公司的授权,因此使得ARM技术获得更多的第三方工具、制造、软件的支持,进而使整个系统成本降低,使产品更容易进入市场被消费者所接受,更具有竞争力。目前,采用ARM技术知识产权的微处理器,即我们通常所说的ARM微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的微处理器的应用约占据了32位RISC微处理器70以
20、上的市场份额,ARM技术正在逐步渗入到我们生活的各个方面。如现在流行的数码相机和打印机中绝大部分采用ARM技术,手机中的32位SIM智能卡也采用了ARM技术等。 采用RISC构架的ARM微处理器,一般具有如下的特点:1、体积小、低功耗、低成本、高性能;2、支持Thumb(16位)和ARM(32位)双指令集,能很好的兼容8位,16位器件;3、大量使用寄存器,指令执行速度更快;4、大多数数据操作都在寄存器中完成; 5、寻址方式灵活简单,执行效率高; 6、指令长度固定;目前比较通用的有ARM7、ARM9、ARM9E和ARM10等处理器系列,每一个系列提供一套相对独特的性能来满足不同应用领域的需求,
21、此设计的实验平台属于ARM9系列。2.1.2 S3C2410简介本设计中用的Embest EDUKIT-III 上的S3C2410 芯片是韩国三星电子公司推出的一款基于ARM920T内核的1632位的RISC嵌入式微处理器。该处理器主要面向手持式设备以及高性价比、低功耗的应用。S3C2410集成了一个LCD控制器(支持STN和TFT带有触摸屏的液晶显示屏)、SDRAM控制器、3个通道的UART、4个通道的DMA、4个具有PWM功能的计时器和一个内部时钟、8通道的10位ADC。S3C2410还有很多丰富的外部接口,例如触摸屏接口、IIC总线接口、IIS总线接口、两个USB主机接口、一个USB设备
22、接口、两个SPI接口、SD接口和MMC卡接口。在时钟方面$3C2410也有突出的特点,该芯片集成了一个具有日历功能的RTC和具有PLL(MPLL和UPLL)的芯片时钟发生器。MPLL产生主时钟,能够使处理器工作频率最高达到203MHz。这个工作频率能够使处理器轻松运行WinCE、Linux等操作系统以及进行较为复杂的信息处理,S3C2410凭借其突出的性价比成为我们的首选。另外S3C2410对于片内的各个部分采用了独立的电源供给方式:1.内核采用18V供电;2.存储单元采用33V独立供电,对于一般SDRAM可以采用33V,对于移动的SDRAM可以采用VDD等于1.8/2.5v。3.VDDQ等于
23、3033V:4.IO采用独立33V供电。2.1.3 GPRS概述GPRS(General Packet Radio Service)是通用分组无线业务的简称,它是第25代移动通信系统,是使GSM向3G过渡的一个桥梁。GPRS是在GSM系统基础上引入了新的部件而构成的无线数据传输系统。它的基本功能是在移动终端和Internet网络的路由器之间传输分组数据。GPRS采用与GSM同样的无线调制标准、同样的频带、同样的突发结构、同样的跳频规则以及同样的TDMA帧结构。这种分组数据信道与当前的电路交换的话音业务信道极其相似,因此现有的基站子系统(BSS)从一开始就可提供全面的GPRS覆盖。GPRS允许用
24、户在端到端分组转移模式下发送和接收数据,而不需要利用电路交换模式的网络资源。从而提供了一种高效、低成本的无线分组数据业务。1. GPRS的体系结构GPRS是利用“包交换”(Packet Switched)概念所发展出的一套无线数据传输方式。它采用分组交换技术,能兼容GSM网络并在网络上更加有效的传输高速数据和信令。GPRS是在现有GSM网络中增加GPRS网关支持节点GGSN(Gateway GPRS Support Node)和GPRS服务支持节点SGSN(Serving GPRS Support Node)来实现的,使得用户能够在端到端分组方式下发送和接收数据。通信技术原理图2-1:图 21
25、 GPRS通信技术原理图BTS(基站收发系统);BSC(基站控制器);PDN(公用数据网);PCU(分组控制单元);MSC(移动交换中心);GGSN(网关支持节点);SGSN(GPRS服务支持节点)。2. GPRS的传输过程GPRS网络是在现有GSM网络中增加GGSN和SGSN来实现的,使得用户能够在端到端分组方式下发送和接收数据,不需要使用电路交换模式下的任何网络资源,从而可以自主运营。用户设备可通过串行或无线方式连接到GPRS终端上,GPRS终端与GSM基站通信,但与电路交换式数据呼叫不同,GPRS分组是从基站发送到GPRS服务支持节点(SGSN),而不是通过移动交换中心(MSC)连接到语
26、音网络上,SGSN与GPRS网关支持节点(GGSN)进行通信,GGSN对分组数据进行相应的处理,再发送到目的网络,如Intemet或X25网络。其具体的数据传输流程为:1) GPRS终端通过串行接口从用户设备中读出用户数据;2) 处理后以GPRS分组数据的形式发送到GSM基站;3) 分组数据经SGSN封装后,发送到GPRS骨干网;若分组数据是发送到另一GPRS终端,则先发送到目的SGSN,再经BSS发送到另一GPRS终端;若分组数据是发送到外部网络(如Internet),则将分组数据包经GGSN进行协议转换后,发送到外部网络。3. GPRS的特点与应用GPRS业务具有接入迅速、永远在线、按流量
27、计费等特点,在远程突发性数据实时传输中有不可比拟的优势,特别适用于间断的、突发性的和频繁的、少量的数据传输,也适用于偶尔的大数据量传输。GPRS技术是目前解决移动通信信息服务的一种较为完善、己从应用实验到正式推广的业务。虽然3G技术已经投入运营,但技术的成熟还需要一段时间,就目前而言GPRS技术依然是主流,另外结合本系统的特点, GPRS技术还是比较理想的选择,GPRS在移动上网、车辆调度和工业遥测、遥控等领域有有广泛的应用。2.2 GPRS在系统中的作用该系统主要包括设备初始化、串口通信、数据处理、故障提示、显示等部分。其中初始化包括各种寄存器的配置、串口相关参数配置(波特率,模式)及外围电
28、路(LCD、电源等设备检测)的初始化等;GPRS模块通电后自检初始化,arm板上运行程序通过AT指令拨号上网,信道建立上传相关信息或下行IP网络信息。系统结构如图2-2:图22基站系统结构图本系统负责对所有ZigBee模块的信息进行汇总并节对所有模块进行控制,基站系统与ZigBee、GPRS模块通过串口进行通信,系统中主要传输的是各种传感器信息、状态信息和一些配置命令,这些信息突发性高、通信量小,因此用GPRS技术相当适合。用户“随心所欲”的内核定制特点、优秀的性能使linux系统成为学习嵌入式系统的首选操作系统。本系统采用ARM+Linux+GPRS模块开发。GPRS为前台的测控网络提供了I
29、P网络接入手段和短信告警通信通道。ARM处理器通过串行口与GPRS模块连接,通过串口向GPRS无线模块发送相应的AT指令,GPRS终端开始进行拨号和PPP协商过程。当PPP协商成功,无线模块登录网络成功后,系统通过加载PPP/TCP/UDP/IP等协议,同中心建立起Socket连接,数据的双向传输通道建立,系统进入发送接收用户数据、监测上报故障等循环状态。系统通过执行相应的AT命令对GPRS模块进行控制,完成相应的功能(例如TCP/IP数据传输、短信功能等)。第3章 系统开发环境搭建与系统移植3.1 开发模式进行任何一个项目的开发,首先要做的是搭建一套开发环境,这套环境包括操作系统以及含连接器
30、、编译器、调试器在内的软件开发环境。绝大多数Linux的软件开发都以native方式进行,即本机开发、调试,本机运行的方式。这种方式通常不适于嵌入式系统的软件开发,因为对于嵌入式系统的开发,它没有足够的资源在本机(即嵌入式系统平台)运行开发工具和调试工具。通常的嵌入式系统软件开发采用交叉编译调试的方式。交叉编译调试环境建立在宿主机Host(即PC机)上,对应的开发板叫做目标板Target(即嵌入式ARM9一S3C2410),两者通过串口或网线相连,进行跨平台开发。需要注意的是,编译器是存放在Linux服务器上的,我们不能指望在开发板上编译,那里没有编译器,只负责存放编译好可被ARM执行的代码。
31、进行嵌入式开发的第一步的工作就是要安装一台装有指定操作系统的PC机作宿主开发机,对于嵌入式Linux,宿主机上的操作系统一般要求为Linux。或者在Windows下安装一套模拟Linux环境的软件,如Cygwin。本嵌入式系统的开发采用 “宿主机/目标板”的开发模式,Cygwin开发平台,本次Linux系统选用2.4.18内核的Linux,运行Cygwin的PC(宿主机)开发时使用宿主机上的交叉编译、汇编及连接工具形成可执行的二进制代码(这种可执行代码并不能在宿主机上执行,而只能在目标板上执行),然后把可执行文件下载到目标机上运行。我们所采用的GNU交叉编译工具包是cross-armtools
32、-linux-edukit2410.tar.bz2,具体包括cC+编译器、汇编器、链接器、嵌入式系统的标准C库、GDB代码调试器等。3.2 软件环境搭建宿主机上的CPU 结构体系和目标机上的CPU 结构体系是不同的,为了实现裁剪后的嵌入式操作系统和应用软件能在目标机上“跑”起来,移植它们之前,必须在宿主机上建立新的编译环境,进行和目标机CPU相匹配的编译,这种编译方式称为交叉编译。新建立的编译环境称之为交叉编译环境。交叉编译环境下的编译工具在宿主机上配置编译实现,并且必须是针对目标机CPU 体系的编译工具。只有这样,对源代码编译生成的可执行映像,才会被目标机的CPU 识别。3.2.1 Cygw
33、in平台安装Cygwin的开发者基于win32 API写了一个Unix系统库的模拟层,使得cygwin是一个在windows平台上运行的Unix/Linux的模拟环境,这样使我们感觉好像在Unix/Linux上工作。Cygwin必须安装在NTFS分区上,安装时可以选用默认安装,最好选用全部安装。为了实现共享文件和目录,我们还要安装工具软件NFS服务器,NFS 允许一个系统在网络上与它人共享目录和文件。通过使用 NFS ,用户和程序可以象访问本地文件一样访问远端系统上的文件。安装NFS服务器:(软件包nfs-server-2.2.47-2.tar.bz2置于Cygwin/tmp目录下)
34、(1)在根目录下解压安装包>tar xvjf /tmp/nfs-server-2.2.47-2.tar.bz2 (2)配置NFS Server>/usr/bin/nfs-server-config显示安装信息。(3)设置主机访问控制编辑文件/etc/hosts.allow可以用Vi命令,也可以找到文件右键打开修改>Vi /etc/host.allow在最后加入:nfsd:ALL允许任何用户访问(4)设置共享目录编辑文件 /etc/export 共享目录/home/app,在export加入:/home/app /(rw,no
35、_root_squash)表示在92的子网上共享/home/app目录,权限可读写。(5)启动NFS服务在Cygwin下执行以下命令:> Cygrunsru S portmap> Cygrunsru S nfsd> Cygrunsru S mountd也可以在windows控制面板>管理工具>服务中选择并启动portmap、mountd、nfsd三个服务。启动服务之后用:>/usr/sbin/showmount 检查服务是否成功运行。如果提示某项服务启动失败,须重新解压安装。造成失败的原因可能为网络连接没有工作、杀毒软件的影响、对文
36、件存取权限不够等,还有一些为之原因。2、系统文件准备和环境建立在tmp文件夹中建立名为edukit-2410的文件夹,拷贝开发板光盘中的以下目录到相应位置,完成文件准备。光盘linuxSource*.*(包括vivi-20030929.tar.bz2、Linux-2.4.18-rmk7-pxa1-mz5.tar.bz2、root.cramfs.tar.bz2、mkcramfs等)到 -/tmp/edukit-2410光盘linux Sourceqt -à/tmp/edukit-2410/qt光盘linux Sourcepatch -à/tmp/edukit-2410/pat
37、ch光盘Tools*.tar.bz2 -à/tmp/edukit-2410交叉编译工具安装:解压工具包cross-armtools-linux-edukit2410.tar.bz2 放在/tmp目录下>cd /tmp>tar P xvjf crosstools-linux-edukit2410.tar.bz2>ls #显示:有一个armtools-linux文件夹即正确>source armtools-linux/cross-install.sh>ls /usr看到文件夹 arm-linux 即正确,此目录为交叉编译工具安装目录。设置开发环境变量:>
38、;source /tmp/edukit-2410/set_env_linux.sh此命令在每次开启Cygwin后要首先执行,以便使环境变量生效,由于每次重复这个命令比较麻烦,所以我将set_env_linux.sh的内容插入Cygwin/etc/profile文件的“export PATH”行前,这样每次打开Cygwin脚本都自动运行了,不用在敲入上面的指令了,方便很多。3.2.2 系统移植Linux移植就是把Linux操作系统针对具体的目标平台做必要改写之后,安装到该目标平台使其运行起来。1、源码安装I. Bootloader(Vivi)简介与源码安装:对于计算机系统来说,从开机上电到操作系
39、统启动需要一个引导加载过程。嵌入式Linux系统同样离不开引导加载程序,这个引导加载程序就叫做BootLoader。Bootloader是在操作系统运行之前执行的一段程序。在一个基于ARM的嵌入式系统中,系统在上电或复位时通常都从地址0x00000000处开始执行,而在这个地址处安排的通常就是系统的Bootloader。通过这段程序,可以初始化硬件设备、建立内层空间的映射表,从而建立适当的系统软硬件环境,为最终调用操作系统内核或用户应用程序做好准备。对于嵌入式系统,Bootloader是基于特定硬件平台来实现的。因此,几乎不可能为所有的嵌入式系统建立一个通用的Boofloader,不同的处理器
40、架构都有不同的Bootloader。就不同的嵌入式开发板而言,即使它们使用同一处理器,要想让运行在一块板子上的Bootloader程序也能运行在另一块板子上,一般也都需要修改Bootloader的源程序。反过来,大部分Bootloader仍然具有很多共性,某些Bootloader也能够支持多种体系结构的嵌入式系统。例如,U-Boot就同时支持PowerPC、ARM、MIPS和X86等体系结构,支持的板子有上百种。通常,它们都能够自动从存储介质上启动,都能够引导操作系统启动,并且大部分都可以支持串口和以太网口。(1)Bootloader的工作模式大多数Bootloader都包含两种不同的操作模式
41、:“启动加载”模式和”下载”模式,这种区别仅对于开发人员才有意义。但从最终用户的角度看,Boot Loader的作用就是用来加载操作系统,而并不存在所谓的启动加载模式与下载工作模式的区别。启动加载(Boot loading)模式:这种模式也称为“自主”(Autonomous)模式。也即Boot Loader从目标机上的某个固态存储设备上将操作系统加载到RAM中运行,整个过程并没有用户的介入。这种模式是BootLoader的正常工作模式,因此在嵌入式产品发布的时候,Boot Loader显然必须工作在这种模式下。下载(Downloading)模式:在这种模式下,目标机上的Bootloader将通
42、过串口连接或网络连接等通信手段从主机下载文件,比如:下载内核映像和根文件系统映像等。从主机下载的文件通常首先被Bootloader保存到目标机的RAM中,然后再被Bootloader写到目标机上的FLASH类固态存储设备中。Bootloader的这种模式通常在第一次安装内核与根文件系统时被使用;此外,以后的系统更新也会使用BootLoader的这种工作模式。工作于这种模式下的Bootloader通常都会向它的终端用户提供一个简单的命令行接口。(2)Bootloader的启动过程从操作系统的角度看,Bootloader的总目标就是正确地调用内核来使之执行。Bootloader的启动过程大多数分为
43、阶段1和阶段2。阶段1主要包含依赖于CPU体系结构的硬件初始化代码,而且通常都是用汇编语言来实现的,以达到短小精悍的目的。这个阶段通常包括以下步骤:硬件设备初始化。这是Bootloader开始就执行的操作,其目的是为阶段2的执行,以及随后内核的执行准备好基本的硬件环境。为加载Bootloader的阶段2准备RAM空间。为了获得更快的执行速度,通常把阶段2加载到RAM空间来执行。拷贝Bootloader阶段2的代码到RAM空间。设置好堆栈。跳转到阶段2的c程序入口点。Bootloader的阶段2通常用C语言来实现,这样可以实现更复杂的功能,而且代码会具有更好的可读性和可移植性。通常包括以下步骤:
44、初始化本阶段要使用到的硬件设备。检测系统内层映射。将内核映像和根文件系统映像从Flash上读到RAM空间中。(3)vivi源码安装本次移植用的Bootloader是VIVI,它是由韩国MIZI公司开发的专门用于ARM产品线的一种BootLoader。因为VIVI 目前只支持使用串口和主机通信,所以必须使用一条串口电缆来连接目标板和主机,应用中使用vivi-20030929.tar.bz2来简化难度,提高效率。运行Cygwin,输入:>cd $ WORKDIR>tar xvjf /tmp/edukit-2410/vivi-20030929.tar.bz2将vivi源码解压到$WORK
45、DIR.>cd vivi>patch p1</tmp/edukit-2410/patch/kit2410.patch 打补丁,无错误提示则安装完成。II. 嵌入式linux简介与Kernel源码安装:(1)嵌入式linux简介Linux与UNIX相似,是以内核为基础、完全内存保护、多任务多进程的操作系统,支持广泛的计算机硬件,包括x86、Alpha、Spare、MIPS、ARM、NEC、Motorola等现有的绝大部分芯片,而且程序源码全部公开,任何人都可以免费使用,只要遵循GPL声明,就可以自由修改和传播。但是嵌入式Linu
46、x又与普通Linux有区别。由于存储资源和功耗的限制,往往需要对嵌入式Linux系统进行裁剪。裁剪主要通过剔除内核中与对应平台无关的代码,减少无用的动态链接库、删掉非必要的应用程序、压缩文件系统等手段来减少资源占用。Linux 用户遇到问题时可以通过Internet向网上成千上万的Linux开发者请教,这使最困难的问题也有办法解决。Linux 带有Unix 用户熟悉的完善的开发工具,几乎所有的Unix系统的应用软件都已移植到了Linux 上。Linux还提供了强大的网络功能,有多种可选择窗口管理器(X windows)。其强大的语言编译器gcc、g+等也可以很容易得到。不但成熟完善、而且使用方
47、便。Linux的内核可视为由5个功能部分组成:进程管理(包括调度和通信)、内存管理、设备管理、虚拟文件系统、网络。它们之间有着复杂的调用关系,但在本次移植中不会触及太多,因为所用到的内核是针对开发板裁剪过的内核。(2)Kernel源码安装选用2.4.18版本内核。>cd $WORKDIR>tar xvjf /tmp/edukit-2410/linux-2.4.18-rmk7-pxa1-mz5.tar.bz2 解压源码>cd kernel>patch p1</tmp/edukit-2410/patch/linux-2.4.18-rmk7-pxa1-mz5.tar.b
48、kit2410.patch打补丁,无错误提示则解压完成。III. 文件系统简介与源码安装:Linux有多种常用的文件系统口,本系统采用的是CRAMFS格式的文件系统。CRAMFS是针对Linux内核24之后的版本所设计的一种文件系统,是压缩和只读格式的。其主要优点是将文件系统数据以压缩形式存储,在需要运行时进行解压缩。由于它存储的文件形式是压缩的格式,所以文件系统不能直接在Flash上运行。文件系统运行需要将一部分数据复制进RAM中,然后开始运行。文件系统的移植过程是:建立根文件系统,使用BUSYBOX软件进行功能裁减,产生一个最基本的根文件系统,再根据自己的应用需要添加其他的程序
49、。BUSYBOX是一个很强大的软件工具包,通过对其编译我们几乎可以得到linux下的所有工具。默认的启动脚本一般都不会符合应用的需要,所以就要修改根文件系统中的启动脚本,它的存放位置位于etc目录下。根文件系统在嵌入式系统中一般设为只读,需要使用mkcramfs、genromfs等工具产生烧写映象文件。由于时间问题,本文采用的根文件系统是开发板自带的,经过裁剪的文件系统,只需用mkcramfs工具生成烧写映像文件即可。解压源码:>cd $WORKDIR>tar xvjf /tmp/edukit-2410/root.cramfs.tar.bz2 无错误提示则解压完成。2、编译源码(本
50、项目移植的系统大小已经超过2M,所以所有移植操作均是针对在NAND Flash中的)I. vivi编译 >cd $WORKDIR/vivi >make clean >make menuconfig进入vivi配置界面:图3-1图表 31 vivi配置界面完成各项配置,配置结果见附件。保存退出后执行make进行编译, 成功后会出现笑脸 _ 。值得强调的是,也许会不成功,提示在kernel/include/linux目录下有错误,打开type.h 注释 25-28行,然后再make记得成功后把注释去掉,否则kernel时候make不成功,也可以在配置完vivi后执不要make,先
51、进行kernel编译的前2或3步,然后在执行第vi) II. . kernel 编译>cd $WORKDIR/kernel>make mrproper 清除所有的旧的配置和旧的编译目标文件等 > make xconfig 在图形界面下对内核进行配置 :图3-2图 32内核配置界面由于默认的内核配置中没有加入ppp协议支持,所以编译内核时要将相应内容加入相应的选项如图3-4:图 33内核中加入ppp协议支持PPP(point-to-point) support PPP multilink support(EXPERIMENTAL) PPP support for async s
52、erial prots PPP support for sync tty ports PPP Deflate compression PPP BSD-Compress compression点击SAVE AND EXIT ,配置文件一般保存在.config中。 >make dep 搜索Linux编译输出与源代码之间的依赖关系,并生成依赖文件。 make clean 清楚以前构造内核时生成的所有目标文件、模块文件和临时文件 >make zImage 编译Linux内核,生成压缩的内核映像文件。最终在kernel/arch/arm/boot下生成zImage III. 文件系统编译在P
53、C中使用mkcramfs工具制作CRAMFS文件系统。>cd $SOURCEDIR>./mkcramfs $ WORKDIR/root root.new root.new为自己命名的系统映像。3、映像文件烧写I. 串口信息收发软件设置由于烧写过程中需要通过串口输入操作选项,并且利用串口作为信息输出平台,所以烧写首先需要一个能够进行串口收发的软件,开发中用的是Windows超级终端,打开超级终端并设置波特率为115200,8位数据位,无校验,1位停止位,无数据流控。II. 烧写安装Embest online Flash programmer for arm,安装完成后首先要在Sett
54、ings里的configure里设置Embest JTAG仿真器参数,如果配置不正确将不能烧写,配置如图3-4:图表 34烧写软件设置III. 将boot、kernel、root烧写到NAND中。1) 连接串口线到pc机的com1,运行超级终端;2) 将板子上的SW104短接来选择NAND Flash,运行Flash program ,Fileàopen选在烧写配置文件S3c2410&NandFlash_vivi.cfg,在 program页选择vivi映像文件vivi,如图:3-5图 35烧写vivi配置3) 点击按钮Program开始烧写。4) 烧写完成后重启板子,在超级
55、终端下进入vivi>状态,Vivi>在超级终端选择“传送”>”Xmodem“方式下载vivi,等待下载完成即可。如果以后想更新vivi只要在在vivi后输入load flash vivi x即可,如图3-6图 36烧写vivi图:Vivi下载Xmodem方式5) 在vivi下载安装结束后在vivi提示符后输入load flash kernel x命令完成内核烧写。6) 内核烧写结束后输入load flash rootl x完成文件系统烧写。至此完成系统移植第4章 基站系统GPRS上网方案的设计与实现4.1 GPRS上网方案的确定要确定GPRS上网的方案,首先我们必修了解所用G
56、PRS模块的功能信息,只有了解了模块的特性后才可能有针对性的去查资料,去学习,才能实现事半功倍的效果。下面将论述一下模块的相关特点和针对此模块的上网方案。4.1.1 GPRS模块介绍GPRS模块是本文的核心模块,完成所有GSMGPRS接入连接和通讯的所有功能。目前市场上GPRS模块比较多且技术相当成熟,因为在学校现有资源中有Embest-III GPS&GPRS模块,所以本系统使用此模块。模块主要由射频天线、内部Flash,SDRAM,GSM基带处理器和一个40脚的插座(实际中GPRS模块只用了三个引脚)组成,GPS&GPRS模块图见附件。GSM基带处理器是核心部件,其作用相当
57、于一个协议处理器,用来处理外部系统通过串口发送过来的AT指令。射频天线部分主要实现信号的调制与解调,以及外部射频信号与内部基带处理器之间的信号转换。模块支持通用AT指令集。(1)串口,该模块采用简单串口,即GPRS_RXD2、GPRS_TXD2和GPRS_PWR三脚串口,用于GPRS模块与数据终端设备的数据交换。这种设计不适合传输大量数据。该数据接口支持8位数据位,无奇偶校验位,一位停止位,无数据流控。波特率为4800.(2) SIM卡底座接口和目前一些手机SIM卡底座相同,直接将手机卡插入即可工作。GPRS接入方式为拨号接入,采用标准拨号的AT指令集。GPRS数据传输部分利用GPRS网络的通信功能,其设计必需支持TCP/IP协议,以提供对上层应用程序的数据透明传输。所以,实现GPRS数据传输的内容分
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖北省十堰市2024-2025学年高三下学期四月调研考试数学试题
- 广西玉林市本年度(2025)小学一年级数学部编版随堂测试((上下)学期)试卷及答案
- 新疆吐鲁番地区本年度(2025)小学一年级数学统编版课后作业((上下)学期)试卷及答案
- 大学生如何制定合理有效的学习计划书
- 2025春季学期国家开放大学专科《建筑工程计量与计价》一平台在线形考(作业1至4)试题及答案
- 人工智能核心算法模拟题(附参考答案)
- 职业技术学校软件与信息服务专业人才培养方案(2024年)
- 2025年山西省晋中市平遥县中考一模历史试题(原卷版+解析版)
- 河南省许昌市部分校2024-2025学年高一下学期4月期中考试数学试题(原卷版+解析版)
- 畜牧养殖技术培训与职业技能提升项目的开展考核试卷
- 土地旋耕合同协议书范本
- 2025年山东省应急管理普法知识竞赛参考试题库500题(含答案)
- 订餐协议合同协议
- 2025年上半年山东省港口集团限公司应届大学毕业生招聘573人易考易错模拟试题(共500题)试卷后附参考答案
- 湖北省武汉市2025届高中毕业生四月调研考试数学试卷及答案(武汉四调)
- 2025年水务行业化学检验员职业技能竞赛参考试题(附答案)
- 演出经纪人员资格练习题有参考答案2025
- 2025年山东省济南市商河县中考一模道德与法治试题(原卷版+解析版)
- 2025年中小学教师资格考试进阶试题及答案
- 农艺师职责与社会责任试题及答案
- 普通高等学校军事理论教程
评论
0/150
提交评论