基于3G网络的终端设备实现了汽车的无线通信功能.doc

上传人:精*** 文档编号:1011543 上传时间:2024-03-21 格式:DOC 页数:36 大小:3.72MB
下载 相关 举报
基于3G网络的终端设备实现了汽车的无线通信功能.doc_第1页
第1页 / 共36页
基于3G网络的终端设备实现了汽车的无线通信功能.doc_第2页
第2页 / 共36页
基于3G网络的终端设备实现了汽车的无线通信功能.doc_第3页
第3页 / 共36页
基于3G网络的终端设备实现了汽车的无线通信功能.doc_第4页
第4页 / 共36页
基于3G网络的终端设备实现了汽车的无线通信功能.doc_第5页
第5页 / 共36页
点击查看更多>>
资源描述

1、目录目 录第1章 绪论- 1 -1.1选题背景及其意义- 1 -1.2应用创新- 3 -1.3 技术创新- 3 -第2章 车载信息系统的硬件设计- 5 -2.1嵌入式控制系统的设计- 5 -2.1.1 芯片介绍- 5 -2.2 数据通讯接口设计- 6 -2.2.1 USB通讯接口设计- 6 -2.2.2 串行通讯接口设计- 7 -2.2.3 IIC接口电路设计- 8 -2.2.4 GPS通讯接口设计- 9 -2.2.5 3G通信模块- 10 -2.3 电源设计- 14 -第3章 车载信息软件设计- 16 -3.1 系统内核裁减- 16 -3.1.1 系统简介- 16 -3.1.2 系统内核定制

2、- 16 -3.2 bootloader制作- 17 -3.2.1 bootloader简介- 17 -3.3 系统移植- 18 -3.3.1 交叉编译环境的搭建- 18 -3.4 本章小结- 21 -第章 总结与展望- 22 -4.1 工作总结- 22 -4.1.1 运用原理- 22 -4.1.2 实现方法- 22 -4.1.3 成果实现- 22 -4.1.4 功能实现- 22 -4.1.5 性能标准- 23 -4.1.6 测试结果- 23 -4.1.7 结论- 23 -4.1.7 研究难点及特色- 23 -第1章 绪论第1章 绪论本文介绍了基于3G网络的终端设备实现了汽车的无线通信功能,提

3、供了基于网络的多种服务。通过构建嵌入式最小系统,采用扩展通讯接口的方式与3G通讯模块构建内部路由实现了基于嵌入式系统的3G通讯终端。1.1选题背景及其意义近年来,由于电子技术的不断发展,网络的不断升级,特别是无线网络技术的发展彻底的改变了人们的生活方式,汽车电子产品市场规模日益扩大,汽车电子的应用也不断深入。目前,汽车电子产品分布情况是:动力系统占37%,车辆安全控制占24%,车辆底盘与悬架系统占16%,娱乐占12%,舒适占11%。汽车除了作为交通工具外,驾驶的安全、舒适和完备的娱乐通信功能正逐渐得到业界的重视。在这种发展趋势的推动下,车载移动多媒体系统(CarMobile Multimedi

4、a)近年来逐渐成为全球范围内一种新兴的高技术产业。车载娱乐系统已成为消费电子行业中的第三大户,从销售数量来看,仅次于个人和家庭娱乐系统。所谓的车载信息系统,就是给汽车提供通讯,娱乐,移动办公功能的系统总称,它和汽车性能的本身并没有直接的关系1。“娱乐,舒适,安全”已经成为车载多媒体系统的发展主题。在这个主题下,车载多媒体系统正在演变为一个融合各种新兴技术的大平台。车载多媒体系统可以分为汽车信息通讯及显示系统和车载视听娱乐系统两大类。前者主要包括车载通讯系统,电子导航系统,智能交通系统和车载网络系统;而汽车音响系统(车载MP3/CD/收音机)、车载电视娱乐系统(车载DVD/车载数字移动电视)等纳

