嵌入式系统发展到今天,应用越来越复杂,功能越来越强大,这就使得我们在嵌入式开发中必须加入对操作系统的支持,由此,产生了Bootloader的应用。作为嵌入式系统中的启动模块,Bootloader的作用就是引导和加载操作系统内核镜像。Bootloader的设计与移植工作已经成为嵌入式系统开发中的重要环节。 在实际的嵌入式系统开发项目中,人们经常选择移植通用Bootloader,例如U-Boot到自己的目标板。U-Boot虽然支持多种嵌入式操作系统和处理器架构,功能设置高度灵活,设备驱动丰富,但U-Boot代码组织结构过于庞大,启动流程机理和文件间的依赖关系复杂,这使得采用U-Boot进行Bootloader的开发往往会不得要领;另一方面,嵌入式系统是资源受限的,为了更好的适应市场,嵌入式产品的开发极其重视成本。以U-Boot-1.1.4来说,其源代码大小就有38.4M,移植后生成的可执行bin文件一般也要500K以上,这对于宝贵的Flash资源来说无疑是种浪费。 论文以ARM内核处理器应用为切入点,设计了一种小型ARMBootloader-MicroBootloader。在理论上,通过对Bootloader的分析,总结了其主要功能、启动过程,提出了Bootloader设计的典型框架,并按照这一典型框架对MicroBootloader进行了总体设计。在实现上,采用模块化设计原则组织源文件,使得整个MicroBootloader组织结构清晰简洁,便于维护与扩展,方便针对不同硬件平台的移植进行修改。 论文的创新点在于做到了代码量大小与功能的平衡。整个文件组织只有37个文件,代码总计为208K,生成的可执行bin文件仅35K。通过实验验证,MicroBootloader完全能够完成Bootloader的基本功能,其扩展功能也能实现下载操作系统镜像,并让其在目标板上成功运行,具有一定的现实意义和后续应用开发价值。
标签: Bootloader ARM 内核
上传时间: 2013-04-24
上传用户:qweqweqwe
信息技术的发展,数字化产品的普及,导致了对嵌入式开发的巨大需求。以Linux为宿主机系统,搭配一个交叉编译环境,为嵌入式设备生成可执行程序己成为现在日益流行的编译嵌入式软件的解决方案。而开放源代码的GNUT具链是一套开源的开发环境,是嵌入式软件开发中理想的交叉编译器。但现有GNUI具链支持的平台并不能满足层出不穷的嵌入式产品的开发需要,仍有许多平台得不到支持,例如我们进行的minix向ARM-MINIX平台的移植。 本文以在linux环境下构建MINIX嵌入式系统的交叉编译工具链为背景,首先介绍了交叉编译系统的基本组成和结构,以及利用GCC构建交叉编译环境的优越性。然后对目标平台作了介绍。分析了GCC编译器,说明了GCC的设计思想,系统结构,介绍了GNU Binutils的功能,使用方法;接着分析了GNU工具链中的GAS和GLD的实现机制及源代码结构,由于BFD是GNUBinutils的基础,GAS和GLD都是使用BFD库来操作目标文件,因此在这一部分本文对BFD库的工作机制,数据结构也作了重点分析。紧接着说明了GCC交叉编译系统的移植思路和方法,实现难点,以及一些相关技术细节,这涉及到了若干重要的C源文件,Makefile,配置文件的修改,重点给出了BFD库,GAS和GLD的分析及其重定向(通常GCC生成的目标程序是针对GNU/Linux系统的)的实现;然后本文给出了在GNU/Linux宿主机上构建针对ARM-MINIX的参数设置及过程:最后对本文所做的工作进行了总结。
上传时间: 2013-05-31
上传用户:wangzhen1990
在日常工作和生活中,人们需要享用各种资源或者服务。当在特定的时间段内,可供享用的资源有限,而需求享用资源的用户相对较多时,供求矛盾就会出现。预约系统通过让用户与资源提供者进行交流,而缓解了供求矛盾。目前,为提高学生的创新能力和实验仪器的使用效率,高校普遍提倡为学生提供自由的开放型实验平台。于是,实验平台数量的不足和学生多样化的实验需求激发了实验平台的供求矛盾。该矛盾的解决方法之一是采用合适的预约系统来实现开放型实验进度的动态安排。 随着互联网的深入普及,以及移动通信服务的逐步完善和通信资费的不断降低,基于互联网和手机短消息的预约系统将变得非常实用。鉴于高校的学生一般都拥有一张由学校统一办理的非接触式IC卡,故结合射频识别技术、互联网和手机短消息技术实现开放型实验的预约系统,将能较好地缓解高校实验平台数量不足和学生多样化实验需求之间的矛盾。同时,采用ARM处理器取代台式电脑实现硬件电路,能有效降低预约系统的设备成本。 本论文有重点地讨论了基于ARM/WEB/SMS/RFID的学生实验预约系统的设计与实现。 第一章,通过介绍预约系统的现有应用和发展趋势,提出了实验预约系统设计方案的设计原因和依据,分析了实现设计方案的途径和可行性,并提出设计方案的预期目标。 第二章,系统地介绍实现设计方案需要用到的基础知识与技术,包括ARM体系结构、处理器内核以及μC/OS-II嵌入式实时操作系统等; 第三章,介绍预约系统的硬件结构,重点分析了非接触式IC卡读卡器和GSM通信模块; 第四章,探讨预约系统的软件设计,包括系统的功能结构、数据结构,TCP/IP、HTTP、Wiegand协议和AT指令,以及具体分析关键应用程序的实现,并简单介绍μC/OS-II的移植和软件开发工具的使用; 第五章,对预约系统进行电气参数和软件功能的测试。最后,对整个项目进行总结,并提出展望。
标签: ARMWEBSMSRFID 实验
上传时间: 2013-04-24
上传用户:jyycc
核能谱仪中的数据采集系统,集核探测技术、电子技术、计算机技术为一体,以多道脉冲幅度分析器为核心部件,能够快速、准确地提取出核素的相关信息及参数。现已于勘探、建材放射性检测及环境放射性监测等领域得到广泛应用。随着嵌入式技术的发展,以32位ARM为核心的微控制器已被引入进来,提高了数据采集的速度和精度,同时嵌入式操作系统的引入也为功能扩展、系统集成提供了高效的开发平台。 本论文介绍的核数据采集系统即以ARM微控制器LPC2148和实时操作系统μC/OS-II为平台,谱数据采集为基本功能,在此基础上扩展GPS和GPRS模块,可实现GPS信息和核信号的实时、同步接收,保存和显示,并可将采集的数据通过GPRS网络及时传到采集中心进行谱数据处理和GPS差分定位,为野外多点测量及远程监测提供了有效的手段。 课题以教育部的高等学校博士学科点专项科研基金项目“基于3GS技术的便携式核地球物理数据采集系统研究(项目编号:20040616014)”为依托,本人在已有研究成果的基础上,进行了相关改进和系统集成: (1)选用轨对轨运算放大器,改进了峰值检测电路,增大了脉冲峰值的测量精度。 (2)数据采集系统以32位ARM微控制器LPC2148为核心,外围电路带有LCD显示,系统具有低功耗、小型化、高性价比等特点。 (3)实现了核数据采集系统对GPS、GPRS的集成。 (4)完成嵌入式μC/OS-II操作系统在LPC2148上的移植、操作系统的搭建,及各功能模块的设计与集成。
上传时间: 2013-04-24
上传用户:标点符号
T-Kernel作为一种嵌入式操作系统,由于实时性和开源性,在嵌入式操作系统领域中的应用越来越广泛。ARM是一款比较好的微处理器,T-Kernel在ARM上的应用研究基本上是空白,所以结合两者进行研究促进T-Kernel在国内嵌入式领域的发展。同时,T-Kernel内部调度机制存在着优先级反转缺陷,优先级反向使得高优先级任务的执行时间无法预测,增加了实时系统的不确定性。早期的解决协议较好地解决了优先级反转问题,但同时也存在着自身不足之处。 针对T-Kernel存在的缺陷,在深入研究相关协议的基础上,本论文提出了一种新的改进的优先级继承协议。该协议设置超时保护机制,避免任务在获取信号量时长时间的阻塞,结合Havender提出的“有序资源使用法”防止死锁发生,给出该协议的分析过程,并把该协议结合到T-Kernel中。在这个基础之上,建立研究开发平台;针对硬件设备,研究引导程序的执行原理,实现系统的引导程序;构建T-Kennel内核;移植内核到开发板;最后对T-Kernel的启动过程进行了详细的分析。 T-Kernel在ARM上的移植研究,为嵌入式系统开发的提供了一种开发流程,同时对于T-Kernel的启动过程的分析,为以后的应用程序开发提供了一个接口;对于T-Kernel存在的优先级反转问题的解决,可以改进T-Kernel的实时性和灵活性,同时为实时系统的性能改进提供了参考。
上传时间: 2013-04-24
上传用户:shangdafreya
作为世界上最优秀的操作系统之一,Linux不仅在服务器领域有着不可撼动的地位,而且正在嵌入式领域发挥着越来越重要的作用。有专家预测,Linux将是未来最主要的嵌入式操作系统之一,将广泛应用在各种消费电子和通信设备中。因此,产生并逐渐形成了嵌入式Linux这项技术。然而,面对嵌入式系统多样化的硬件平台以及多样化的应用,如何更快更好地建立基于Linux的软件平台成为一个必须解决的问题。 本文正是针对这个问题,以Linux相关的基础软件为主要研究对象,在深入分析引导加载程序、Linux与处理器相关的代码、文件系统以及设备驱动的基础上,对基于ARM的Linux软件平台进行了创新性和探索性的研究。主要内容为:在理解ARM体系结构的基础上,通过分析uboot源码,详细研究ARM处理器在上电后的启动过程和加载引导Iinux的过程;分析并总结Linux与处理器相关的接口,以中断控制器、定时器以及串口为主,提出了移植Linux到新型处理器的思路和方法;研究Iinux文件系统的内容、制作和使用;分析Linux的设备驱动体系结构以及设备驱动的调用方式;在学习和研究的基础之上,针对STMP36xx这款处理器,设计并实现引导加载程序,完成Linux的移植、配置、编译,解决Linux启动过程遇到的问题,然后通过制作根文件系统和实现NandFlash、LCD的驱动,完整地搭建起以Linux为核心的软件平台,并进行了应用验证。 在实际应用中,嵌入式系统会使用很多不同类型的处理器,因此迫切希望能够找到一个准则解决移植带来的问题。本文最重要的成果就是为Linux在新型处理器上的移植提出了一个准则,根据该准则可以更加快速、更加准确地将Linux应用到不同的处理器上,因此具有重要的现实意义。同时,本文将项目实践贯穿于理论研究之中,涉及到Linux平台关键技术的分析、相关工具的使用以及开发经验的分享,对学习嵌入式Linux和设计嵌入式Linux系统具有较高的参考和指导价值。此外,成功移植的STMP36xx已经初具规模,可以通过二次开发以形成完善的嵌入式产品。
上传时间: 2013-06-01
上传用户:sa123456
嵌入式操作系统是嵌入式系统应用的核心。完成简单功能的嵌入式系统一般不需要操作系统,但是随着所谓后PC时代的来临,嵌入式系统设计日趋复杂,嵌入式操作系统就必不可少了。一般而言,嵌入式操作系统不同于一般意义的计算机操作系统,它有占用空间小、执行效率高、方便进行个性化定制和软件要求固化存储等特点。 本文在讨论了嵌入式操作系统的基本理论之后,论述了MINIX 3操作系统的特点,指出了MINIX 3向嵌入式操作系统方面发展的意义和可行性。建立可移植代码是操作系统移植的首要步骤和重要途径,本文又论述了建立可移植代码的一般方法和过程。而后深入分析了MINIX 3操作系统的内核结构及组成部分,重组了内核目录树,列出了移植MINIX 3内核需要重新编写的内核接口。在MINIX 3已有代码的基础上,分离了一部分机器相关代码和体系结构不相关代码,建立了相应的可移植代码。 提到嵌入式,就不能不提ARM,ARM体系结构是目前最流行的嵌入式微处理器体系结构。本文就是针对ARM处理器体系结构来展开的,文中简单介绍了ARM处理器的情况,并且对应ARM体系结构修改了MINIX 3内核的部分代码。最后在深入分析了MINIX3操作系统进程调度算法和代码之后,结合软实时操作系统进程调度特点和要求,改进了MINIX 3进程调度策略,使之适合软实时操作系统的要求,并给出了修改后的相关源代码。
上传时间: 2013-06-24
上传用户:kksuyiwen
汽车仪表总成是汽车和驾驶员进行信息交互的窗口。传统的汽车仪表总成采用了大量机械器件、模拟电路和少量简单数字电路的方式设计。它体积大,精确和稳定性低,显示信息少,控制按钮繁复。本项目以当前主流的嵌入式技术为基础,设计了一种以大尺寸LCD触摸屏为主要显示控制界面,以CAN总线和其他接口为信息采集渠道,以高速嵌入式ARM9微控制器为处理单元的车载信息显控终端。 作者在该项目中负责车载信息显控终端的样机设计,用Prote199完成原理图和PCB图的设计,编写测试程序对主要硬件进行测试。软件上移植Linux操作系统并编写LCD驱动程序。 论文设计的车载信息显控终端以SAMSUNG公司S3C2410ARM9微控制器为核心,以Microchip公司的MCP2515芯片为CAN总线控制器,以Sharp公司LQ080V3DG01型号的8英寸LCD屏为显控接口。存储器方面外扩了NOR FLASH、NAND FLASH、SDRAM。接口方面设计了CAN、USB、RS232、以太网等标准接口,和GPIO、AD等接口。软件上本车载信息显控终端采用自行剪裁移植的Linux操作系统,并移植了相应的LCD驱动程序。 论文主要阐述了车载信息显控终端的硬件设计,详细分析了Linux在S3C2410微控制器系统上的移植,并将在软硬件调试过程中总结的经验与大家分享。 本车载信息显控终端是对汽车仪表总成数字化和虚拟化显示控制的一个有益尝试,离最后的实用化和产品化还待进一步研究。
上传时间: 2013-05-30
上传用户:hechao3225
设备状态监测技术是计算机科学、测试技术、信号分析与数据处理技术等相结合的一种设备运行信息分析处理方法。将嵌入式计算机技术与数据采集技术及数字信号处理技术结合起来,构成一种体积小、便于携带、易于网络化、造价相对较低,集信号采集、处理、存储和显示为一体的设备具有广泛的应用前景。 本文通过对传统工控监测技术方案以及本项目具体功能和指标的分析,提出了ARM+嵌入式Linux架构的技术方案。采用多个嵌入式设备终端作为监测系统数据的采集终端,然后通过GPRS模块连入Internet,通过Internet上的多台主机作为监控中心,各自运行相应的包括网络管理功能的应用程序,实现监测数据自动、可靠的采集、存储、处理、实时显示及实时数据远程传输,进而实现分布式、网络化和自动化的设备监测系统新模式。 本文首先介绍了嵌入式技术的国内外研发现状。给出了嵌入式监测系统总体设计方案。根据系统的功能和要求的技术指标,在综合比较现有各种嵌入式操作系统的基础上,分析了使用嵌入式Linux操作系统构造嵌入式系统的优点和缺陷,选定了嵌入式Linux操作系统作为本次设计的操作系统;选择了samsung公司基于ARM920T内核的处理器S3C2410X作为嵌入式处理器;简单介绍了S3C2410X的工作模式,并设计了系统的硬件和软件结构方案。 这种基于嵌入式终端的工控监测系统主要由控制中心和嵌入式监测终端两大部分组成。本文所主要涉及的就是该系统中的嵌入式监测终端部分,主要进行了嵌入式监测终端的硬件设计,嵌入式操作系统ARM-Linux的移植,建立交叉编译环境,制作根文件系统,软件部分主要是对驱动程序和终端应用程序的设计与实现进行了研究和介绍。重点介绍并了FPGA设备驱动程序的实现以及应用程序中的液晶显示部分与实数EFT算法以及几种数字信号的平均算法的C语言实现,最后,对本论文进行了总结,并指出了后续工作中需要注意的问题。 基于ARM-Linux的工控监测系统的研制对于监测网络化是一个有益的尝试,它的研制成功将会给工厂带来更大的经济效益。
上传时间: 2013-07-20
上传用户:gjzeus
随着软硬件技术的不断发展,嵌入式系统的应用越来越广泛,嵌入式技术也全面渗透到日常生活的每一个角落。掌上汉语学习机系统的开发是为满足对汉语学习有需要的人群。随着经济、技术的不断提高,中国逐渐走向国际化,汉语学习人员的人数也不断增加,开发出一款掌上汉语学习机系统是有充分的市场需求的。 系统的开发环境是基于ARM-Linux开发平台,并应用了嵌入式开发的相关关键技术,包括嵌入式图形用户界面系统MiniGUI和嵌入式数据库SQLite,系统开发的目的是在这些技术的基础上,为需要学习汉语的人员提供一款界面友好、功能丰富的语言学习工具。 本文主要讲述的是掌上汉语学习机系统的软件开发过程以及开发过程中涉及的开发环境及开发技术。随着手持设备的硬件条件的提高,嵌入式系统对轻量级GUI的需求越来越迫切,图形用户界面的支持是实现一个完善的语言学习系统的基础,本文首先从图形用户界面的历史、技术特点、结构模型、发展状况等方面做了介绍,然后介绍了MiniGUI的体系结构和版本,以及移植的方法和过程,还详细阐述了应用程序开发中对MiniGUI函数库的使用和调用方法。同时一个简单实用的数据库的支持会为系统中的数据处理和组织提供方便,本项目中有六个字典和其它学习程序,对数据的处理也相当多,本文介绍了嵌入式数据库的知识和Sqlite数据库在项目中的使用和开发技术。最后,以系统中的单位换算模块为例详细介绍了应用程序的开发过程。本文的内容涉及了嵌入式Linux软件开发的主要技术,在ARM-Linux嵌入式开发领域具有很强的实践意义。
上传时间: 2013-06-15
上传用户:songrui