![基于ARM的嵌入式Linux终端的研究与实现_图文_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-1/20/d686d73a-dfe0-4254-916a-33579fc3ce3a/d686d73a-dfe0-4254-916a-33579fc3ce3a1.gif)
![基于ARM的嵌入式Linux终端的研究与实现_图文_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-1/20/d686d73a-dfe0-4254-916a-33579fc3ce3a/d686d73a-dfe0-4254-916a-33579fc3ce3a2.gif)
![基于ARM的嵌入式Linux终端的研究与实现_图文_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-1/20/d686d73a-dfe0-4254-916a-33579fc3ce3a/d686d73a-dfe0-4254-916a-33579fc3ce3a3.gif)
![基于ARM的嵌入式Linux终端的研究与实现_图文_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-1/20/d686d73a-dfe0-4254-916a-33579fc3ce3a/d686d73a-dfe0-4254-916a-33579fc3ce3a4.gif)
![基于ARM的嵌入式Linux终端的研究与实现_图文_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-1/20/d686d73a-dfe0-4254-916a-33579fc3ce3a/d686d73a-dfe0-4254-916a-33579fc3ce3a5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、电子科技大学硕士学位论文基于ARM的嵌入式Linux终端的研究与实现姓名:曹伟申请学位级别:硕士专业:信息与通信工程指导教师:杨万麟20090501摘要摘要嵌入式是将普通操作系统进行剪裁、修改,使之能在嵌入式计算机系统上运行的一种操作系统。由于兼有和嵌入式系统的优点,以及因其开放的资源特性,嵌入式系统有着巨大的市场前景和商业机会。在实际的应用系统中,对操作系统的实时性能也有一定的要求。比如在通信系统中,如果能对操作系统的实时性能进行优化,提高系统的响应速度,就可以用软件实现通信协议,降低对硬件的要求,用单芯片实现通信系统,从而降低产品成本。本论文的研究主要是基于硬件平台,该平台主要面向高性能的
2、用户产品开发。在此平台基础上,本文围绕着内核向平台移植中几个核心技术展开讨论:首先对嵌入式系统体系结构进行了归纳,并详细阐述了与系统移植相关的重要层。接着,给出了启动引导代码和内核初始化部分移植到硬件平台上的整个过程,解决了移植过程中所面临的任务和难题。最后,在对内核驱动模型深入掌握的基础上,深入探讨了界面的移植。本文最后讨论了一些当前嵌入式实时优化技术。分析了在成功移植内核基础上,优化的中断系统,降低系统的中断延时。关键词:,实时中断唧七髓,粤锄,:,;,;,:,独创性声明本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。据我所知,除了文中特,以标注和致谢的地方外,论
3、文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。签名:车叁:年月日关于论文使用授权的说明本学位论文作者完全了解电子科技大学有关保留、使用学位论文的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。(保密的学位论文在解密后应遵守此规定)签名:导师签名:日期:锄。辟朋三目第一章概述第一章概述随着现代计
4、算机技术的飞速发展和互联网技术的广泛应用,从时代过渡到了以个人数字助理、手持个人电脑和信息家电为代表的一体的后时代。嵌入式系统扮演了越来越重要的角色,被广泛应用于消费电子、通信设备、网络设备和工控仿真等领域。嵌入式系统是以嵌入式计算机为核心,面向用户、面向产品、面向应用,软硬件可裁减的,适用于对功能、可靠性、体积、成本、功耗等综合性能有严格要求的计算机系统。嵌入式系统与嵌入式操作系统密不可分。嵌入式系统主要由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,它是集软硬件于一体的可独立工作的“器件。嵌入式技术的发展嵌入式技术的发展,大致经历了四个阶段【】:第一阶段是以
5、单芯片为核心的可编程控制器形式的系统,同时具有与监测、伺服、指示设备相配合的功能。这种系统大部分应用于一些专业性极强的工业控制系统中,一般没有操作系统的支持,通过汇编语言编程对系统进行直接控制,运行结束后清除内存。这一阶段系统的主要特点是:系统结构和功能都相对单一,处理效率较低,存储容量较小,几乎没有用户接口。由于这种嵌入式系统使用简便、价格很低,以前在国内工业领域应用较为普遍,但是已经远远不能适应高效的、需要大容量存储介质的现代化工业控制和新兴的信息家电等领域的需求。第二阶段是以嵌入式为基础、以简单操作系统为核心的嵌入式系统。这一阶段的操作系统具有一定的兼容性和扩展性,但用户界面不够友好。第
6、三阶段是以嵌入式操作系统为标志的嵌入式系统。这一阶段系统的主要特点是:嵌入式操作系统能运行于各种不同类型的微处理器上,兼容性好;操作系统内核精小、效率高,并且具有高度的模块化和扩展性;具备文件和目录管理、设备支持、多任务、网络支持、图形窗口以及用户界面等功能;具有大量的应用程序接口(),开发应用程序简单;嵌入式应用软件丰富。第四阶段是以基于为标志的嵌入式系统,这是一个正在迅速发展的电子科技大学硕士学位论文阶段。目前大多数嵌入式系统还孤立于之外,但随着的发展以及技术与信息家电、工业控制技术等结合日益密切,嵌入式设备与的结合将代表着嵌入式技术的真正未来。嵌入式系统的发展对嵌入式操作系统提出了更高的
7、要求。因此,对嵌入式操作系统的结构、设计、用户界面等诸多方面进行深入研究,将有助于嵌入式系统的应用和发展。嵌入式操作系统特点传统的操作系统是计算机的一个大型的系统软件,是计算机的管家和指挥中心。通过它可以实现计算机自身硬件、软件的管理,提高计算机资源的利用率,合理地组织计算机的工作流程,增强计算机的处理能力,提供友好的人机界面,方便用户使用计算机。嵌入式操作系统()除了具有上述功能之外,还有其自身的特点:()可装卸性。开放性、可伸缩性的体系结构。()强实时性。实时性一般较强,可用于各种设备控制当中。()统一的接口。提供各种设备驱动接口。()操作方便、简单,提供友好的图形界面,追求易学易用。()
8、提供强大的网络功能,支持协议及其它协议,提供协议。支持及统一的访问层接口,为各种移动计算设备预留接口。()强稳定性,弱交互性。嵌入式系统一旦开始运行就不需要用户过多的干预,这就要负责系统管理的具有较强的稳定性。嵌入式操作系统的用户接口一般不提供操作命令,它通过系统的调用命令向用户程序提供服务。()固化代码。在嵌入式系统中,嵌入式操作系统和应用软件被固化在嵌入式系统计算机的中。辅助存储器在嵌入式系统中很少使用,因此,嵌入式操作系统的文件管理功能应该能够很容易地拆卸,而用各种内存文件系统。()更好的硬件适应性,也就是良好的移植性。第一章概述嵌入式操作系统分类非实时操作系统早期的嵌入式系统中没有操作
9、系统的概念,程序员编写嵌入式程序通常直接面对裸机及裸设备。在这种情况下,通常把嵌入式程序分成两部分,即前台程序和后台程序。前台程序通过中断来处理事件,其结构一般为无限循环;后台程序则掌管整个嵌入式系统软、硬件资源的分配、管理以及任务的调度,是一个系统管理调度程序。这就是通常所说的前后台系统。一般情况下,后台程序也叫任务级程序,前台程序也叫事件处理级程序。在程序运行时,后台程序检查每个任务是否具备运行条件,通过一定的调度算法来完成相应的操作。对于实时性要求特别严格的操作通常由中断来完成,仅在中断服务程序中标记事件的发生,不再做任何工作就退出中断,经过后台程序的调度,转由前台程序完成事件的处理,这
10、样就不会造成在中断服务程序中处理费时的事件而影响后续和其他中断。实际上,前后台系统的实时性比预计的要差。这是因为前后台系统认为所有的任务具有相同的优先级别,即是平等的,而且任务的执行又是通过队列排队,因而对那些实时性要求高的任务不可能立刻得到处理。另外,由于前台程序是一个无限循环的结构,一旦在这个循环体中正在处理的任务崩溃,使得整个任务队列中的其他任务得不到机会被处理,从而造成整个系统的崩溃。由于这类系统结构简单,几乎不需要的额外开销,因而在简单的嵌入式应用被广泛应用。实时操作系统实时操作系统乜是指计算的正确性不仅取决于程序的逻辑正确性,也取决于结果产生的时间,如果系统的时间约束条件得不到满足
11、,将会发生系统出错。实时系统根据其对于实时性要求的不同,可以分为软实时和硬实时两种类型。硬实时系统指系统要有确保的最坏情况下的服务时间,即对于时间的响应时间的截止期限是无论如何都必须得到满足。而其它所有的实时系统都称为软实时系统。软实时系统就是一个任务能够得到有确保的处理时间,到达系统的事件也能够在截止期限到来之前得到处理,但违反截止期限并不会带来致命的错误。电子科技大学硕士学位论文实时操作系统与通用操作系统的比较由于实时操作系统与通用操作系统的基本设计原则差别很大,因此在很多资源调度策略的选择上以及操作系统实现的方法上两者都具有较大的差异,这些差异主要体现在以下几点:()任务调度策略通用操作
12、系统中的任务调度策略一般采用基于优先级的抢占式调度策略。对于优先级相同的进程则采用时间片轮转调度方式,用户进程可以通过系统调用动态地调整自己的优先级,操作系统则可根据情况调整某些进程的优先级。实时操作系统中的任务调度策略目前使用最广泛的主要可分为两种:一种是静态表驱动方式,另一种是固态优先级抢占式调度方式。静态表驱动方式是指在系统运行前,工程师根据各任务的实时要求用手工的方式或在辅助工具的帮助下生成一张任务的运行时间表。在运行时,调度器只需要根据这张表在指定的时刻启动相应的任务即可。固定优先级抢占式调度方式则与通用操作系统中采用的基于优先级的调度方式基本类似。但在固定优先级抢占式调度方式中,进
13、程的优先级是固定不变的,并且该优先级是在运行前通过某种优先级分配策略来指定的。目前市场上大部分的实时操作系统采用的都是这种调度方式。()内存管理关于虚拟管理机制在上面已经进行了一些分析。为解决虚存给系统带来的不可预测性,实时操作系统一般采用如下两种方式:在原有虚存管理机制的基础上增加页面锁定功能。用户可将关键页面锁定在内存中,从而不会被程序将该页面交换出内存。采用静态内存划分的方式,为每个实时任务划分固定的内存区域。目前市场上的实时操作系统一般都采用第一种管理方式。()中断处理在通用操作系统中,大部分外部中断都是开启的,中断处理一般由设备驱动程序来完成。由于通用操作系统中的用户进程一般都没有实
14、时性要求,而中断处理程序直接跟硬件设备交互,可能有实时性要求,因此中断处理程序的优先级被设定为高于任何用户进程。但对于实时操作系统,采用上述的中断处理机制是不合适的。首先,外部中断是环境向实时操作系统进行的输入,它的频度是与环境变化的速率相关的,而第一章概述与实时操作系统无关。如果外部中断产生的频度不可预测,则一个实时任务在运行时被中断处理程序阻塞的时间开销也是不可预测的,从而使任务的实时性得不到保证;如果外部中断产生的频度中可预测的,一旦某外部中断产生的频度超出其预测值(如硬件故障产生的虚假中断信号或预测值本身有误)就可能会破坏整个系统的可预测性。其次,实时控制系统中的各用户进程一般都有实时
15、性要求,因此中断处理程序优先级高于所有用户进程的优先级分配方式是不合适的。一种较合适实时操作系统的中断处理方式为:除时钟中断外,屏蔽所有其它中断,中断处理程序变为周期性的轮询操作。另一种可行的方式是:对于采用轮询方式无法满足需求的外部事件,采用中断方式,其它时间仍然采用轮询方式。但此时中断处理程序与其它任务一样拥有优先级,调度器根据优先级对处于就绪态的任务和中断处理程序统一进行处理器调度。此外,为提高时钟中断响应时间的可预测性,实时操作系统应尽可能少地屏蔽中断。()共享资源的互斥访问通用操作系统一般采用信号量机制来解决共享资源的互斥访问问题。而对于实时操作系统,如果任务调度采用静态表驱动方式,
16、共享资源的互斥访问问题在生成运行时间表时已经考虑到了,因此在运行时无需再考虑。如果任务调度采用基于优先级的方式,则传统的信号量机制在系统运行时很容易造成优先级倒置问题,即当一个高优先级任务通过信号量机制访问共享资源时,该信号量已被一低优先级占有,而这个低优先级任务在访问共享资源时可能又被其它一些中等优先级的任务抢先,因此造成高优先级任务被许多具有较低优先级的任务阻塞,实时性难以得到保证。因此在实时操作系统中,往往对传统的信号量机制进行了一些扩展,引入了如优先级继承协议、优先级置顶协议等机制,从而较好地解决了优先级倒置的问题。()系统调用以及系统内部操作的时间开销进程通过系统调用得到操作系统提供
17、的服务。操作系统通过内部操作(加上下文切换等)来完成一些内部管理工作。为保证系统的可预测性,实时操作系统中的所有系统调用以及系统内部操作的时间开销都应是有界的,并且该界限是一个具体的量化数值。而在通用操作系统中对这些时间开销则未做如此限制。()系统的可重入性在通用操作系统中,核心态系统调用往往是不可重入的。当一个低优先级任务调用核心态系统调用时,在该时间段内到达的高优先级任务必须等到低优先级电子科技大学硕士学位论文的系统调用完成才能获得,这就降低了系统的可预测性。因此,实时操作系统中的核心态系统调用往往设计为可重入的。实时操作系统的评价指标由于实时操作系统在实时应用中的特殊地位,对其性能指标的
18、要求相对于通用操作系统来说要更加严格。评价一个实时操作系统,一般可以从进程管理、任务调度、内存管理、任务通信、内存开销、任务切换时间和最大中断禁止时间等技术指标来衡量其优劣。下面具体介绍这些性能指标:()任务调度算法实时操作系统的实时性和多任务能力在很大程度上取决于它的任务调度算法。任务调度算法可以有以下分类方式:从调度策略来讲,可分为优先级调度策略和时间片轮转调度策略;从调度方式上来讲,可分为可抢占式、不可抢占式以及选择可抢占式三种调度方式;从时间片来看,可分为固定与可变时间片轮转两种方式。()内存管理和最小内存开销在内存管理方面,可分为实模式与保护模式两种。在实时操作系统的设计过程中,最小
19、内存开销是一个较重要的指标。这是因为在工业控制领域中,出于降低成本的考虑,某些工控机的内存配置一般不大。而在有限的空间内不仅要装载实时操作系统,还要装载用户程序。这是实时操作系统与通用操作系统设计的明显区别之一。()确定性在实时操作系统中,在一定的条件下,系统调用运行的时间应该是可以预测的。但这并不意味着所有的系统调用都总是执行一个固定长度的时间,而不管系统的负载如何。但是,系统调用的最大执行时间可以确定。()任务切换时间当由于某种原因使一个任务退出运行时,实时操作系统要保存它的运行现场信息,插入相应队列,并依据一定的调度算法重新选择一个任务使之投入运行。这一过程所需时间称为任务切换时间。()
20、最大中断禁止时间当实时操作系统运行在内核态或执行某些系统调用时,是不会因为外部中断第一章概述的到来而中断执行的。只有当实时操作系统重新回到用户态时才会相应外部中断请求。这一过程所需的最大时间就是最大中断禁止时间。上述几项中,最大中断禁止时间和任务切换时间是评价实时操作系统性能最重要的两个技术指标。基于的嵌入式操作系统是一套由芬兰赫尔辛基大学()学生开发的系统内核()演化而成的电脑操作系统。年,(当时岁)为了学习需要,在平台上开发类似和(教育网的兼容操作系统)的操作系统,并在互联网上发布源代码。此后,吸引了大量的志愿开发者和黑客加入了内核的开发行列。年,版本的内核正式完成。如今,经过十多年的努力
21、,已被应用到多个领域,小至手机、等嵌入式系统,大致过千个主机的超级电脑及银行、太空实验等要求极高稳定性的高端系统。除内核之外,系统的其他部分主要是由自由软件基金会(及其领导的,简称),以及无数志愿开发者和黑客共同研发的成果。在年建立了项目,目的是开发一个兼容的操作系统。而的开发也是基于所提供的自由软件,并且加入大量的软件开发成果,故也称为。是一个成熟而稳定的网络操作系统。将植入嵌入式设备具有众多的优点。首先,的源代码是开放的,任何人都可以获取并修改,用之开发自己的产品。其次,是可以定制的,其系统内核最小只有约。一个带有中文系统和图形用户界面的核心程序也可以做到不足,并且同样稳定。另外,它和多数
22、系统兼容,应用程序的开发和移植相当容易。同时,由于具有良好的可移植性,人们已成功使运行于数百种硬件平台上。然而,并非专门为实时性应用而设计,因此如果想在对实时性要求较高的嵌入式系统中运行,就必须为之添加实时软件模块。这些模块运行的内核空间正是操作系统实时进程调度、中断处理和程序执行的部分。因此错误的代码可能会破坏操作系统,进而影响整个系统的可靠性和稳定性。尽管如此,的众多优点使得它在嵌入式领域获得了广泛的应用,并出现电子科技大学硕士学位论文了数量可观的嵌入式系统。其中有代表性的包括:陆、等。面临的问题移植难点分析在专用的嵌入式板卡上运行系统已经变得越来越流行,但是要将应用到嵌入式系统中,必须根
23、据目标板相应的硬件配置及嵌入式应用软件的需要,对和内核作一些必要的修改工作,整个移植过程从软硬件角度来看都存在难点。从软件的角度看,一个嵌入式系统的移植过程分为四个层次:():用来引导嵌入式操作系统。()嵌入式内核:适应于嵌入式系统硬件配置的定制内核。()文件系统:操作系统运行所必须的文件系统的支持。()嵌入式应用程序:基于特定嵌入式系统的专用应用程序。下面主要在移植过程中上两个层次展开讨论,并以移植过程的执行顺序为主轴分析难点:()体系结构了解微处理器模式、寄存器、指令系统是开展移植工作必不可少的前提。()启动程序移植本文使用的启动程序是,它支持处理器系列,虽然有关的大部分代码可以不用修改,
24、但仅支持串口下载文件映像,速度太慢。本文使用网卡芯片通过协议的方式来下载文件映像。以及通过接口来快速更新文件系统。()内核移植在新的硬件平台移植内核之前,最重要的事情是首先要清楚的了解内核源代码树的结构,这样才能知道需要修改和编写斯哪些部分,哪些文件。其次,为了使成功的启动,就必须对的启动过程有深入的了解。的启动过程第二阶段中函数是一个很重要的第一章概述操作,该函数的主要功能是初始化内存管理。内存管理是内核其它部分初始化运行所必须的基础,一些和体系结构相关的操作也是在这里进行的。()嵌入式图形化界面的移植选择合适的图形化界面做移植,保证运行时耗用系统资源小,上层接口与硬件无关,体积小,以及在某
25、些应用场合应具备实时性。实时性难点分析是从标准发展而来,而是通用操作系统,面向桌面系统,设计初衷与嵌入式领域完全不同。注重发展强大而稳定的内核,支持各种各样的外设,提供友好的用户体验。用户希望内核功能稳定而强大,能够处理各种各样的日常事务,作为一个通用的处理平台与其他数码设备互联,支持各种各样的接口和外设,希望交互式的任务响应时间尽可能短,在保证公平的前提下处理任务尽可能快,同时保证每个任务都不会处于饥饿状态。】设计了一套相应的机制来满足这些要求。例如,把任务划分成消耗型的任务和消耗型的任务两种。消耗型的任务需要频繁与外部交互,为了保证用户不感觉到延迟,这些任务具有较高的优先级。消耗型的任务需
26、要大量占用,除非被抢占,否则通常都一直不停地运行。消耗型的任务不需要长的时间片,但需要频繁调度;而消耗型任务则需要尽量降低运行频率,而将运行时间延长。根据以上需求实现了一种基于动态优先级的调度方法。开始时设置基本的优先级,允许调度程序根据需要来加、减优先级。如果一个进程在等待上耗费的时间多于其运行时间,那么该进程属于消耗型进程,它的优先级会被动态提高。反之,如果一个进程的全部时间片立即被耗尽,那么该进程属于消耗型进程,他的优先级会被动态地降低。在调度算法的实现上,中的每个任务有四个与调度相关的参数,它们是、()、。调度程序根据这四个参数进行进程调度。的普通任务采用调度策略,在每一个调度周期中,
27、一个进程的和值的大小影响了当前时刻应该调度哪一个进程来执行,其中是一个固定不变的值,在进程创建时就已经确定,它代表了该进程的优先级,也代表这该进程在每一个调度周期中能够得到的时间片的多少;是一个动态变化的值,它反映了一个进程在当前的调度周期中还剩下的时电子科技大学硕士学位论文间片。在每一个调度周期的开始,的值被赋给,然后每次该进程被调度执行时,值都减少。当值为零时,该进程用完自己在本调度周期中的时间片,不再参与本调度周期的进程调度。当所有进程的时间片都用完时,一个调度周期结束,然后周而复始。对于实时进程来说,它们使用的是基于实时优先级的优先级调度策略,但根据不同的调度策略,同一实时优先级的进程
28、之间的调度方法有所不同:():不同的进程根据静态优先级进行排队,然后在同一优先级的队列中,谁先准备好运行就先调度谁,并且正在运行的进程不会被终止直到以下情况发生:被有更高优先级的进程所强占;自己因为资源请求而阻塞;自己主动放弃。():这种调度策略跟上面的一样,除了它给每个进程分配一个时间片,时间片到了正在执行的进程就放弃执行。由此可以看出,出于设计思路上的原因,虽然也有针对实时任务的优化,但它本身并不关注实时问题,它不能保证每个任务在指定的时间完成,本质上缺乏实时调度机制和算法。在某些嵌入式系统中,硬件资源有限,实时性要求较高,对功耗要求很低。受客观条件的限制,这些系统既希望以较小的成本实现强
29、大的功能,又不太满足于的实时表现,希望改善的实时性。因此,需要对进行改进和优化,才能满足特定的要求。章节安排第一章:概述,介绍了嵌入式系统、嵌入式操作系统和实时操作系统的概念,阐述了嵌入式的历史和发展状况。最后指出在某些嵌入式领域应用还存在的不足,指明本文研究的方向和意义。第二章:简要介绍了基于核的硬件平台和交叉环境的搭建。第三章:研究的源代码的结构,并给出内存中的具体框图。并对的功能实现了扩展,使其能通过以太网口对内核映像下载的支持及对进行读写的功能。从而为将来调试实时性内核减少开发时间。第四章:详细分析了移植的要点,并对目前较新的版本的第一章概述内核源代码进行了分析,移植。第五章:分析比较
30、了当前几种流行的优缺点,决定移植图形,并为后来用做负载测试的做准备。并在之前建立起来的内核的基础上,通过这个接口来快速加载文件系统,从而缩短开发时间。第六章:详尽介绍和分析了目前世界上改善嵌入式实时性的理论和技术。利用成功移植的,对其中断实时性进行改进。并编写测试程序,证明了该方法在不影响系统吞吐量的情况下,能大大地降低中断延时,提高系统的实时性。第七章:对全文进行了总结,并对嵌入式技术的未来发展方向进行了展望。电子科技大学硕士学位论文第二章嵌入式硬件平台构成和软件开发环境搭建进行嵌入式操作系统及驱动程序的移植,需要对目标硬件平台和软件结构有深入的理解。本章介绍嵌入式硬件平台构成和嵌入式软件开
31、发环境。嵌入式硬件平台¥处理器简介公司推出的位处理器醛叫,为手持设备和一般应用提供了低价格、低功耗、高性能的小型微控制器解决方案。为了降低整个系统的成本,提供了以下的内部设备:分开的和,具有虚拟存储器管理单元,控制器(支持),通道位和触摸屏接口,支持系统引导,通道,通道,通道定时器,端口,接口,主机,设备,主卡卡接口,通道的以及内部时钟倍频器等等,的结构框图如图,所示。图¥的结构框图第二章嵌入式硬件平台购成和软件开发环境搭建牟冷夺令醛夺令乍令仁冷图¥的结构框图胀砷,删)咖()存储控制器、;昌昌皇骂¥处理器内部集成了存储控制器,它可以为片外存储器访问提供必要的控制信号,它主要包括以下特点:)支持
32、大、小端模式(通过软件选择)。)地址空间:包含个地址空间,每个地址空间的大小为字节,总共有字节的地址空间。)除以外的所有地址空间都可以通过编程设置为位、位或位访问。可以设置为位、位访问。)个地址空间中,个地址空间可以用于、等存储器,个用于、等存储器。)个地址空间的起始地址及空间大小是固定的。)个地址空间的起始地址和空间大小是可变的。)所有存储器空间的访问周期都可以通过编程配置。)提供外部扩展总线的等待周期。电子科技大学硕士学位论文)支持自动刷新和掉电模式。()控制器内部集成了控制器,可以很方便地去控制各种类型的屏,如和叮屏。()控制器为了支持启动,¥内建了的缓存“一。当启动时,最初的字节将被读
33、),然后开始执行启动代码。通常启动代码会把中的内容复制到中以便执行主代码。使用硬件的,中的数据的有效性将会得到检测。()怕端口有个多功能工端口,可软件配置其特殊功能。()主控制器内嵌个主控制器,有以下特点:)兼容。)兼容。)两个。)支持低速和全速设备。硬件体系结构本文采用的硬件平台由底板和核心板组成,核心板上使用了公司的处理器,并集成了的,存储设备以及核心电压模块、实时时钟、系统跳线、系统时钟、核心板接口等;底板上提供了丰富的外设接口:以太网卡接口、个与机通信的、个接口、触摸屏接口、的存储芯片、接口、接口及接口等。核心板和底板配合即构成了一个完整的硬件系统,它能够装载和运行嵌入式操作系统。也可
34、以运行基于核的其它操作系统。其硬件平台体系结构如图所示。第二章嵌入式硬件平台购成和软件开发环境搭建队卜卜一。卜卜一卜一卜卜卜一处理器一一一一卜一一。一图硬件平台体系结构嵌入式软件开发环境搭建交叉编译,就是在一个平台上生成另一个平台上的可执行代码。这里需要注意的是平台,实际上包含两个概念:体系结构()和操作系统()。一般而言,需要交叉编译的原因有两个:首先,在项目的起始阶段,目的平台尚未建立,因此需要做交叉编译,以生成我们所需要的盯(启动引导代码)以及操作系统核心;其次,当目的平台上资源的限制,当我们编译大型程序时,依然可能需要用到交叉编译。建立交叉编译工具链编译工具链,以下是基于译过程包括:的
35、交叉编译环境的建立过程。整个编()下载源文件、补丁和建立编译的目录。首先,选定软件的版本号。选择软件版本号时,先看看源代码中的文件。那里列举了该版本的编译时所需要的和的版本号。,和可以从的站点邱:或它的镜像去下载。在编译时,要用到内核中的目录的内核头文件。如果电子科技大学硕士学位论文发现有变量没有定义而导致编译失败,就需要改变内核版本号。如果没有完全的把握保证以正确的方式修改内核,就不要动内核,而是把所用的内核的版本号降低或升高,来适应。同样,的版本号也有类似的问题发生,处理方法与上面同理。其次,需要建立几个用来工作的目录。分别建立三个子目录、。用来存放下载的、和的源代码以及用来编译这些源代码
36、的目录。用来存放内核源代码和内核补丁。用来存放编译好的交叉编译工具和库文件。接着,需要输出环境变量。妊¥也¥江¥盯¥:¥蛆注:环境变量也可以定义在文件中,这样或换了控制台时,就不用老是这些变量了。最后,建立编译目录。为了把源码和编译时生成的文件分开,一般的编译工作不在源码目录中进行,要另建一个目录来专门用于编译。¥:编译的目录:编译启动部分的目录:编译的目录:编译全部的目录:放的补丁的目录()建立内核头文件。首先,把从下载的内核源代码放入¥讯目录。第二章嵌入式硬件平台购成和软件开发环境搭建其次,给内核打上补丁。然后,编译内核生成头文件配置完退出并保存,检查一下的内核目录中的和文件是不是生成了,
37、这是编译时要用到的,和文件的存在,也说明了生成了正确的头文件。接着,要建立几个正确的链接。锄最后,把内核头文件拷贝过来用。¥,!¥剐己抑¥诹锄蛔喂¥瓜()建立二进制工具()。是一些二进制工具的集合,其中包含了常用到的和。:将要找的地址转成文件和行号,它要使用信息。:产生、修改和解开一个存档文件。:的汇编器。卅:和中有一种重载函数,所用的重载函数最后会被编译转化成汇编的标号,卅就是实现这种反向的转化,根据标号得到函数名。:汇编器预编译器。:的连接器。姗:列出目标文件的符号和对应的地址。:将某种格式的目标文件转化成另外格式的目标文件。:显示目标文件的信息。:为一个存档文件产生个索引,并将这个索引存
38、入存档文件中。:显示格式的目标文件的信息。:显示目标文件各个节的大小和目标文件的大小。电子科技大学硕士学位论文:打印出目标文件中可以打印的字符串,有个默认的长度,为。:剥掉目标文件的所有的符号信息。()建立初始编译器(:的语言编译器。:将的源码转化为的形式,去掉函数原型中的参数类型。:的的预编译器。:的辅助测试工具,可以用它来分析和优化程序。()建立库()。配置完后就可以编译和安装。所需要注意的是,()。)改为:(),这样连接程序就会在所在的目录查找它需要的库,因为主机目录已经装了一个相同名字的库,一个为编译可以在宿主机上运行的程序的库,而不是用于交叉编译。()建立全套编译器()。在建立的时候
39、,我们只支持了。到这里,我们就要建立全套编译器,来支持和。什:的卅编译器。:与相反,将的源码转化为的形式,函数原型中加入参数类型。:的卅编译器。通过以上步骤,我们建立了用来编译的交叉工具链,用来编译内核的交叉工具链,和用来编译的交叉工具链。验证交叉编译工具链通过以上方式建立的工具链,还需要经过验证方可使用。下面是一个简单的程序()(”);第二章嵌入式硬件平台购成和软件开发环境搭建)使用我们编译的工具链进行编译,结果如下:输出为:,(),建立交叉编译环境,其实就是要建立一套编译器、连接器和库等组成的开发环境。配置主机的服务在目标系统的开发过程中,内核是从主机下载到目标系统上解压并运行的,因此主机必须提供这种文件传输服务。是一种简单的文件传输协议,多用于嵌入式系统应用中,因此主机需要配置服务,供下载内核时使用。()修改配置参数:开服务的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年马拉松比赛合作协议书
- 人教版地理八年级下册6.4《祖国的首都-北京》听课评课记录2
- 【部编版】七年级历史上册 《中国早期人类的代表-北京人》公开课听课评课记录
- 猪栏承包协议书(2篇)
- 生产工人中介合同(2篇)
- 人教版数学九年级上册《构建知识体系级习题训练》听评课记录1
- 北师大版道德与法治九年级上册4.1《经济发展新阶段》听课评课记录
- 八年级思想读本《5.1奉法者强则国强》听课评课记录
- 五年级上册数学听评课记录《4.2 认识底和高》(3)-北师大版
- 湘教版数学八年级上册2.3《等腰(边)三角形的判定》听评课记录
- 城市隧道工程施工质量验收规范
- 2025年湖南高速铁路职业技术学院高职单招高职单招英语2016-2024年参考题库含答案解析
- 五 100以内的笔算加、减法2.笔算减法 第1课时 笔算减法课件2024-2025人教版一年级数学下册
- 2025江苏太仓水务集团招聘18人高频重点提升(共500题)附带答案详解
- 2024-2025学年人教新版高二(上)英语寒假作业(五)
- 2025年八省联考陕西高考生物试卷真题答案详解(精校打印)
- 2025脱贫攻坚工作计划
- 借款人解除合同通知书(2024年版)
- 《血小板及其功能》课件
- 江苏省泰州市靖江市2024届九年级下学期中考一模数学试卷(含答案)
- 沐足店长合同范例
评论
0/150
提交评论