5、入后者范畴。随着技术的发展,这种在过去泾渭分明的区隔开始出现模糊化的趋势,集成化趋势日趋明显。目前市场出现的车载媒体系统主要有三类即:车载DVD/MP3播放器和调频收音机设备,汽车导航设备(主要集成GPS电子导航系统,CMMB数字移动电视和媒体播放器等)和车载电脑系统。其中第一类车载DVDMP3和调频收音机以逐渐被导航设备所淘汰,不过仍然有大量的汽车中装载这种设备,主要是以前的车型和低挡车中。车载电脑系统是现在新兴的一种媒体设备,其功能强大,可扩展性强被现在汽车厂商所看好,一些豪华车型如奔驰宝马等已装备车载电脑系统,但车载电脑系统最大的缺点就是成本高,稳定性差,安装维护难以及体积大等因素导致车

6、载电脑系统目前不能大规模应用4。汽车导航系统是目前应用最广泛实用性最强稳定性也较强的一种车载媒体设备,现已被广大厂商和用户所接受,其特点主要是体积小装载方便功耗小,也具备一定的娱乐功能,而且成本也可以控制,对用户来讲操作也比较简单,所以据业内人士预测在中国虽然车载导航系统已经发展的相当成熟但仍然潜在很大的市场。但是车载导航系统也存在一个明显的问题,虽然其功能比传统的车载DVD设备要强很多,但仍然满足不了人们对于网络通讯方面的要求,虽然有的导航系统中也有数字移动电视的功能,但这种功能在使用上有一定的区域限制,所以在应用上不能做到随时随地了解信息。随着无线网络技术的发展特别是网络的开通对于人们的生

7、活方式将产生了很大的改变,随时随地的可以利用网络与外界沟通联系,所以对于车载娱乐的范围又一次提出了一个新的概念,人们不再满足享受几首音乐的感觉,而要能够体验与外界的联系,所以单纯的导航和媒体播放将会失去现在的地位。在国外,特别是美国,欧洲,日本等发达国家起步较早现在应用比较成熟,对于应用车载媒体系统也有比较成熟的案例,如奔驰配备3G-UMTS移动终端的轿车已经推向市场,这辆试验车辆上的3G-UMTS包含了大多数移动通信和信息娱乐功能,另外还拥有两台设备之间的现场视频会议功能,高速视频流速度,它保证了大容量电子邮件下载和视频点播成为可能。其他的功能还有:交互式的城市向导功能,宽带高速接入互联网,

8、视频监控系统和一款足球游戏。即使不接入网络,该终端仍然有定位系统和视频交通信息的功能。而中国才刚刚起步,以国外的发展趋势来看终端产品的发展是时代的潮流,虽然国内技术起步较晚但并不影响国内市场对应用的需求,特别是汽车多媒体这个庞大的产业市场更是走在技术前沿,对这种高新技术的需求巨大2。本课题正是针对目前这种庞大的市场需求以及技术的实用性所研发的一款集导航、通讯、网络视频、媒体播放和网络游戏于一体的车载多媒体系统,集成了传统的媒体播放设备导航系统,增加网络通讯模块,使其能够实现正常的导航功能和媒体播放功能的同时随时随地的可以上网,进行信息交流,也可以不受地域限制召开网络电视会议。由于本课题采用嵌入

9、式系统的设计方案,在性能上可以轻松满足稳定性,安全性,方便性,美观性的要求。由于嵌入式系统最大的特点是可裁剪和模块化设计,所以在功耗,成本上都可以进行优化设计。系统采用系统,对后期扩展升级更是方便快捷。随着国家颁发牌照之后,基于通讯的基带芯片已经开始应用于各种终端产品,其速度下行可达到.,上行.。这种速度完全可以满足车载多媒体的网络需求,而网络覆盖在今年年内即可覆盖全国,明年上半年将可全部覆盖。综合以上各种因素,这种车载多媒体产品一旦问世将会成为引领车载媒体产品的潮流,其经济价值较大。1.2应用创新通过3G通信方式使人,车,环境能够交互充分:通过本系统产品可以随时与外界建立联系,实现信号的双向

