收藏 分销(赏)

基于ZigBee网络的无线测控基站GPRS通信模块的设计与实现.doc

上传人:pc****0 文档编号:8149347 上传时间:2025-02-05 格式:DOC 页数:42 大小:458.50KB 下载积分:10 金币
下载 相关
基于ZigBee网络的无线测控基站GPRS通信模块的设计与实现.doc_第1页
第1页 / 共42页
基于ZigBee网络的无线测控基站GPRS通信模块的设计与实现.doc_第2页
第2页 / 共42页


点击查看更多>>
资源描述
毕业设计(论文) 题目名称:无线测控基站GPRS通信模块的设计与实现 院系名称:计算机学院 班 级:网络工程051班 学 号:200500824113 学生姓名:孔明 指导教师:张宏 2009年 5 月 论文编号:200500824113 无线测控基站GPRS通信模块的设计与实现 GPRS communication module design and implementation of wireless control station 院系名称:计算机学院 班 级:网络工程051班 学 号:200500824113 学生姓名:孔明 指导教师:张宏 2009年5月 无线测控基站GPRS通信模块的设计与实现 孔德军 (中原工学院 计算机学院,河南 郑州,451191) 摘要 随着嵌入式技术与无线技术的发展,无线通信网络在工业数据传输与日常生活中的应用日益增多,无线通信产品正在变得越来越普及,本文研究的内容是在ZigBee网络的基站系统上实现GPRS无线上网,这一方案将使ZigBee技术与GPRS技术实现互补,实现一个无所不在的廉价的通信网络。 本文讨论的主要内容包括Cygwin开发环境的搭建,嵌入式linux系统内核的移植,嵌入式linux下实现GPRS上网的解决方案和具体实现。 此系统是以S3C2410芯片作为核心处理器来构建硬件平台,以嵌入式Linux系统作为软件资源的核心,高性能的硬件支持了基本接口功能和操作系统的运行,通过Embest-III GPRS 模块来完成无线数据的传输。 关键字:嵌入式 ARM Linux ZigBee GPRS ZigBee-based Network System Base Station ——GPRS communication module KongDejun (Zhongyuan University of Technology School of Computer Sience, zhengzhou,henan,451191) Abstract With the development of the communication technology,the wireless network is applied in the data transmission of the industry more and more.Wireless 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 technology 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 S3C2410 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 Words:Embedded ARM Linux ZigBee GPRS 目 录 摘要 I Abstract II 目 录 III 第1章 绪论 1 1.1 引言 1 1.1.1 嵌入式系统应用的背景及意义 1 1.1.2 ZigBee技术与GPRS相结合应用的背景及意义 2 1.1.3 本设计研究的主要内容 3 1.2 毕业设计工作安排以及论文结构 3 1.2.1 毕业设计工作安排 3 1.2.2 毕业设计论文结构 4 第2章 GPRS在无线测控基站系统中的应用 5 2.1 无线测控基站系统相关概念简介 5 2.1.1 ARM简介 5 2.1.2 S3C2410简介 6 2.1.3 GPRS概述 6 2.2 GPRS在系统中的作用 8 第3章 系统开发环境搭建与系统移植 10 3.1 开发模式 10 3.2 软件环境搭建 10 3.2.1 Cygwin平台安装 11 3.2.2 系统移植 13 第4章 基站系统GPRS上网方案的设计与实现 21 4.1 GPRS上网方案的确定 21 4.1.1 GPRS模块介绍 21 4.1.2 上网方案的确定 22 4.2 ppp拨号接入gprs网络 23 4.2.1 ppp协议 23 4.2.2 ppp编译及模块上网脚本编写 24 4.3 软硬件查错阶段 27 4.3.1 验证 27 4.3.2 运行结果 28 第5章 结论 30 参考文献 32 致谢 33 第1章 绪论 1.1 引言 现在无线通信和嵌入式开发是是两个比较热门的方向,社会上对基于嵌入式的无线设备需求广泛,本课题的目的就是在一个基于ZigBee网络的ARM基站上实现GPRS无线接入IP网。 1.1.1 嵌入式系统应用的背景及意义 随着电子技术的快速发展,特别是随大规模集成电路的产生而出现的微型机,使现代科学研究得到了质的飞跃,而嵌入式微控制器技术的出现则是给现代工业控制领域带来了一次新的技术革命。由嵌入式微控制器组成的系统,最明显的优势就是可以嵌入到任何微型或小型仪器、设备中, 目前嵌入式系统己经广泛地渗透到科学研究、工程设计、军事技术、商业文化艺术、娱乐业以及人们日常生活等方方面面。   嵌入式系统被定义为:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统,对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式系统是将先进的计算机技术、半导体技术、电子技术和各个行业的具体应用相结合后的产物,这一点就决定了他必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。 嵌入式系统一般指非PC系统,它包括硬件和软件两部分。硬件包括处理器/微处理器、存储器及外设器件和I/O端口、图形控制器等。软件部分包括操作系统软件和应用程序编程。应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用。 与通用计算机能够运行用户选择的软件不同,嵌入式系统上的软件通常是暂时不变的。嵌入式系统通常执行的是带有特定要求的预先定义的任务。由于嵌入式系统通常只针对一项特殊的任务,设计人员能够对它进行优化,减小尺寸降低成本。单个的成本节约,能够促进产品应用的推广,反过来将进一步降低个体的成本,这将为现代社会的发展与生活品质的提高做出突出贡献! 1.1.2 ZigBee技术与GPRS相结合应用的背景及意义 ZigBee是一种新兴的近距离、低复杂度、低功耗、低数据速率、低成本的无线网络技术,它是一种介于无线标记技术和蓝牙之间的技术提案。主要用于近距离无线连接。它依据802.15.4标准,能够在数千个微小的传感器之间相互协调实现通信,并且这些传感器只需要很少的能量,以接力的方式通过无线电波将数据从一个传感器传到另一个传感器,所以它们的通信效率非常高。 ZigBee使用以下三个频段通信: 2.4GHZ 世界 传输率250kbps 信道数16 868MHZ 欧洲 传输率20kbps 信道数1 915MHZ 北美 传输率40kbps 信道数10 虽然ZigBee作为一个新的技术有很多的优点,拥有广阔的市场空间,但zigbee技术在初期还是有一些缺点和不足的,如技术不够成熟、传输距离短等,这导致ZigBee技术在国内的应用并不多见,发展的比较缓慢。随着2007年的Pro版本的推出使ZigBee技术趋于成熟,芯片生产厂商和技术产品开发商不断增多又使ZigBee模块的价格和应用的研发成本不断降低,目前ZigBee技术与GPRS技术的结合又大大的拓展了ZigBee网络的作用范围,进而导致ZigBee市场的不断扩展,技术应用变得越来越广泛。 ZigBee与GPRS技术在一定程度上正好实现了技术互补,ZigBee组网灵活、能耗低但是传输距离有限、数据速率低,GPRS技术组网复杂,但是传输距离远、数据速率相对较高。我们能够利用GPRS技术扩展ZigBee技术的关键原因在于GPRS几乎已经覆盖了全国,我们只需要很少的投入即可使用GPRS服务。 现在国内外ZigBee技术的应用热潮正在涌来。科学技术就是生产力,新技术新产品的快速推出可以很快的抢占市场,为国家、社会和个人创造财富。 ZigBee与GPRS技术相结合可以应用的领域主要包括:工业控制:传感器的远程自动化控制;农业控制:收集各种土壤信息和气候信息;军事用途等。 1.1.3 本设计研究的主要内容 嵌入式系统设计要求软件、硬件兼顾,本设计的目标是在基于ZigBee的无线测控平台基站系统上实现GPRS接入互联网,主要工作也是围绕这一目标展开。 本文的难点主要是系统的移植、GPRS接入方案的确定、GPRS模块的初始化与拨号脚本的编写、调试和修改。 本设计的硬件平台是Embest EDUKIT-III型ARM嵌入式开发与教学平台,微处理器为S3C2410,在NAND Flash进行开发。开发前系统的研究了平台的体系结构,了解硬件工作原理。软件平台是在安装XP系统的PC机上搭建Cygwin环境,以此来完成程序的交叉编译。 在嵌入式linux系统中通过拨号方式实现GPRS上网。 1.2 毕业设计工作安排以及论文结构 1.2.1 毕业设计工作安排 第一阶段:明确系统整体功能,搭建开发环境 第二阶段:GPRS接入方案的确定,近年来随着嵌入式应用的迅猛发展,在嵌入式Linux下实现GPRS上网的技术已经比较成熟,方法较多,针对特定的要求选用的方法不同。 第三阶段:开发环境的搭建与操作系统移植 开发环境的搭建: 搭建Cygwin开发环境,包括必要的服务程序的安装和工具的安装。 操作系统移植: 1.完成BootLoader 启动程序移植。所选用的源程序是三星公司的VIVI。用make menuconfig配置,编译生成VIVI 2.完成内核移植。选用kernel 2.4.18。编译内核加入对ppp的支持,完成配置并编译生成zImage。 3.根文件系统制作。编译生成root。 4.用FlashProgrammer将系统烧写到开发板。 第四阶段:GPRS上网方案的实施和程序的验证、调试、查错阶段 1.在PC机上搭建FTP服务器,使得开发板与PC机能够进行文件传输,使得调试、测试程序能够高效进行。 2.程序脚本参数的调试与验证。 3.硬件模块功能的验证 4.AT指令的验证 5.串口驱动的验证 6.GPRS模块内部参数的确定和Linux下初始化模块相关验证(未实现)。 第五阶段:撰写结论,将整个毕业设计过程所遇到的问题进行总结,并概括自己的收获。 1.2.2 毕业设计论文结构 本论文在结构上分为五章 第一章:绪论,介绍了论文研究的背景和意义,作者在课题研究中的主要工作和论文结构。 第二章:介绍了基站系统的总体架构,引出GPRS模块,并对GPRS技术进行简单的介绍。 第三章:主要的工作是搭建了Cygwin开发环境,并完成内核的移植。 第四章:给出了实现GPRS上网的具体实现方案和实现的步骤。 第五章:总结,对开发过程中的问题进行系统的整理,对系统的不足和为完善部分提出解决方案。 第2章 GPRS在无线测控基站系统中的应用 2.1 无线测控基站系统相关概念简介 基站系统的主要功能是作为ZigBee网络与外部网络的中转,它要将ZigBee网络上传的信息经过处理传入到IP网,进而到达控制中心,并且能够将控制中心的控制信息转发到ZigBee网络,实现基站与IP网的连接,连接方式主要有有线和无线两种方式,有线网络布置繁琐、灵活性差,不适合于小型无线基站,因为无线基站的应用场所很广且比较不固定,像荒郊野外、腐蚀性强的场所等都可能安装,所以无线成为我们的首选目标。 ZigBee网络的基站系统以EDUKIT-III ARM实验箱为平台,以S3C2410芯片为核心,以GPRS无线上网方式为网络扩展手段, 2.1.1 ARM简介 ARM(Advanced RISC Machines),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。ARM公司成立于英国是专门从事基于RISC技术芯片设计开发的公司,作为知识产权供应商,本身不直接从事芯片生产,靠转让设计许可由合作公司生产各具特色的芯片,世界各大半导体生产商从ARM公司购买其设计的ARM微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM微处理器芯片进入市场。目前,全世界有几十家大的半导体公司都使用ARM公司的授权,因此使得ARM技术获得更多的第三方工具、制造、软件的支持,进而使整个系统成本降低,使产品更容易进入市场被消费者所接受,更具有竞争力。目前,采用ARM技术知识产权的微处理器,即我们通常所说的ARM微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的微处理器的应用约占据了32位RISC微处理器70%以上的市场份额,ARM技术正在逐步渗入到我们生活的各个方面。如现在流行的数码相机和打印机中绝大部分采用ARM技术,手机中的32位SIM智能卡也采用了ARM技术等。 采用RISC构架的ARM微处理器,一般具有如下的特点: 1、体积小、低功耗、低成本、高性能; 2、支持Thumb(16位)和ARM(32位)双指令集,能很好的兼容8位,16位器件; 3、大量使用寄存器,指令执行速度更快; 4、大多数数据操作都在寄存器中完成; 5、寻址方式灵活简单,执行效率高; 6、指令长度固定; 目前比较通用的有ARM7、ARM9、ARM9E和ARM10等处理器系列,每一个系列提供一套相对独特的性能来满足不同应用领域的需求, 此设计的实验平台属于ARM9系列。 2.1.2 S3C2410简介 本设计中用的Embest EDUKIT-III 上的S3C2410 芯片是韩国三星电子公司推出的一款基于ARM920T内核的16/32位的RISC嵌入式微处理器。该处理器主要面向手持式设备以及高性价比、低功耗的应用。 S3C2410集成了一个LCD控制器(支持STN和TFT带有触摸屏的液晶显示屏)、SDRAM控制器、3个通道的UART、4个通道的DMA、4个具有PWM功能的计时器和一个内部时钟、8通道的10位ADC。S3C2410还有很多丰富的外部接口,例如触摸屏接口、IIC总线接口、IIS总线接口、两个USB主机接口、一个USB设备接口、两个SPI接口、SD接口和MMC卡接口。在时钟方面$3C2410也有突出的特点,该芯片集成了一个具有日历功能的RTC和具有PLL(MPLL和UPLL)的芯片时钟发生器。MPLL产生主时钟,能够使处理器工作频率最高达到203MHz。这个工作频率能够使处理器轻松运行WinCE、Linux等操作系统以及进行较为复杂的信息处理,S3C2410凭借其突出的性价比成为我们的首选。 另外S3C2410对于片内的各个部分采用了独立的电源供给方式: 1.内核采用1.8V供电; 2.存储单元采用3.3V独立供电,对于一般SDRAM可以采用3.3V,对于移动的SDRAM可以采用VDD等于1.8/2.5v。 3.VDDQ等于3.0/3.3V: 4.I/O采用独立3.3V供电。 2.1.3 GPRS概述 GPRS(General Packet Radio Service)是通用分组无线业务的简称,它是第2.5代移动通信系统,是使GSM向3G过渡的一个桥梁。GPRS是在GSM系统基础上引入了新的部件而构成的无线数据传输系统。它的基本功能是在移动终端和Internet网络的路由器之间传输分组数据。GPRS采用与GSM同样的无线调制标准、同样的频带、同样的突发结构、同样的跳频规则以及同样的TDMA帧结构。这种分组数据信道与当前的电路交换的话音业务信道极其相似,因此现有的基站子系统(BSS)从一开始就可提供全面的GPRS覆盖。GPRS允许用户在端到端分组转移模式下发送和接收数据,而不需要利用电路交换模式的网络资源。从而提供了一种高效、低成本的无线分组数据业务。 1. GPRS的体系结构 GPRS是利用“包交换”(Packet Switched)概念所发展出的一套无线数据传输方式。它采用分组交换技术,能兼容GSM网络并在网络上更加有效的传输高速数据和信令。GPRS是在现有GSM网络中增加GPRS网关支持节点GGSN(Gateway GPRS Support Node)和GPRS服务支持节点SGSN(Serving GPRS Support Node)来实现的,使得用户能够在端到端分组方式下发送和接收数据。 通信技术原理图2-1: 图 21 GPRS通信技术原理图 BTS(基站收发系统);BSC(基站控制器);PDN(公用数据网);PCU(分组控制单元);MSC(移动交换中心);GGSN(网关支持节点);SGSN(GPRS服务支持节点)。 2. GPRS的传输过程 GPRS网络是在现有GSM网络中增加GGSN和SGSN来实现的,使得用户能够在端到端分组方式下发送和接收数据,不需要使用电路交换模式下的任何网络资源,从而可以自主运营。 用户设备可通过串行或无线方式连接到GPRS终端上,GPRS终端与GSM基站通信,但与电路交换式数据呼叫不同,GPRS分组是从基站发送到GPRS服务支持节点(SGSN),而不是通过移动交换中心(MSC)连接到语音网络上,SGSN与GPRS网关支持节点(GGSN)进行通信,GGSN对分组数据进行相应的处理,再发送到目的网络,如Intemet或X.25网络。其具体的数据传输流程为: 1) GPRS终端通过串行接口从用户设备中读出用户数据; 2) 处理后以GPRS分组数据的形式发送到GSM基站; 3) 分组数据经SGSN封装后,发送到GPRS骨干网; 若分组数据是发送到另一GPRS终端,则先发送到目的SGSN,再经BSS发送到另一GPRS终端;若分组数据是发送到外部网络(如Internet),则将分组数据包经GGSN进行协议转换后,发送到外部网络。 3. GPRS的特点与应用 GPRS业务具有接入迅速、永远在线、按流量计费等特点,在远程突发性数据实时传输中有不可比拟的优势,特别适用于间断的、突发性的和频繁的、少量的数据传输,也适用于偶尔的大数据量传输。 GPRS技术是目前解决移动通信信息服务的一种较为完善、己从应用实验到正式推广的业务。虽然3G技术已经投入运营,但技术的成熟还需要一段时间,就目前而言GPRS技术依然是主流,另外结合本系统的特点, GPRS技术还是比较理想的选择,GPRS在移动上网、车辆调度和工业遥测、遥控等领域有有广泛的应用。 2.2 GPRS在系统中的作用 该系统主要包括设备初始化、串口通信、数据处理、故障提示、显示等部分。其中初始化包括各种寄存器的配置、串口相关参数配置(波特率,模式)及外围电路(LCD、电源等设备检测)的初始化等;GPRS模块通电后自检初始化,arm板上运行程序通过AT指令拨号上网,信道建立上传相关信息或下行IP网络信息。系统结构如图2-2: 图22基站系统结构图 本系统负责对所有ZigBee模块的信息进行汇总并节对所有模块进行控制,基站系统与ZigBee、GPRS模块通过串口进行通信,系统中主要传输的是各种传感器信息、状态信息和一些配置命令,这些信息突发性高、通信量小,因此用GPRS技术相当适合。用户“随心所欲”的内核定制特点、优秀的性能使linux系统成为学习嵌入式系统的首选操作系统。本系统采用ARM+Linux+GPRS模块开发。 GPRS为前台的测控网络提供了IP网络接入手段和短信告警通信通道。ARM处理器通过串行口与GPRS模块连接,通过串口向GPRS无线模块发送相应的AT指令,GPRS终端开始进行拨号和PPP协商过程。当PPP协商成功,无线模块登录网络成功后,系统通过加载PPP/TCP/UDP/IP等协议,同中心建立起Socket连接,数据的双向传输通道建立,系统进入发送接收用户数据、监测上报故障等循环状态。系统通过执行相应的AT命令对GPRS模块进行控制,完成相应的功能(例如TCP/IP数据传输、短信功能等)。 第3章 系统开发环境搭建与系统移植 3.1 开发模式 进行任何一个项目的开发,首先要做的是搭建一套开发环境,这套环境包括操作系统以及含连接器、编译器、调试器在内的软件开发环境。绝大多数Linux的软件开发都以native方式进行,即本机开发、调试,本机运行的方式。这种方式通常不适于嵌入式系统的软件开发,因为对于嵌入式系统的开发,它没有足够的资源在本机(即嵌入式系统平台)运行开发工具和调试工具。通常的嵌入式系统软件开发采用交叉编译调试的方式。交叉编译调试环境建立在宿主机Host(即PC机)上,对应的开发板叫做目标板Target(即嵌入式ARM9一S3C2410),两者通过串口或网线相连,进行跨平台开发。需要注意的是,编译器是存放在Linux服务器上的,我们不能指望在开发板上编译,那里没有编译器,只负责存放编译好可被ARM执行的代码。 进行嵌入式开发的第一步的工作就是要安装一台装有指定操作系统的PC机作宿主开发机,对于嵌入式Linux,宿主机上的操作系统一般要求为Linux。或者在Windows下安装一套模拟Linux环境的软件,如Cygwin。 本嵌入式系统的开发采用 “宿主机/目标板”的开发模式,Cygwin开发平台,本次Linux系统选用2.4.18内核的Linux,运行Cygwin的PC(宿主机)开发时使用宿主机上的交叉编译、汇编及连接工具形成可执行的二进制代码(这种可执行代码并不能在宿主机上执行,而只能在目标板上执行),然后把可执行文件下载到目标机上运行。我们所采用的GNU交叉编译工具包是cross-armtools-linux-edukit2410.tar.bz2,具体包括c/C++编译器、汇编器、链接器、嵌入式系统的标准C库、GDB代码调试器等。 3.2 软件环境搭建 宿主机上的CPU 结构体系和目标机上的CPU 结构体系是不同的,为了实现裁剪后的嵌入式操作系统和应用软件能在目标机上“跑”起来,移植它们之前,必须在宿主机上建立新的编译环境,进行和目标机CPU相匹配的编译,这种编译方式称为交叉编译。新建立的编译环境称之为交叉编译环境。交叉编译环境下的编译工具在宿主机上配置编译实现,并且必须是针对目标机CPU 体系的编译工具。只有这样,对源代码编译生成的可执行映像,才会被目标机的CPU 识别。 3.2.1 Cygwin平台安装 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目录下) (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 192.192.192.0/255.255.255.0(rw,no_root_squash) 表示在192.192.192.192的子网上共享/home/app目录,权限可读写。 (5)启动NFS服务 在Cygwin下执行以下命令: > Cygrunsru —S portmap > Cygrunsru —S nfsd > Cygrunsru —S mountd 也可以在windows控制面板——>管理工具——>服务中选择并启动portmap、mountd、nfsd三个服务。 启动服务之后用: >/usr/sbin/showmount 检查服务是否成功运行。如果提示某项服务启动失败,须重新解压安装。造成失败的原因可能为网络连接没有工作、杀毒软件的影响、对文件存取权限不够等,还有一些为之原因。 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 Source\qt ---à/tmp/edukit-2410/qt 光盘\linux Source\patch ---à/tmp/edukit-2410/patch 光盘\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 即正确,此目录为交叉编译工具安装目录。 设置开发环境变量: >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)简介与源码安装: 对于计算机系统来说,从开机上电到操作系统启动需要一个引导加载过程。嵌入式Linux系统同样离不开引导加载程序,这个引导加载程序就叫做BootLoader。 Bootloader是在操作系统运行之前执行的一段程序。在一个基于ARM的嵌入式系统中,系统在上电或复位时通常都从地址0x00000000处开始执行,而在这个地址处安排的通常就是系统的Bootloader。通过这段程序,可以初始化硬件设备、建立内层空间的映射表,从而建立适当的系统软硬件环境,为最终调用操作系统内核或用户应用程序做好准备。 对于嵌入式系统,Bootloader是基于特定硬件平台来实现的。因此,几乎不可能为所有的嵌入式系统建立一个通用的Boofloader,不同的处理器架构都有不同的Bootloader。就不同的嵌入式开发板而言,即使它们使用同一处理器,要想让运行在一块板子上的Bootloader程序也能运行在另一块板子上,一般也都需要修改Bootloader的源程序。反过来,大部分Bootloader仍然具有很多共性,某些Bootloader也能够支持多种体系结构的嵌入式系统。例如,U-Boot就同时支持PowerPC、ARM、MIPS和X86等体系结构,支持的板子有上百种。通常,它们都能够自动从存储介质上启动,都能够引导操作系统启动,并且大部分都可以支持串口和以太网口。 (1)Bootloader的工作模式 大多数Bootloader都包含两种不同的操作模式:“启动加载”模式和”下载”模式,这种区别仅对于开发人员才有意义。但从最终用户的角度看,Boot Loader的作用就是用来加载操作系统,而并不存在所谓的启动加载模式与下载工作模式的区别。启动加载(Boot loading)模式:这种模式也称为“自主”(Autonomous)模式。也即Boot Loader从目标机上的某个固态存储设备上将操作系统加载到RAM中运行,整个过程并没有用户的介入。这种模式是BootLoader的正常工作模式,因此在嵌入式产品发布的时候,Boot Loader显然必须工作在这种模式下。下载(Downloading)模式:在这种模式下,目标机上的Bootloader将通过串口连接或网络连接等通信手段从主机下载文件,比如:下载内核映像和根文件系统映像等。从主机下载的文件通常首先被Bootloader保存到目标机的RAM中,然后再被Bootloader写到目标机上的FLASH类固态存储设备中。Bootloader的这种模式通常在第一次安装内核与根文件系统时被使用;此外,以后的系统更新也会使用BootLoader的这种工作模式。工作于这种模式下的Bootloader通常都会向它的终端用户提供一个简单的命令行接口。 (2)Bootloader的启动过程 从操作系统的角度看,Bootloader的总目标就是正确地调用内核来使之执行。Bootloader的启动过程大多数分为阶段1和阶段2。阶段1主要包含依赖于CPU体系结构的硬件初始化代码,而且通常都是用汇编语言来实现的,以达到短小精悍的目的。这个阶段通常包括以下步骤: ①硬件设备初始化。这是Bootloader开始就执行的操作,其目的是为阶段2的执行,以及随后内核的执行准备好基本的硬件环境。 ②为加载Bootloader的阶段2准备RAM空间。为了获得更快的执行速度,通常把阶段2加载到RAM空间来执行。 ③拷贝Bootloader阶段2的代码到RAM空间。 ④设置好堆栈。 ⑤跳转到阶段2的c程序入口点。 Bootloader的阶段2通常用C语言来实现,这样可以实现更复杂的功能,而且代码会具有更好的可读性和可移植性。通常包括以下步骤: ①初始化本阶段要使用到的硬件设备。 ②检测系统内层映射。 ③将内核映像和根文件系统映像从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源码解压到$WORKDIR. >cd vivi >patch –p1</tmp/edukit-2410/patch/vivi-20030929.tar.bz2.edukit2410.patch 打补丁,无错误提示则安装完成。 II. 嵌入式linux简介与Kernel源码安装: (1)嵌入式linux简介 Linux与UNIX相似,是以内核为基础、完全内存保护、多任务多进程的操作系统,支持广泛的计算机硬件,包括x86、Alpha、Spare、MIPS、ARM、NEC、Motorola等现有的绝大部分芯片,而且程序源码全部公开,任何人都可以免费使用,只要遵循GPL声明,就可以自由修改和传播。但是嵌入式Linux又与普通Linux有区别。由于存储资源和功耗的限制,往往需要对嵌入式Linux系统进行裁剪。裁剪主要通过剔除内核中与对应平台无关的代码,减少无用的动态链接库、删掉非必要的应用程序、压缩文件系统等手段来减少资源占用。 Linux 用户遇到问题时可以通过Internet向网上成千上万的Linux开发者请教,这使最困难的问题也有办法解决。Linux 带有Unix 用户熟悉的完善的开发工具,几乎所有的Unix系统的应用软件都已移植到了Linux 上。Linux还提供了强大的网络功能,有多种可选择窗口管理器(X windows)。其强大的语言编译器gcc、g++等也可以很容易得到。不但成熟完善、而且使用方便。 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.bz2.edukit2410.patch 打补丁,无错误提示则解压完成。 III. 文件系统简介与源码安装: Linux有多种常用的文件系统口,本系统采用的是CRAMFS格式的文件系统。CRAMFS是针对Linux内核
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服