【PHP开源代码栏目提醒】:网学会员为需要PHP开源代码的朋友们搜集整理了硕士论文-基于ARM9的锅炉控制系统——应用软件平台的研究 - 考研相关资料,希望对各位网友有所帮助!
分类号:UDC:密级:y911259学校代号:119¨业大学学位
论文基于ARM9的锅炉控制系统——应用软件平台的研究邝树华学科门类:王堂专业名称:捡型遮丕量自动丝装重申请学位级别:亟±
论文提交日期:!QQ鱼生§旦!Q目
论文答辩日期:星QQ§生曼旦摘要摘要本文探讨了一个以AI}M9为硬件平台,以嵌入式Linux为操作系统的锅炉控制系统的研究与实现。
本课题来源于广州某锅炉厂的实际项目。
本文论述了以往基于8位Mcu的锅炉控制器在测控功能、人机交互界面、数据处理和网络功能等方面存在不足,难以适应现代企业对锅炉控制管理方面的要求。
根据锅炉厂的需求进行软硬件分析设计,开发一个基于ARM9的锅炉控制系统,对原锅炉控制系统进行多方面扩展。
系统选用工业级芯片AT91RM9200为EMPu,围绕其进行硬件系统的设计。
嵌入式Linux为操作系统,实现了Linux开发环境的建立。
MiniGUI为图形用户界面支持系统,在此基础上进行触摸屏功能的研发。
sQLite为数据库引擎,进行锅炉控制系统的数据库设计。
作为一种新颖的小型数据库引擎,SQLite多应用在1】l『EB应用方面(如PHP,Java),但在自动化领域应用还未见报道。
本文介绍系统的硬件设计方案之后,依次介绍了Linux开发环境的建立、MiniGuI图形用户界面的开发和SQLite数据库的开发。
其中详细叙述了为触摸屏ADS7846开发MiniGUIIAL引擎的过程、数据库系统的设计开发和设备驱动程序的开发过程。
最后介绍了系统主要程序的流程图和用户操作界面。
关键词:锅炉控制系统;ARM9;Linux:MiniGuI图形用户界面:sQLite数据库AbstractThisdissertationdiscussesthecontrollerbasedonARM9andLinuxdesignandimplementofaboilerThetaskcomesfromaprojectfromaboilermanufactureinGuangzhou.Thedissertationfirstlydiscussestheshortcominginthefiledofoperatinginterface,dataprocessingandnetworkingofthefor舶erboilercontrollerWhichisbasedon8-bitsMCU.Thisshortcomingmakestheboilerhardtomeettheneedofmodernenterprises.WedesignedaboilercontrollerbasedonARM9whichmakesexpandingsinmanyaspects.TheboileradoptsAT91RM9200asitsEMPUandwillbefocusedonitshardwaredesign:adoptsLinuxasitsembedded0peratingSystemandsetsupthedevelopmentenvironment:adoptsMiniGUIasitsGUIengineandbasedonwhichthetouchscreenfunctionisdeVeloped:adoptsSQLiteasitsdatabaseenginebywhichthesystem’sdatabaseisdesigned.AsasmallandnewDBengine,theSQLiteisquiteoftenusedinthefiledofwebapplications(e.g.PHP&Java),butseldomusedintheAutomationfiled.J~fterintroducingtothehardwaredesign,thedissertationdiscussesthefollowingtopicsinorders:settingupthedevelopmentenvirment,developtheGUlwithMiniGUI,developthedatabasewithSQLite.Moreover,thedissertationdetaillydiscussestheprocessofdevelopingtheMiniGUIIALengineforADS7846touchscreen,andthedesignofsystemdatabase,andtheLinuxdevicedriver.KeywOrds:BoilerControlsystem,ARM9,Linux,MiniGUI,SQLitedatabaseengineⅡ第一章绪论第一章绪论1.1本课题的研究背景及意义本项目来源于广州某锅炉厂的实际项目。
1.1.1开发新型锅炉控制系统的背景锅炉微计算机控制,是近年开发的一项新技术,它是微型计算机软硬件、自动控制、锅炉节能等几项技术紧密结合的产物。
我国现有中、小型锅炉30多万台,目前大多数工业锅炉仍处于工人人手操作的生产状态“’。
采用微计算机控制,能实现自动检测并控制锅炉、减轻操作人员的劳动强度等功能。
锅炉微机控制系统,一般由以下几部分组成,即由锅炉本体、一次仪表、微机、手自动切换操作、执行机构及阀、滑差电机等部分组成。
一次仪表将锅炉的温度、压力、流量、氧量、转速等量转换成电压、电流等送入微机;手自动切换操作部分,手动时由操作人员手动控制,用操作器控制水泵、吹风机及各种阀门等,自动时对微机发出控制信号经执行部件进行自动操作。
微机对整个锅炉的运行进行峪测、报警、控制以保证锅炉正常、可靠地运行。
除此以外为保证锅炉运行的安全,在进行微机系统设计时,对锅炉水位、锅炉汽包压力等重要参数设置常规仪表及报警装置,以保证水位和汽包压力有双重甚至三重报警装置,以免锅炉发生重大事故。
当今锅炉市场竞争十分激烈,锅炉的热效率、钢耗量、结构、外包装,以及锅炉辅机配件的燃烧器、控制器、传感器、仪表阀门等都已经严重同质化,锅炉产品缺乏瓤的亮点和卖点,从而陷入“价格战”的恶性循环“1。
为了摆脱这种困境,不少锅炉制造商开始从提高锅炉的使用方便性入手,在进一步完善控制功能的基础上,提供友善易用的人机交互界面,并提供更完善的数据记录、处理的功能。
本项目委托单位现在使用基于51系列单片机的锅炉控制器,由于市场的激广东工业大学工学硕士学位
论文烈竞争和客户需求的提升,需要进行产品的升级换代,故委托本校开发一套锅炉控制器,以满足客户各方面的要求。
1.1.2原有锅炉控制系统的不足及解决方案原有锅炉控制系统由8位Mcu、控制执行机构、LED数码管、发光二极管、按键等组成,完成以下功能:实时准确检测锅炉的运行参数;综合分析及时发出控制指令;诊断故障与报警管理;历史记录运行参数;计算运行参数,保证锅炉的安全、稳定运行。
这样的锅炉控制器存在很多不足。
首先,由于数据存储空间非常有限,系统要记录的数据不全面,对于提高锅炉燃烧效率造成分析数据不足的问题,而且在少量记录数据的情况下很难实现锅炉的智能控制。
其次,数据存储器一般都固化在锅炉控制器上,不能将数据导出到Pc机上分析。
再次,以LED数码管+LED二极管的显示方式表达信息的能力有限,操作者难以直观地理解所显示的信息,而且不能以运行曲线、图表的形式来显示锅炉运行状态,操作者很难获悉锅炉状态在某时间区间内的变化情况。
最后,基于单片机的锅炉控制器一般都缺乏网络功能,难以适应现代管理要求。
基于以单片机为中心的锅炉控制器的不足,本文构建了高性能的嵌入式平台,对锅炉控制器功能进行多方面扩展。
硬件上采用ARM9芯片,大大提升处理能力。
以LcD显示器和触摸屏为用户提供友善易用的人机交互界面。
增加usB接口,方便导入导出数据。
增加Rs485和以太网接口,增强锅炉基于Modbus现场总线的多机联网群控和基于以太网的信息管理功能。
软件上采用嵌入式Linux操作系统,增强系统的可靠性;嵌入数据库,增强数据管理功能:以MiniGUI作为图形用户界面支持系统,使图形用户界面美观易用。
开发一个基于ARM的嵌入式平台需要参考ARM和Linux技术,下面将简单介绍这两种技术。
第一章绪论1.2关键技术的介绍1.2.1ARM介绍ARM是AdvancedRISCMachines的缩写,是微处理器行业的一家知名企业,该企业设计了大量廉价、高性能、低功耗的RISc处理器、相关技术及软件。
ARM公司的处理器具有性能高、成本低和能耗小等优点。
1。
采用ARM技术知识产权(IP)核的微处理器,即通常所说的ARM微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的微处理器应用约占据了32位RIsc微处理器75%以上的市场份额,ARM技术正在逐步渗入到人们生活的各个方面。
采用RISC架构的ARM微处理器一般具有如下特点:l、体积小、功耗低、成本低、性能高;2、支持Thumb(16位)/ARM(32位)双指令集,能很好地兼容8位/16位器件;3、大量使用寄存器,指令执行速度更快;4、大多数数据操作都在寄存器中完成;5、寻址方式灵活简单,执行效率高;6、指令长度固定;到目前为止,ARM微处理器及技术的应用已经深入到各个领域:l、工业控制领域:作为32位的RIsC架构,基于ARM核的微控制器芯片不但占据了高端微控制器市场的大部分市场份额,同时也逐渐向低端微控制器应用领域扩展,ARM微控制器的低功耗、高性价比,向传统的8位/16位微控制器提出了挑战。
2、无线通讯领域:目前已有超过85%的无线通讯设备采用了ARM技术,ARM以其高性能和低成本,在该领域的地位日益巩固。
3、网络应用:随着宽带技术的推广,采用AI{M技术的ADSL芯片正逐步获得竞争优势。
此外,ARM在语音及视频处理上进行了优化,并获得广泛支持,也对DsP的应用领域提出了挑战。
广东工业大学工学硕士学位
论文4、消费类电子产品:ARM技术在目前流行的数字音频播放器、数字机顶盒和游戏机中得到广泛采用。
5、成像和安全产品:现在流行的数码相机和打印机中绝大部分采用ARM技术。
手机中的32位sIM智能卡也采用了ARM技术。
1.2.2Linu)【介绍Linux是一套免费使用和自由传播的类unix操作系统,它主要用于基于IntelX86系列CPU的计算机上“1,并且越来越广泛地应用在嵌入式系统中。
这个系统是由世界各地成千上万的程序员的。
其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。
Linux有以下特点:1.开放性开放性是指系统遵循世界标准规范,特别是遵循开放系统互连(0sI)国际标准。
凡遵循国际标准所开发的硬件和软件,都能彼此兼容,方便地实现互连。
2.多任务多任务是现代计算机最主要的一个特点。
它是指计算机同时执行多个程序,而且各个程序的运行互相独立。
3.良好的用户界面Linux向用户提供了两种界面:用户界面和系统调用。
Linux的传统用户界面是基于文本的命令行界面,即shell。
shell有很强的程序设计能力,用户可方便地用它编制程序,从而为用户扩充系统功能提供了更高级的手段。
4.设备独立性设备独立性是指操作系统把所有外部设备统一当作文件来看待,只要安装它们的驱动程序,任何用户都可以象使用文件一样,操纵、使用这些设备,而不必知道它们的具体存在形式。
Linux是具有设备独立性的操作系统,它的内核具有高度适应能力。
由于用户可以免费得到Linux的内核源
代码,因此,用户可以修改内核源
代码,以便适应新增的外部设备。
5.提供了丰富的网络功能完善的内置网络是Linux的一大特点。
Linux在通信和网络功能方面优于其4第一章绪论他操作系统。
其他操作系统不包含如此紧密地和内核结合在一起的连接网络的能力,也没有内置这些联网特性的灵活性。
而Linux为用户提供了完善的、强大的网络功能,包括支持Internet、文件传输和远程访问。
6.良好的可移植性可移植性是指将操作系统从一个平台转移到另一个平台使它仍然能按其自身的方式运行的能力。
将Linux移植到新的微处理器体系非常快捷,一般是将其移植到一种新型的目标板,其中包含独特的外设。
大部分的内核
代码都是相同的,因为它们与微处理器无关。
移植工作只是集中在存储器管理及中断处理程序上〔5〕1.3本
论文的主要研究内容本文论述了开发一个高性能嵌入式锅炉控制系统的过程,新的锅炉控制系统在功能上进行多方面扩展,实现了在图形用户界面、数据管理和网络功能方面的改进。
第二章根据硬件需求,首先设计了硬件系统的总体设计。
然后根据锅炉控制系统运行环境以及对稳定性等方面的特殊需要,对EMPu及各类芯片进行选型。
第三章讲述了Linux开发环境建立的过程,包括交叉编译环境的建立、Linux根文件系统的裁减和利用NFs服务加快开发速度的方法。
第四章讲述了图形用户界面的开发过程。
首先比较分析了MiniGUI较其它GUI系统的优点,接着讲述了MiniGuI的移植过程,最后详细分析了ADs7846IAL引擎的开发过程。
第五章讲述系统数据库的设计。
首先介绍了sQL“e数据库引擎,然后介绍了sQLite的移植过程,最后给出系统数据库设计的E—R图和数据表的设计。
第六章总体讲述了系统应用软件的研制。
首先开发所用设备的驱动程序,接着给出系统主要控制程序的流程图,最后介绍说明了运行界面。
最后总结了开发本系统取得的成绩以及对后续工作的展望。
广东工业大学工学硕士学位
论文第二章硬件平台分析设计ARM是AdvancedRIscMachines的缩写,ARM处理器具有性能高、成本低和功耗小的特点,适用于多种领域,如嵌入式控制、消费/教育类多媒体、DsP和移动式应用等。
在嵌入式微处理器(EⅢbeddedMicroProcessorunit,EMPu)中,虽然有多种嵌入式处理器可供选择,但AI{^I处理器核因其低功耗、高性能等优点已在32位嵌入式应用中稳居世界第一,成为高性能、低功耗嵌入式处理器的代名词”。
。
优良的性能和广泛的市场定位极大地丰富了ARM的资源,加速了基于ARM处理器面向各种应用的系统芯片的开发和发展。
本文设计是基于深圳远峰公司的开发板YFDvK一9200一I作为硬件平台。
因为具体的应用取决于项目的实际需要,系统实现的重点和根本在于嵌入式微处理器的外围电路的设计。
所以本章重点研究ARM的外围扩展电路。
2.1硬件系统总体设计本锅炉控制器要检测和控制大量的信号量。
输入信号包括43个开关信号、33个模拟量,输出信号包括33个开关量,8个模拟量。
加上LCD显示功能,触摸屏控制,音频报警输出,以太网接口,USB接口等功能,综合分析得到硬件系统的总体设计如图2—1所示。
以ARM芯片作为系统EMPu,和FLASH以及RAM一起组成系统的核心:在外围添加LCD控制器和触摸屏控制器以支持用户的交互控制,加上以太网控制器以支持网络功能。
再加上A/D、D/A转换芯片、I/O扩展芯片作为系统执行监控的部分。
6第二章硬件平台分析设计图2一l硬件总体设计图Fig,2—1Hardwaredesignofthesystem为了提高开发速度和开发成功率,降低开发成本,本项目使用深圳远峰公司的开发板YFDvK一9200—I为原型,在其基础上扩展控制执行电路,以实现采集数据和控制锅炉的功能。
2.2主要硬件芯片选型2.2.1EMPu的选择由于本锅炉控制器主要用于控制锅炉温度,所以对实时性要求并不苛刻,但由于系统要采集大量的开关信号及模拟信号,实现自动控制功能,而且要及时显示锅炉的运行状态,遇到危险情况报警提示,及时响应用户的请求,这样要求处理器具有很高的运行速度。
ATMEL公司的ARM处理器AT91RM9200,以ARM920T(16一/32-bitRIScCPU)为内核。
ARM920T内核模块结构如图2—2所示广东工业大学工学硕士学位
论文图22ARM920T模块图Fig,2—2ModuleofARM20TAT91RM9200拥有独立的16K指令和16K数据cache,写缓存,全功能的MMU虚拟内存管理单元,内部的16KBsDRAM和128I(BROM,EBI接口控制器(支持SDRAM,StaticMemory,BurstFlash,GluelessConnectiontoCompactFlash@,smartMedi一和NANDFlash),增强的时钟和电源管理控制器PMc,带有两个PLL的片内振荡器,4个可编程的外部时钟信号,包括定时中断、看门狗、秒计数器的系统定时器,带报警中断的实时时钟,带有8级优先级、可单个屏蔽中断源的先进中断控制器(AIC),7个外部中断源和1个快速中断源,4个32位的I/O控制器,20通道外围数据控制器(PDc或D滁),1个10M/100MEthernet控制器,2个usB2.O主机接口,1个usB2.0设备接口,2个多媒体卡接口McI控制器(兼容Multimediacard和sDMemorycard),3个同步串口ssc控制器(兼容12c),4个通用同步/异步串口端口UAsRT,1个主/从串行设备接口sPI,2个3通道16位定时计数器(PwM/俘获/波形模式),1个两线串行接口TwI(主模式),JTAG/IcE。
在180MHz工作频率下运行速度为200jf【IPs”1。
可见,AT9lI{6f【9200是一个功能非常强大的EMPu,足以满足本锅炉控制器对cPu运算能力的要求,而更为重要的是,它是一款工业级的芯片,适合锅炉在高温的工作环境下运行,非常适合本系统的使用。
2.2.2A/D转换本系统需要A/D转换器采集锅炉的烟温。
锅炉烟温的可能范围为0℃一500℃。
根据锅炉厂方的要求,本系统采样的精度要达到±O.5℃。
从式子(2.1)可得,必须采用转换精度达到9位或以上的A/D转换芯片。
第二章硬件平台分析设计z8<等≠-so嘲9亿。
,TI公司的A/D转换芯片TLc2543具有12位分辨率,转换时问只需10“s,有11路模拟输入通道,固有的采样与保持,线性误差为±1LSB(MAX)。
1,由于锅炉的工作环境温度大概在一40℃~+85℃,本系统选用TLc2543IDw型号。
2.2.3D/A转换D/A转换芯片在本系统中主要是用于控制阀门和变频器,MAx52l是一个八通道8位轨对轨输出D/A转换芯片,由5V单电源供电,12C兼容两线串行接口,每个DAc有各自独立的基准输入。
3,能满足本系统用于多个不同的控制对象的要求。
2.2.4I/0扩展锅炉控制器需要接收锅炉里面传感器给出的大量开关信号,并要向锅炉发出开关信号以驱动继电器实现对锅炉的控制,所以控制器要使用大量I/0口。
由于需要的I/O口多达70多个(43个输入开关量、33个输出开关量),必须扩展I/O口。
GM8166芯片通过串入并出、并入串出、并入并出转换完成I/O口的扩展。
最高工作频率为10MHz,具备sPI总线接口,用于配合MCU完成对多个外围电路的控制和信号采集工作。
该芯片设计时充分考虑了抗电磁干扰和工作温度范围,完全适用于工业领域“…。
所以本系统采用GM8166扩展I/0口。
2.2.5LCD显示作为新一代的锅炉控制器,必须配以良好易用的用户接口,本系统使用LcD作为显示设备,并以触摸屏作为用户的操作输入接口,实现良好的人机交互。
本系统将扩展LCD控制器和触摸屏控制器,以支持800x600分辨率的LcD显示功能和触摸功能。
s1D13506是EPsON大规模显示控制器家族中较新的一款,是以S1D13504为基础控制器发展起来的更多功能的LcD显示控制器。
它内置RAMDAC9广东工、止大学工学硕士学位
论文硬件x—Y轴转置2维加速器,共有114个寄存器,可以灵活地对各种不同的显示方式进行设置,功能非常强大,可以和目前市场上流行的多种cPu总线兼容。
s1D13506支持最高为16位数据宽度的LcD接口,使用FRM和调谐(dithering)技术,可以在T”LcD、CRT和TV上最高显示64K颜色。
它配置一个16位内存接口,可以支持最高2MB的EDo—DRAM。
支持6色,256色和真彩色的颜色结构““。
本系统采用s1D13506作为彩色LcD控制器,采用ADs7846作为触摸屏控制器。
2.2.6存储要求本系统的软件实现要嵌入操作系统,需要加载多个驱动程序和运行应用程序,需要约10M的RAM和ROM,加上系统要求记录锅炉运行时出现的各种情况以及工人的操作记录,需要更大的存储空间。
本系统设计使用16M的NandF1ash和16M的NorF1ash和32M的sDRAM作为系统启动和运行的存储器,通过usB接口挂载优盘作为外部数据存储器,把运行数据记录到优盘上的数据库文件中,既可以被锅炉控制器读取,又可以方便地取出插入到Pc机上进行备份处理。
因此本系统需要实现usB功能。
由于AT9lRM9200已经集成了usB接口,本系统不需另选芯片扩展。
第三章Linux开发环境的建立第三章Linux开发环境的建立本系统要完成很多功能,包括usB、LcD显示、触摸屏、声音报警等,如果直接对裸板编程,那将非常费时费力。
应用嵌入式操作系统是当前开发的趋势,所以,本系统也采取嵌入操作系统的做法。
考虑开发成本和易用性等多种因素,本系统需要操作系统具备便宜、体积小、功能完备、开发方便、技术支持到位等特点。
3.1嵌入式操作系统的选择常用的嵌入式操作系统包括windowscE、Vxworks、嵌入式Linux等“1。
下面比较一下这几种主流的嵌入式操作系统。
1、、^喱ndOwsCEwindowscE是微软公司开发的一个开放、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备系统,是精简的windows95。
windowscE的图形用户界面相当出色。
WindowscE具有模块化、结构化和基于win32应用程序接口以及与处理器无关等特点。
并且在该平台上可以使用Pc版windows上的编程工具(如VisualBasic、Visualc+上等),使用统一的函数和界面网格,使绝大多数应用软件只需要简单修改和移植就可以在windowsCE平台上继续使用。
2、VxWbrksVxworks是美国windRiver公司设计开发的一种嵌入式实时操作系统,具有优秀的稳定性和可靠性。
Vxworks的实时性做得非常好,其系统本身的开销很小,进程调度、进程间通讯及中断处理等系统公用程序精炼有效,造成的延迟很短。
Vxworks由一个体积很小的内核及一些可以根据需要定制的系统模块组成,具有可裁减性。
由于它的高度灵活性,用户可以很容易地对这一操作系统进行定制或作适当开发,来满足自己的实际应用。
3、LinuxLinux是目前世界上最大的一个自由免费软件,其本身是一个功能可与UNIx和Windows相媲美的操作系统,具有完备的网络功能。
Linux操作系统具有如下广东工业大学工学硕士学位
论文特点:1)Linux脱胎于【JNIX,它不仅继承了UNIx的优点,而且引进了新的技术。
2)Linux是基于标准操作系统界面(Portable0peratingsystemInterface,POSIX)和uNIx的多用户、多任务、支持多线程和多cPu的操作系统。
它能运行主要的【JNIx工具软件、应用程序和网络协议,支持32位和64位的硬件,是一个性能稳定的多用户网络操作系统。
并且,其模块化设计结构很容易扩充。
3)Linux是一个开放的免费软件,任何人都可以免费获得Linux的源
代码,并修改源
代码。
4)支持几乎所有的硬件平台,包括Intel系列、ARM系列、A1pha系列、MIPs系列等,并广泛支持各种外围设备。
windowscE和vxworks占据了高端嵌入式产品的主要分额,其性能是得到用户肯定的,特别是Vxworks,被广泛运用在美军的战斗机和航天飞机上。
但使用他们都要支付昂贵的版权费用,对于市场上大量的中低端嵌入式电子产品来说是不能承受的,而且源
代码不公开,用户很难根据自己的特殊需要修改它们。
Linux是一个有良好声誉的操作系统,对比前两款操作系统,它有
开源、免费的突出优点,受到用户和IT业的青睐。
ARM公司在内部研究和开发中已经广泛使用Linux,在开发新的ARM体系结构过程中,Linux是一种重要的验证途径。
在发布新的体系结构版本或处理器时,ARM都发布对应的Linux支持“…。
ARM和Linux的结合越来越紧密。
由于采用AT9lRM9200作为系统的EMPu,所以本系统选用Linux操作系统。
嵌入式Linux,己经集成了usB驱动、TcP/IP协议栈等高级功能,省下了自己开发的功夫。
更重要的是,采用Linux操作系统,不用支付昂贵的版权费用,大大节省了开发成本,而且在Linux平台上开发方便,Internet上有大量Linux的技术支持,这对减小开发成本和提高开发成功律起到非常积极的作用。
3.2Linu×交叉编译环境的建立实现基于Linux的应用系统的开发前,必须建立一个完备的Linux开发环境。
Linux开发环境的建立一般包括以下步骤:交叉编译环境的建立、Linux系统的裁减以及NFs开发环境的搭建。
第三章“nux开发环境的建立3.2.1交叉编译环境的建立基于Linux操作系统的应用开发环境一般是由目标系统硬件开发板和宿主Pc机所构成。
目标硬件开发板(在本文中基于AT91RM9200的开发板)用于运行操作系统和应用软件,而目标板所用到的操作系统的内核编译、应用程序的开发和调试则需要通过宿主Pc机来完成,即交叉编译——在一个平台上生成可以在另一个平台上执行的
代码“…。
双方一般通过串口、并口或以太网接口建立连接关系。
如图3—1所示图3l宿主机/目标板调试模式Fig,3一lHost/targetdevelopingmodule首先,要在宿主机上安装标准Linux操作系统,本文使用的是RedhatLinux9.0,确保计算机的网卡驱动、网络通讯配置正常。
由于本系统采用深圳远峰公司的开发板YFDvK一9200—I,该公司提供了移植好的Linux内核以及文件系统,大大减轻了移植Linux的难度。
当然,也可以从ATMEL公司的官方网站http://www.at91.com/下载针对AT91附9200芯片的移植好的Linux内核源码包Linux一2.4.19一vrsl.tar.tar来开发自己需要的Linux内核,解压缩后就可以进行针对性的配置裁减了。
再从网上下载与内核版本相匹配的交叉编译器,便可以自己搭建交叉编译环境。
由于远峰公司提供的Linux内核在ATMEL公司提供的内核的基础上针对其开发板开发了更多驱动程序。
所以我们在其提供的开发包上进行二次开发。
具体做法如下:建立目录/YF9200,并拷贝进Linux内核1inux一2.4.19和文件系统广东工业大学工学硕士学位
论文root_linux。
在/usr/local下建立新文件夹arm,将cross一2.95.3.tar.bz2拷贝到/usr/local/arm/,输入命令:#tar—jxvfcross一2.95.3.tar.bz2解压交叉编译器。
这样就可以交叉编译Linux内核了。
1.编译Linux内核作为操作系统的核心,Linux内核负责管理系统的进程、内存、设备驱动程序、文件系统和网络系统,决定着系统的各种性能。
内核版本不断更新,新的内核修改了旧的内核的缺陷,并增加了许多新的特性,用户如果想在自己的系统中使用这些新的特性,或想根据自己的系统量身定制更高效、更稳定可靠的内核,就需要重新编译内核。
更新的内核版本会支持更多硬件,具有更好的进程管理能力,运行更稳定,并且一般会修复旧版本中已发现的缺陷等,因此,经常选择升级更新的系统内核是有好处的。
以下命令进入/YF9200/1inux一2.4.19—1cd目录中:#cd/YF9200/1inux一2.4.19—1cd1)键入命令:#makemenuconfig。
图3—2内核配置界面图Fig.3—2GUIofkernelconfiguratio“该命令执行完毕后生成文件.config,它保存这个配置信息。
下一次再做makemenuconfig的时候将产生新的.config文件。
此时会出现菜单配置对话框,如图3—2所示,选择好所有选项后保存设置,存盘退出。
2)键入命令:#Ⅲakeclean第三章Linux开发环境的建立该命令清除以前构造内核时生成的所有目标文件、模块文件和一些I临时文件。
3)键入命令:Ⅲakedep该命令用于寻找依存关系。
4)键入命令:眦kezImage该命令生成内核镜像zImage。
通过各个目录的Makefile文件进行,会在各目录下生成一大堆目标文件。
上述步骤完成后,就完成了对Linux源
代码的编译工作。
编译内核在Linux平台下进行。
2.Kernel和文件系统的烧录开发板上已经烧有u_boot,启动U-boot后设置tftp服务器地址就可以使用,把镜像传输到开发板,然后烧录进Flash。
3.2.2裁减Linux根文件系统在Linux正常运行时,内核需要从根文件系统装载系统运行的程序,需要在根文件系统为运行的进程提供工作目录。
根文件系统就是加载到“/”处的文件系统。
通过减小根文件系统来实现Linux的小型化,才能够使Linux系统适应只有有限存储空间的嵌入式设备的要求。
远峰公司提供了相应的文件系统,但是为了满足不同用户的需要,文件系统还是保留了不少本应用不需要的工具和共享库。
为了给应用程序腾出更大的存储空间,优化Linux文件系统结构,对其进行“瘦身”是必要的“…。
小型化的原则就是去除不必要的组件和功能,使应用程序存储空间增大。
|V1ibbin图3—3文件系统目录树Fig.3—3TreeoffilesysteⅢdirectoryC广东工业大学工学硕士学位
论文要对Linux根文件系统进行裁减,首先需要了解Linux根文件系统的结构。
Linux的文件系统是一个树状结构,如图3—3所示。
表3—1给出了每个目录的用途。
表3一l目录功能表Table3—1Functionofdirectory目录作用/home每个用户的工作目录/bin普.
上一篇:
十大开源软件贡献者排名
下一篇:
让我掉下眼泪的