10、传送,这样就可以实现在线音乐播放,网络电视,下载文件,收发邮件,在线QQ,IE浏览,股票查询,移动办公,视频会议等多媒体功能4。Linux系统的可裁减可定制及高稳定性能够最大程度的节约产品的生产成本并可以在网络通信的安全性上得到更好的保障。嵌入式系统的可集成可扩展性在车载信息系统的应用可以将汽车电子通过总线控制方式结合起来,实现汽车的检测控制,定位诊断,推动了汽车电子系统的智能化发展趋势。1.3 技术创新本项目设计完 成了3G网络在Linux系统下的接入,3G网络时目前最前沿的无线网络,能够实现随时随地的获取网络资源。Linux是一套免费使用和自有传播的操作系统,它不能够兼容windows平台

11、的软件。目前许多移动终端的厂家都采用在windows平台下外接市场上功能完善的3G网卡来连接网络,这样实现简单,但成本较高且不能将3G网卡与自己的系统整合在一起,无法实现系统集成。同时windows系统在稳定性和安全性上都不如Linux,在对硬件资源上也要求更高;与其他产品不同,本系统没有市场上现有的3G网卡实现上网,而时采用国内最优秀的3G模块与主板集成;系统集成时本设计最大难点所在,首先要建立控制通道,通过主板控制芯片连接数据接口。按照先控制后通信的设计思路,驱动了所有使用元件的规范和参数。软件方面,在Linux下使用QT设计图形界面和应用程序编写,使用C语言设计3G驱动,根据Linux系

12、统特点对3G通信接口进行接口编程。本系统采用模块电路,接口驱动编程的方式实现3G通讯,优化了系统结构。此外还具备硬件成本低,功耗低,体积小等优点。 基于嵌入式技术的车载信息系统通过3G无线信道连接车载终端机与公共网络,以构成提供信息服务的通信链路。通过安装于车内的终端系统,分析汽车内与车外发生的各种状况,收集驾驶和行车所必需的各种信息,同时执行一系列的必要控制,为驾驶员和乘客提供方便、安全和娱乐。车载信息系统的技术特征充分表现了现代科技的大融合。它应用5种主要技术:3G无线接入技术、卫星定位技术(GPS)、蜂窝通信技术(2G/3G)、车载多媒体和CAN总线系统,融合成为4类主要功能:(1)基于

13、卫星定位技术(GPS+GIS)的地面导航。根据道路状态引导车辆以最佳路线抵达目的地。(3)基于3G无线移动通信技术(2G/3G+DSRC+WLAN)的远程信息服务。以3G通信网络以通用的信息平台实现网络化通信和信息服务,这与手机通信和有线上网的功能基本一致。(4)基于车载数字多媒体文化娱乐。它可以在车上实现上网,在线音乐网络电视、MTV、电子游戏等。- 34 -第2章 车载信息系统的硬件设计第2章 车载信息系统的硬件设计2.1嵌入式控制系统的设计2.1.1 芯片介绍芯片简介Samsung公司推出的16/32位RISC处理器S3C2410A,为手持设备和一般类型应用提供低价格,低功耗,高性能小型

14、控制器的解决方案。为了降低整个系统成本,S3C2410A提供了以下丰富的内部设备:分开的16KB的指令Cache和16KB数据Cache,MMU虚拟存储器管理,LCD控制器(支持STN&TFT),支持NAND Flash系统引导,系统管理器(片选逻辑和SDRAM控制器),3通道UART,4通道DMA,4通道PWM定时器,I/O端口,RTC,8通道10位ADC和触摸屏接口,IICBUS接口,USB主机,USB设备,SD主卡&MMC卡接口,2通道的SPI以及内部PLL时钟倍频器。S3C2410A采用了ARM920T内核,0.18um工艺的CMOS标准宏单元和存储器单元。它的低功耗,精简和出色的全静

15、态设计特别适用于对成本和功耗敏感的应用。同样它还采用了一种叫做Advanced Microcontroller BusArchitecture(AMBA)新型总线结构。S3C2410A的显著特性是它的CPU核心,是一个由Advanced RISC Machines(ARM)有限公司设计的16/32位ARM920T RISC处理器。ARM920T实现MMU,AMBA BUS和Harvard高速缓冲体系结构。这一结构具有独立的16KB指令Cache和16KB数据Cache,每个都是由8字长的行(Line)构成。通过提供一系列完整的系统外围设备,S3C2410A大大减少了整个系统的成本,消除了为系统

16、配置额外器件的需要。芯片资源介绍(1)ARM920T核、工作频率203MHz;(2)16KB 数据Cache, 16KB 指令Cache,MMU,外部存储器控制;(3)LCD控制器(支持黑白、灰度、Color STN、TFT屏),触摸屏接(4)NAND FLASH控制器,SD/MMC接口支持,4个DMA通道;(5)3通道UART、1个多主I2C总线控制器、1个IIS总线控制器;(6)通道PWM定时器及一个内部定时器;(7)117个通用I/O口; 24个外部中断源;两个USB主/一个USB从;(8)通道10位ADC;实时时钟及看门狗定时器等。2.2 数据通讯接口设计2.2.1 USB通讯接口设计

17、嵌入式系统对于USB主机功能的需求越来越多,嵌入式USB主机就必须逐步扩大支持设备类型。USB Hub作为构成USB体系不可缺少的一类设备,更应该被嵌入式USB主机所支持。USB Hub的重要性与它在USB拓扑结构中的位置相关,Hub连接主机和设备,是USB体系的中继站,也是所有USB设备连接USB体系的门户和连接点。USB设备与主机之间的通信模型如图2-9所示图2-9 通信模型层次关系图Figure2-9 Communication Model Hierarchy Chart 对于USB来说即插即用是设备的主要优势所在,所谓即插即用(P1ugP1ay)主要包括两个方面的内容:一是热插拔,一是

18、自动配置。热插拔决定于物理层的实现,而自动配置则主要依靠软件协议。USB采用四线电缆来传输信号与电源。如图2-10所示图2-10 USB的电缆Figure 2-10 USB cable其中的D+、D一两根线是用于传输信号。VbUS和GND二条线为设备提供电源。VBUS使用+5v电源。USB对电缆长度的要求很宽,为了保证足够的输入电压和终端阻抗,一般不超过5米。至于自动配置,主要指设备在插入HUB的下行端口后能被主机自动识别并进行信息交换,最终使设备在整个USB体系中可以正常的工作。这一切主要依靠USB总线枚举(Bus Enumeration)的过程实现。2.2.2 串行通讯接口设计RS232是

19、应用最为广泛的UART接口,可以方便的实现与计算机的数据通讯,图2-2-3所示RS-232-C采用9芯D型插头。LPC2214系列ARM9微控制器包含有两个UART接口:UARTO和UARTI,其结构及寄存器符合16C550工业标准,UARTO只提供TXD和RXD信号引脚,没有完整的MODEM接C1信号。在大多数异步串行通信的应用中,只使用TXD, RXD和GND信号即可,在本系统中也只用到这三个信号。系统的电平转换芯片采用SP3232E(2-11)芯片,该模块的串口通过3线电缆与计算机的9阵串口连接,通信协议为RS-232协议。LPC2214的TXD、RXD与MAX232的TUN、R10UT

20、管脚相连,MAX232将发送的串行数据转换为RS-232C标准的电平信号发送到发送端如图2-12;反之SP3232E将接收的RS-232C标准的电平信号转换为串行的数据传给LPC2214,这样就完成了RS-232接口通信功能。申行口的通信方式采用8位异步通讯方式,波特率采用9600bps12。图2-11 SP3232E引脚图Figure 2-11 SP3232E pin map图2-12 串口接口电路Figure 2-12 Serial interface circuit2.2.3 IIC接口电路设计IIC总线是一种用于IC器件之间连接的二线制总线。它通过SDA(串行数据线)及SCL(串行时钟

21、线)两线在连接到总线上的器件之间传送信息,并根据地址识别每个器件:不管是微控制器、存储器、LCD驱动器还是键盘接口。带有IIC总线接口的器件可十分方便地用来将一个或多个微控制器及外围器件构成系统。尽管这种总线结构没有并行总线那样大的吞吐能力,但由于连接线和连接引脚少,因此其构成的系统价格低,器件间总线简单,结构紧凑,而且在总线上增加器件不影响系统的正常工作,系统修改和可扩展性好。即使有不同时钟速度的器件连接到总线上,也能很方便地确定总线的时钟,因此在嵌入式系统中得到了广泛的应用。S3C2410X内含一个IIC总线主控器,可方便地与各种带有IIC接口的器件相连如2-2-5。在本系统中,外扩一片K

22、S24C08作为IIC存储器。KS24C08提供1K字节的EEPROM存储空间,可用于存放少量在系统掉电时需要保存的数据。图2-13 IIC总线控制电路Figure 2-13 IIC bus control circuit2.2.4 GPS通讯接口设计GPS 设备关键的元件有天线、低噪音放大器(LNA)、射频接收转换(RF Section)、数字部分(也称数字基带,Digital Baseband)、微处理器(Microprocessor)、微处理器周边外设(ProcessoPeripherals)、输入输出和驱动(I/OandDriver)等几个部份9。嵌入式系统开发板的核心采用三星公司S3

23、C2410A微处理器,该微处理器是基于ARM920T内核的RISC型CPU。S3C2410A提供三个独立的异步串口,分别用于红外传输、与GPS接收机通信和与GPRS模块通信。每一个串口都可以以中断方式或者DMA方式进行控制,以便在通用异步收发器(Universal Asynchronous Receiver Transmitter,简称UART)模块和CPU之间传输数据,各串口通道的波特率可编程控制,而且串口通道都有一个16字节的发送FIFO存储部件和16字节的接收FIFO存储部件。GPS模块在扩展槽上是通过串口与主板相连。GPS扩展通过编写驱动程序支持与ARM处理器通信,通过使用主机通信软件

24、直接通信,通过驱动程序的改进实现GPS定位。GPS模块与硬件扩展总线接口CXN80123连接,GPS接口主要涉及端口TXD012与RXI3。GPS接收机引脚的接线图2-14所示。通过UART和CPU(S3C2410)传输数据,引脚和图226中扩展总线对应接口相连。图2-14 MAX3232CSA引脚Figure 2-14 MAX3232CSA pin图2-15 GPS接收机引脚的接线Figure 2-15 GPS receiver connection pins2.2.5 3G通信模块1.3G模块介绍DTM6211是一款TD-SCDMA&GSM(GPRS)双模无线模块产品,其支持TD-SCDM

25、A与GSM系统间跨网自动无缝切换,在TD-SCDMA制式下,支持上下行非对称数据传输能力,上下行数据传输速率可分别达到384kbps;支持UART和USB两种通信接口,使用更为方便和灵活,可以满足不同主控设备的需求;采用2.9mm装配高度的超薄设计,使其可以方便应用于智能手机和各类数据卡中,内部集成H.324协议栈,使得视频电话的功能实现更为简单;内部集成TCP/IP协议,可以方便连接Internet,可以广泛应用不同的行业领域,模块参数如表2-2-1所示: 表2-3 DTM6211参数表Table 2-3 DTM6211 parameter table基本特性描述备注制式TD-SCDMA&G

26、SM(GPRS)双模模式切换手动切换/自动切换工作频段TD-SCDMA:2010 2025 MHz GSM:GSM850、E-GSM900、DCS1800、PCS1900最大发射功率TD-SCDMA:Power level 2 (24 dBm) GSM850,EGSM900:33dBm/DCS1800,PCS1900:30dBm标准AT指令遵循3GPP TS27.005;3GPP TS27.007;ITU-T V.25ter多通道复用协议MUX协议支持3GPP TS 27.010支持USIM应用工具箱USAT集成TCP/IP协议集成H.324协议支持移动随E行接口规范支持飞行模式功能电源单电源

27、供电3.3-4.5V温度范围-10+55(正常工作温度)-25+70(极限工作温度)-40+85(存储温度)湿度范围2090结构尺寸长*宽*高:550.2330.22.80.2 (mm);装配高度2.9mm。包括连接器尺寸电信业务TD-SCDMA终端业务能力多速率AMR语音业务CS域数据业务最高可达64kbpsPS域业务下行最高可达384kbps,上行最高128kbps支持多种QOS配置PS域业务上行最高可达384kbps,下行最高128kbps支持CS域业务(语音和短信)与PS域上行128kbps下行384kbps业务并发。支持CS域业务(语音和短信)与PS域上行384kbps下行128kb

28、ps业务并发。CS 64k视频电话与PS上行64kbps下行64kbps业务并发SMS支持点对点的收发支持CS和PS短信支持TEXT和PDU模式基于以上功能,可以实现MMS、WAP、IM、EMAIL等扩展业务电信业务GSM终端业务能力语音业务(EFR/FR)支持CS域业务(9.6K数据)GPRS multislot class 10 SMS支持点对点的收发应用接口采用I-PEX 20279001E01 50欧姆天线连接器采用松下60pin板到板连接器电源VBAT通信口UART1支持5线(RX,TX,RTS,CTS,RI)的硬件流控 波特率:9.6kbps921.6kbpsUART2RX,TX,

29、可作为固件升级接口USBUSB2.0协议,最大数据速率12Mbps,可作为通信口或固件升级接口音频信号3路模拟和1路数字USIM接口支持1.8/3.0V2.3G模块与控制系连接DTM6211支持UART和USB两种通信接口,内部集成TCP/IP协议;本设计采用UART方式与嵌入式主控系统相连,在系统中扩展内部UART1口7。3.控制3G模块通讯驱动编程函数原型:void Uart1_Init(int pclk,int baud);功能描述:初始化UART1(485);函数原型:Void Output_Relay485(unsigned char FunNum,unsigned char Net

30、ID,unsigned char Port);功能描述:控制电源控制器;函数原型:void Send00485(void);功能描述:发送分隔符,主机向网络设备发00 Hex以分隔开各个命令;函数原型:void Sendbyte485(unsigned char data);功能描述:向485发送一个字节的数据;函数原型:char FindDevice(unsignde char id,char *series_buf);功能描述:查找网络设备;2.3 电源设计1.电源电路概述电源系统为整个系统提供能量,是整个系统工作的基础,具有极其重要的地位。电源系统处理的好坏,将直接影响到整个系统的稳定性

31、、可靠性等。多电源系统的设计、电源的分配、印制板设计中电源的设计等,都是必须考虑的。2.电源电路设计要素输入的电压范围、电流;输出的电压、最大电流、最大功率;输出纹波大小;安全因素; 电池兼容和电磁干扰;体积要求;成本要求。3.电源电路需求分析多电源系统,I/O为3.3V供电,内核为2.5V,还包含5V或12V等电源;将数字电源和模拟电源分别供电;要求电源纹波比较小,所以采用LDO供电;4.电源芯片的选择综合上述需求本系统采用Sipex LDO DC-DC转换芯片,转换到5V的芯片采、LTC3425; 转换到3.3V的芯片有 LT1086(1.5A);5.电源电路设计图2-19 电源电路一Fi

32、gure 2-19 Power Supply Circuit 1图232 电源电路二Figure 2-19 Power Supply Circuit 2第3章 车载信息软件设计第3章车载信息软件设计3.1 系统内核裁减3.1.1 系统简介内核是操作系统的核心,具有很多最基本功能,如虚拟内存、多任务、共享库、需求加载、共享的写时拷贝(copy-on-write)可执行程序和TCP/IP网络功能。Linux内核本身并不是操作系统,它是一个完整操作系统的组成部分。Red Hat、Novell、Debian和Gentoo等Linux发行商都采用Linux内核,然后加入更多的工具、库和应用程序来构建一个

33、完整的操作系统。2.6.17 Linux内核将引进对Sun 最新的T1处理器系列的支持。它包括驱动程序升级、性能改进以及漏洞修补补丁;2.6.17 内核使Linux可以更容易地处理断开/重新连接事件,将使用户空间(userspace)可以影响连接事件信号,这样DHCP客户程序可以得到连接终止的通知,因此客户程序可以尝试获得一个新IP地址。2.6.17内核还包含很多其他的新特性和支持,包括Linux VoIP H.323协议的iptable特性中对防火墙的支持其中还增加了名为splice 的新I/O机制。3.1.2 系统内核定制1.内核裁减14在主机的RedHat Linux操作系统下安装Lin

34、ux发行包以及交叉编译器arm-linux-gcc。然后对Linux进行配置(make menuconfig)并选择适合本实验系统的相关配置,配置完成后进行编译生成Linux映像文件zImage。然后通过u-boot的tftp命令将该文件下载到目标板并执行。安装Linux安装arm-linux-gcc配置makemenuconfig编译主机:RedHat Linux启动u-boot下载Linux映像文件运行Linux目标机JXARM9-2410 ;JXARM9-2410 Linux内核开发流程分析及关键选项分析: Code maturity level options代码成熟等级选项,在设置界

35、面中显示还在开发或者还没有完成的代码与驱动。General setup是组系统调用及函数库,它能让程序彼此间同步进行交换信息。某些程序以及DOS模拟环境都需要它。为进程提供通信机制,这将使系统中各进程间有交换信息与保持同步的能力。有些程序只有在选Y的情况下才能运行,这里一定要选;Loadable module support可引导模块支持 ,作为模块加入内核;Block layer块设备;Processor type and features处理器类型使Linux可以支持多种PC标准;Power management options (ACPI, APM)电源管理选项;Bus options

36、(PCI, PCMCIA, EISA, MCA, ISA)总线选项;Kernel support for ELF binaries ELF是开放平台下最常用的二进制文件,它支持不同的硬件平台;Networking 网络驱动;Device Drivers 设备驱动;file systems文件系统;Instrumentation support设备支持;Cryptographic options这是核心支持加密的选项。2.内核配置内核配置的方法很多,make config、make xconfig、make menuconfig、make oldconfig等等,它们的功能都是一样的,区别应该从

37、名字上就能看出来,只有make oldconfig是指用系统当前的设置(./.config)作为缺省值。这里用的是make menuconfig。 3.2 bootloader制作3.2.1 bootloader简介1.BootLoader是系统加电后运行的第一段软件代码。2.嵌入式系统中,整个系统的加载启动任务完全由 BootLoader来完成。在基于ARM920T的嵌入式系统中,系统在上电或复位时都从0x00000000开始执行,而在这个地址处安排的通常就是系统的BootLoader程序。3.简单地说,BootLoader就是在操作系统内核或用户应用程序运行之前运行的一段小程序。通过这段小

38、程序,可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核或用户应用程序准备好正确的环境。4.通常,BootLoader 是依赖于硬件而实现的,特别是在嵌入式领域,为嵌入式系统建立一个通用的 BootLoader 是很困难的。3.3 系统移植3.3.1 交叉编译环境的搭建在项目的起始阶段,目的平台尚未建立,需要做交叉编译,以生成所需要的bootloader(启动引导代码)以及操作系统核心;平台启动之后,由于目的平台上资源的限制,编译应用程序时,需要用到交叉编译。在本系统中建立交叉编译环境需要进行以下步骤:1、设置环境变量2、建立二进制工

39、具3、建立内核头文件4、安装glibc头文件5、建立初始编译器6、建立c库7、建立全套编译器8、测试9、内核镜像3.3.1 bootloader移植1.Bootloader移植要求BootLoader除了依赖于 CPU 的体系结构外,BootLoader 实际上也依赖于具体的嵌入式板级设备的配置,比如板卡的硬件地址分配,RAM芯片的类型,其他外设的类型等。对于两块不同的嵌入式板而言,即使它们是基于同一种 CPU而构建的,如果他们的硬件资源和配置不一致的话,要想让运行在一块板子上BootLoader程序也能运行在另一块板子上,也还是需要作一些必要的修改。2.Bootloader准备 common

40、.h,这个文件定义了一些基本的东西,并包含了一些必要的头文件。“flash.H”这个文件里面定义了 flash_info_t为一个struct。包含了flash的一些属性定义。并且定义了所有的flash的属性,其中AMD_ID_LV320B,定义为“#define AMD_ID_LV320B 0x22F922F9”。 “./borad/at91rm9200dk/flash.c”的修改,有以下的方面: “void flash_identification(flash_info_t *info)”这个函数的目的是确认flash的型号。修改:”./board/at91rm9200dk/config.

41、mk”为 TEXT_BASE=0x21f80000 为TEXT_BASE=0x21f00000 。再修改”./include/configs/at91rm9200dk.h”为 修改flash和SDRAM的大小。 另外一个要修改的文件是:./borad/at91rm9200dk/flash.c。 SDRAM的修改:修改”./include/configs/at91rm9200dk.h”里面“#definePHYS_SDRAM_SIZE 0X200000”。SIZE是以字节为单位的。 就是按照目前的设定,一级boot把u_boot加载到了SDRAM的空间为:21F00000 - 21F16B10,

42、这恰好是SDRAM的高端部分。 编译后,写入flash。 压缩u-boot.bin :“gzip c u-boot.bin u-boot.gz” 压缩后的文件大小为:43Kbytes ;接着把boot.bin和u-boot.gz烧到flash里面去。Boot.bin大约11kBytes,在flash的0x1000 0000 - 0x1000 3fff 。3.U-Boot移植方法 用BDI2000先将U-Boot 镜像文件烧写到FLASH中去,然后利用GDB和BDI2000进行调试。4.U-Boot移植主要修改的文件 从移植U-Boot最小要求U-Boot能正常启动的角度出发,主要考虑修改如下文

43、件: .h头文件,如include/configs/RPXlite.h。可以是U-Boot源码中已有的目标板头文件,也可以是新命名的配置头文件;大多数的寄存器参数都是在这一文件中设置完成的; .c文件,如board/RPXlite/RPXlite.c。它是SDRAM的驱动程序,主要完成SDRAM的UPM表设置,上电初始化。 FLASH的驱动程序,如board/RPXlite/flash.c,或common/cfi_flash.c。可在参考已有FLASH驱动的基础上,结合目标板FLASH数据手册,进行适当修改; 串口驱动,如修改cpu/mpc8xx/serial.c串口收发器芯片使能部分。 5.

44、start.S 代码结构 定义入口:一个可执行的Image 必须有一个入口点并且只能有一个唯一的全局入口,通常这个入口放在Rom(flash)的0x0 地址。设置异常向量(Exception Vector) 异常向量表,也可称为中断向量表,必须是从0 地址开始,连续的存放。如下面的就包括了复位(reset),未定义处理(undef),软件中断(SWI),预去指令错误(Pabort),数据错误 (Dabort),保留,以及IRQ,FIQ 等。这里的值必须与uclinux 的vector_base 一致。初始化CPU 相关的pll,clock,中断控制寄存器 依次为关闭watch dog time

45、r,关闭中断,设置LockTime,PLL(phase lock loop),以及时钟。初始化内存控制器:内存控制器,主要通过设置13 个从1c80000 开始的寄存器来设置,包括总线宽度,8 个内存bank,bank 大小,sclk,以及两个bank mode。 将rom 中的程序复制到RAM中:首先利用PC 取得bootloader 在flash 的起始地址,再通过标号之差计算出这个程序代 码的大小。这些标号,编译器会在连接(link)的时候生成正确的分布的值。取得正 确信息后,通过寄存器(r3 到r10)做为复制的中间媒介,将代码复制到RAM 中。6.u-boot烧写u-boot:当前系

46、统已经有u-boot烧写到flash,通过u-boot烧写自身。 1.拷贝文件到宿主机的tftp目录:拷贝zImage和ramdisk.gz文件到宿主机的/tftpboot目录下。直接从光盘拷贝:$mount /dev/cdrom /mnt/cdrom $cd /mnt/cdrom/flashupdate $cp zImage /tftpboot $cp ramdisk.gz /tftpboot 2.烧写zImage:先使用erase命令擦除zImage所使用扇区,如果将zImage烧写到0x100000-0x1fffff,即flash的4-7扇区,请注意flash扇区的号码是从0开始的。 在

47、JXARM9-2410 NOR flash的0x1080000-0x1800000的位置上是JFFS2文件系统,制作JFFS2文件系统使用mkfs.jffs2工具,在/home/cvtech/jx2410/root/目录下,/home/cvtech/jx2410/root/jffs2/目录下的内容为JFFS2文件系统的内容,其中包含Linux操作系统下示例程序代码以及内核模块,该目录下的内容制作称为jffs2文件系统映像prog.jffs2。 3.4 本章小结本章主要通过对Linux内核裁减和文件系统的制作实现了系统文件管理和进程调度管理功能;通过GUI编程实现了用户中控系统的功能以及可视化操作的目的;通过应用软件的设计编程实现了系统的通讯,播放,导航,IE浏览,游戏等应用目

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 学术论文 > 毕业论文

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922