(电力电子与电力传动专业论文)基于arm9的嵌入式linux开发平台构建与boa的实现.pdf_第1页
(电力电子与电力传动专业论文)基于arm9的嵌入式linux开发平台构建与boa的实现.pdf_第2页
(电力电子与电力传动专业论文)基于arm9的嵌入式linux开发平台构建与boa的实现.pdf_第3页
(电力电子与电力传动专业论文)基于arm9的嵌入式linux开发平台构建与boa的实现.pdf_第4页
(电力电子与电力传动专业论文)基于arm9的嵌入式linux开发平台构建与boa的实现.pdf_第5页
已阅读5页,还剩72页未读 继续免费阅读

(电力电子与电力传动专业论文)基于arm9的嵌入式linux开发平台构建与boa的实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

西南交通大学硕士研究生学位论文第1 i 页 a b s tr a c t a l o n gw i t ht h ef a s td e v e l o p m e n to fc o m p u t e ra n dc o m m u n i c a t i o n s t e c h n o l o g y ,a n dt h es y n c r e t is mo f3 c ( c o m p u t e r ,c o m m u n i c a t i o n c o n s u m e e l e c t r i c ) ,t h ee m b e d d e ds y s t e mh a sm e r g e di n t oa l m o s te v e r yf i e l d a r m ( a d v a n c e dr i s cm a c h i n e ) i si nt h el e a d i n gp o s i t i o ni nt h em a r k e to f 3 2b i t se m b e d d e dm i c r op r o c e s s o r ,s oi t si m p o r t a n tt ou n d e r s t a n dt h e d e v e l o p m e n tt r e n do f a r mt e c h n o l o g y l i n u xi sp o p u l a ri ne m b e d d e d s y s t e me n g i n e e r sa m o n ge m b e d d e do p e r a t i o ns y s t e m sb e c a u s e o fi t s a d v a n t a g e ss u c ha so p e ns o u r c e ,s i m p li f i c a t i o no ft h ek e r n e l ,e a s yt o m i g r a t e ,a n ds oo n a n di fe m b e d d e de q u i p m e n tc a nb ec o n n e c t e di n t o n e t w o r k ,t h ei n f o r m a t i o np r o c e s s i n ga b i1i t yc a nb es t r e n g t h e n e d ,s o i ti sn e c e s s a r yt ob u i l dw e bs e r v e rf o ro u re m b e d d e ds y s t e m b a s e do nt h ea b o v eb a c k g r o u n d ,t h em a i np u r p o s eo ft h i sa r t i c l ei s s t u d y i n gh o wt ob u i l de m b e d d e dl i n u xd e v e l o p m e n tp l a t f o r mb a s e do na r m , a n df o ll o w i n gt h i ss t e p ,ist od e v e l o pn e t w o r ka p p li c a t i o np r o g r a m t h ea r t i c l ea n a t o m i e dt h es t r u c t u r eo fa r m 9 ,i n t r o d u c e dt h e c h a r a c t e ra n dr e s o u r c e so ft a r g e tb o a r do f $ 3 c 2 4 1 0b a s e do na r m 9 :i t d e s c r i b e dr e l a t e dk n o w l e d g eo fe m b e d d e do p e r a t i o ns y s t e m sa n db a s i c m e t h o d so fl i n u xm i g r a t i o n :t h ea r t i c l eo u t li n e dt h eb u il d i n gp r o c e s s o fd e v e l o p m e n te n v i r o n m e n t ,m a i n l yi n c l u d i n gb u il d i n gt h ea r m l i n u x t o o l si nl i n u xo p e r a t i o ns y s t e m so fp c :t h e nt h ea r t i c l ed i s c u s s e dt h e b u il d i n gp r o c e s so fe m b e d d e dl i n u xd e v e l o p m e n tp a t f o r m ,i n c l u d i n gt h e a n a l y s i sa n dm ig r a t i o no fb o o t l o a d e r ,t h es t r u c t u r ea n a l y s is ,c o d e m o d i f i e s ,k e r n e lc u t o f f ,k e r n e lc o n f i g u r ea n dm i g r a t i o no fl i n u x 2 6 , t h em i g r a t i o no fn e t w o r kc a r dd r i v e r ,a n dt h eb u i l d i n gp r o c e s so fr o o t f il es y s t e m f o l l o w i n gt h em e t h o d sa n dt e c h n i q u e sp r o v i d e di nt h i s a r t i c l e ,a na r m l i n u xd e v e l o p m e n tp l a t f o r mw i11 b e c o n v e n i e n t l y c o n s t r u c t e d a tt h ee n do ft h i sa r t i c l e ,n e t w o r ka p p li c a t i o np r o g r a mb a s e do n t h ep l a t f o r me s t a b l i s h e db e f o r ew a sp r e s e n t e d ,t h a t sb u i l d i n gw e b s e r v e rb o a ,a n dd e v e l o p i n gt h ea p p li c a t i o nb a s e do nb o a f i n a ll y ,t h e f u n c t i o n so fb r o w s i n gi n t e r a c t i r ew e bp a g e sa n dr e m o t em o n i t o r i n gw e r e 西南交通大学硕士研究生学位论文第1 i i 页 r e a l i z e di nw e bs e r v e ro ft a r g e tb o a r dt h r o u g hi f o fp c k e y w o r d s :e m b e d d e ds y s t e m ;a r m :l i n u x :m i g r a t e = w e bs e r v e r 西南交通大学 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定, 同意学校保留并向国家有关部门或机构送交论文的复印件和电子 版,允许论文被查阅和借阅。本人授权西南交通大学可以将本论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印 或扫描等复印手段保存和汇编本学位论文。 本学位论文属于 1 保密口,在年解密后适用本授权书; 2 不保密曲,使用本授权书。 ( 请在以上方框内打“4 ) 学位论文作者签名:薹锚哂 1 35 1 :粼札、 指导老师签名: 日期: 西南交通大学学位论文创新性声明 本人郑重声明:所呈交的学位论文,是在导师指导下独立进行研究 工作所得的成果。除文中已经注明引用的内容外,本论文不包含任何其 他个人或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的 个人和集体,均已在文中作了明确的说明。本人完全意识到本声明的法 律结果由本人承担。 本学位论文的主要创新点如下: 1 、建立基于a r m 9 的嵌入式l i n u x 开发平台。包括开发环境的搭建, 对b o o t l o a d e r 的分析和移植,l i n u x 2 6 内核的结构分析、代码修改以 及内核裁减、配置和移植,网卡驱动程序的移植,以及根文件系统的创 建; 2 、网络应用程序的设计。即设计、移植w e b 服务器b o a ,并在其上 进行应用程序开发,以实现动态交互网页和远程监控功能。 西南交通大学硕士研究生学位论文第1 页 1 1 嵌入式系统概述 第1 章绪论 随着计算机技术、通信技术的飞速发展和3 c ( 计算机、通信、消费电子) 的融合,嵌入式系统已经渗透到各个领域。 嵌入式系统是指以应用为中心,以计算机技术为基础,软硬件可裁减,适 应应用系统对功能、可靠性、成本、体积和功耗严格要求的专用计算机系统。 它并不是最近出现的新技术,是随着微电子技术和计算机技术的发展,微 控制芯片功能越来越强大,而嵌入微控制芯片的设备和系统越来越多,从而 使这种技术越来越引人注目。 1 、嵌入式系统的特点。从上文对嵌入式系统所作的定义可以得出嵌入式 系统的几个重要特征: ( 1 ) 嵌入式系统通常是面向特定应用的。嵌入式系统的专用性很强,其 中的软件系统和硬件的结合非常紧密,一般需要针对硬件进行系统的移植。 同时针对不同的任务,往往需要对系统进行较大更改,程序的编译下载要和 系统相结合,这种修改和通用软件的“升级 是完全不同的概念。 ( 2 ) 系统精简。嵌入式系统一般没有系统软件和应用软件的明显区分, 不要求其功能设计及实现上过于复杂,这样一方面利于控制系统成本,同时 也利于实现系统安全。 ( 3 ) 高实时性嵌入式操作系统。这是嵌入式软件的基本要求,而且软件 要求固态存储,以提高速度。软件代码要求高质量和高可靠性、实时性。 ( 4 ) 为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化 在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中。 ( 5 ) 嵌入式软件开发走向标准化。为了合理地调度多任务,利用系统资 源、系统函数以及和专家库函数接口,用户必须自行选配r t o s ( r e a lt i m e o p e r a t i n gs y s t e m ) 开发平台,这样才能保证程序执行的实时性、可靠性,并 减少开发时间,保障软件质量。 ( 6 ) 嵌入式系统本身不具备自主开发能力,即使设计完成以后用户通常 也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进 行开发。开发时往往有宿主机和目标机的概念,宿主机用于程序的开发,目 标机作为最后的执行机,开发时需要交替结合进行。 西南交通大学硕士研究生学位论文第2 页 2 、嵌入式系统的组成。嵌入式系统包括硬件和软件两部分。图卜1 为嵌 入式系统的组成框图。 i :二! 至二二 i 专有硬件( 嵌入式处理器、存储器、外设等) i ij 图卜1 嵌入式系统的组成框图 ( 1 ) 专有硬件包括嵌入式处理器、存储器及外围设备等。其核心是嵌入 式处理器。嵌入式处理器一般具备以下4 个特点: 对实时多任务有很强的支持能力,能完成多任务并且有较短的中断响 应时间,从而使内部的代码和实时内核的执行时间减少到最低限度; 具有功能很强的存储区保护功能。这是由于嵌入式系统的软件结构已 模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计 强大的存储区保护功能,同时也有利于软件诊断; 可扩展的处理器结构,以能最迅速地开发出满足应用的最高性能的嵌 入式微处理器为准; 嵌入式微处理器必须功耗很低,尤其是用于便携式的无线及移动的计 算和通信设备,靠电池供电的嵌入式系统更是如此。 ( 2 ) 软件是实现嵌入式系统功能的关键,包括操作系统软件和应用程序。 有时设计人员把这两种软件组合在一起。应用程序控制着系统的运作和行为: 而操作系统控制着应用程序编程与硬件的交互作用。嵌入式系统软件的特征 如下: 软件要求固态化存储。为了提高执行速度和系统可靠性,嵌入式系统 中的软件一般固化在存储器芯片或单片机本身中,而不存贮于磁盘等 载体中。 软件代码具有高质量、高可靠性。尽管半导体技术的发展使处理器速 度不断提高,片上存储器容量不断增加,但在大多数应用中,存储空 间仍然是宝贵的,还存在实时性的要求。为此要求程序编写和编译工 西南交通大学硕士研究生学位论文第3 页 具的质量要高,以减少程序二进制代码长度,提高执行速度。 系统软件( o s ) 的高实时性是基本要求。在多任务嵌入式系统中,对重 要性各不相同的任务进行统筹兼顾的合理调度是保证每个任务及时 执行的关键,单纯通过提高处理器速度是无法完成和没有效率的,这 种任务调度只能由优化编写的系统软件来完成。 3 、嵌入式系统开发与调试 由于开发平台受到存储容量和功能的限制,嵌入式应用的开发和调试需要 借助一套专门的开发工具和软硬件环境来完成。硬件环境包括:具有文件传送 功能的宿主机,具有编译调试功能的仿真器;软件包括:操作系统软件、编译 调试软件、文件传输软件等。嵌入式应用系统设计完成以后,一般不具备在 其上进行进一步开发的能力,如果要进行功能的扩充和改进,必须在宿主机 上进行重新设计。 嵌入式应用软件开发可以通过两种途径进行。一种是直接利用汇编和嵌入 式高级语言对硬件编程。由于嵌入式程序具有直接在c p u 芯片上运行的能力, 这种程序只需要在其开发调试仿真器环境下编译运行通过后直接下载到r o m 即可。第二种是为了利用c p u 的强大功能,便于对硬件和软件的管理,引入 嵌入式操作系统和相应的编译环境,由操作系统来管理软硬件资源( 存储管 理,文件管理,进程管理,中断管理等) 。由于操作系统对高级语言( c 语言) 的支持和其强大的网络功能,我们可以进行高级语言的编程,屏蔽对低层的 直接访问,使得具有复杂功能的应用程序的编写和实现变得更加容易和方便。 1 2 国内外发展现状 嵌入式系统的发展经历了一个从简单的处理器到单板机、单片机,再到加 载了操作系统能够实现网络通信等强大功能的开发板的过程。 作为嵌入式系统的核心,嵌入式微处理器目前大多采用8 位或1 6 位的微 处理器。但由于这些微处理器系统的运行速度、寻址能力和功耗等问题,难 以满足相对较复杂的嵌入式应用场合。 在嵌入式系统应用领域,a r m 既可以认为是一个公司的名字,也可以认为 是对一类微处理器的统称,还可以认为是一种技术的名字。a r m 公司自1 9 9 0 年正式成立以来,在3 2 位的r i s c ( r e d u c e di n s t r u c t i o ns e tc o m p u t e r ) c p u 开发领域不断取得突破。由于a r m 公司自成立以来,一直以i p ( i n t e l l i g e n c e p r o p e r t y ) 提供者的身份向各大半导体制造商出售知识产权,其设计的芯片具 西南交通大学硕士研究生学位论文第4 页 有功耗低、成本低等显著优势,因此获得众多的半导体厂家和整机厂商的大 力支持,在3 2 位嵌入式应用领域获得了巨大的成功,目前已经占有7 5 以上 的3 2 位r i s c 嵌入式产品市场。在低功耗、低成本的嵌入式应用领域确立了 市场领导地位。 专门用于各种嵌入式系统的操作系统也陆续出现,如v x w o r k s 、p s o s 、 w i n d o w sc e 、u c o s - i i ,特别是专为p c 机而设计的l i n u x 也逐步进入嵌入式 行列,并且得到了较大的发展。随着这些操作系统的应用和技术的成熟,掌 上电脑p d a 、手持p c 机、机顶盒、智能电话、智能终端、具有6 p s 导航系统 的汽车小型电脑系统出现在了应用领域。目前嵌入式系统已经广泛地渗透到 科学研究、工程设计、军事技术、商业文化艺术、娱乐业以及人们日常生活 等方方面面。 国外嵌入式系统的发展起步较早,较为成熟,在处理器生产和研制等方面 各大厂商都有自己的系列产品,并且在不断地根据市场需求,研制出新的产 品。在嵌入式操作系统和产品方面,8 0 年代就有了完成特定功能的商用嵌入 式操作系统,而嵌入式产品也不断问世。现在,设计、生产a r m 公司芯片的 国际大公司已经超过5 0 多家。 国际上有数以百计的嵌入式l i n u x 研究和商业开发,例如美国h a r d h a t 公 司,就专门研究l i n u x 嵌入式操作系统的基本系统,芬兰的一家公司t r o l lt e c h 就专注于做嵌入式系统的操作界面q t ,o p e r a 公司也将自己的注意力集中到嵌 入操作系统中的浏览器技术等。 在国内,这方面的发展也有了较大进展。博利思软件公司在这方面做了一 些有益的尝试,并于最近推出了一个嵌入式l i n u x 操作系统p o c k e t i x 预览版。 p o c k e t i x 是一个内核基于标准l i n u x 的嵌入式操作系统,由一个体积很小的内 核及一些可以根据需要进行定制的系统模块组成。其系统占用空间小、启动 速度快、稳定性好,并具有多任务、多线程的特征。与传统的嵌入式系统相 比,p o c k e t l x 采用标准的l i n u x 结构,所有运行在标准l i n u x 下的应用软件都 可平滑移植到该系统上。 随着w e b 技术的发展和应用,越来越多的网络通信设备甚至测试仪器都已 经实现内置的嵌入式w e b j 艮务器,用户和操作人员可以直接使用w e b 浏览器通 过设备的以太网口或者其他网络端口来远程访问内置w e b j 艮务器的专用网页, 从而实现对设备运行状态的观测和运行参数的配置等功能。一些商业性的嵌 入式w e b 服务器软件也已经应用于嵌入式系统开发。 基于以上嵌入式系统在未来发展中的地位,尽快开展对嵌入式系统主流芯 片应用的研究和对源代码开放的操作系统的研究,是十分必要的。 西南交通大学硕士研究生学位论文第5 页 1 3 研究意义及主要研究内容 目前嵌入式应用软件的开发已不再是面向简单m c u 的单纯硬件开发,而是 需要强大的开发工具和操作系统的支持。为了满足嵌入式产品应用功能的升 级,设计师们一方面采用更强大的嵌入式处理器,如3 2 位、6 4 位r i s c 芯片 或信号处理器d s p 增强处理能力;同时还要采用实时多任务编程技术和交叉 开发工具技术来控制开发的复杂性、简化应用程序设计、保障软件质量和缩 短开发周期。 在3 2 位嵌入式微处理器市场上,基于a r m ( a d v a n c e dr i s cm a c h i n e ) 内核 的微处理器在市场上处于绝对的领导地位,因此追踪a r m 技术的发展趋势, 学习s o c 的系统构建显得尤为重要。 s 3 c 2 4 1 0 是三星公司基于a p 3 t 9 内核的一款高性能s o c 芯片,片上集成了 肼u 、数据和指令c a c h e 、l c d 、u s b 控制器以及丰富的外部接口。高达2 0 3 m h z 的工作频率使得c p u 能够完成基于w i n c e 或l i n u x 操作系统的复杂的信息处 理,例如音视频的解码及图形处理等。它的低功耗、低价格、精简和出色的 全静态设计特别适用于对成本和功耗敏感的应用。 在嵌入式操作系统的选择上,l i n u x 一直因其内核精简、代码开放、易于 移植等特点受到广大嵌入式系统工程师的青睐。目前l i n u x 能够支持x 8 6 、 a r m 、m i p s 等多种c p u 的体系结构,而且从l i n u x 2 6 1 0 开始,l i n u x 将对 $ 3 c 2 4 1 0 的支持写入了内核。这样就使得a r m 开发者只要根据外设资源配置情 况对内核进行简单的修改和配置,就可以使之运行在自己的开发板上,再加 上启动程序和根文件系统就可以搭建起一个嵌入式l i n u x 的应用开发平台, 并在此平台上开发、调试、运行基于a r m 的应用程序。 另外,因特网技术的成熟,带宽的拓展,为嵌入式设备与i n t e r n e t 的结合 创造了有利条件。嵌入式系统接入i n t e r n e t 后将使远程监测、远程控制、远 程诊断和远程维护变得非常容易。嵌入式设备的网络互联已成为发展的必然 趋势,因此,嵌入式i n t e r n e t 技术有着非常广阔的应用前景。嵌入式系统一 旦连接到网络中,其所能提供的信息和获得的信息都将成倍增加,为了更方 便地通过网络向外提供信息,必须为系统构建w e b 服务器。 正是基于以上背景,本课题选择了使用$ 3 c 2 4 1 0c p u ( a r m 9 内核) 的开发板, 进行l i n u x 的移植工作,并在搭建的软硬件平台上设计实现了嵌入式w e b 服 务器b o a 。 本论文的选题来源于实验室建设。根据目前国内外对嵌入式的研究和开 西南交通大学硕士研究生学位论文第6 页 发,结合实验室当前的实验条件,本课题采用了深圳市英蓓特信息技术有限 公司“$ 3 c e b 2 4 1 0 教学实验平台 作为本研究的开发板,处理器采用的是a r m 9 系列的$ 3 c 2 4 1 0 芯片。其采用a r m 9 2 0 t 内核,具有尺寸小、低功耗和高性能 的特点。 根据具体的研究情况,本论文的主要研究内容如下: l 、学习a r m 9 体系结构,熟悉$ 3 c e b 2 4 1 0 教学实验平台; 2 、学习l i n u x 操作系统,熟悉它的体系结构和工作机制,了解其在a r m 上的移植过程,确定移植的基本方法; 3 、建立移植所必需的交叉编译开发环境,主要包括编译、建立a r m - 1 i n u x - 交叉编译工具等; 4 、移植l i n u x 操作系统。包括对b o o t l o a d e r 的分析和移植,l i n u x 2 6 内核的结构分析、代码修改以及内核裁减、配置和移植,网卡驱动程序的移 植,以及根文件系统的创建; 5 、应用程序的设计。即设计、移植w e b 服务器b o a ,并在其上进行应用 程序开发,以实现动态网页交互功能。 西南交通大学硕士研究生学位论文第7 页 第2 章硬件平台 a r m 是基于精简指令集的一种计算机体系结构实现,a r m 系列的处理器当 前有a r m 7 、a r m 9 、a r m i o 以及s t r o n ga r m 等多个产品,此外a r m 公司的合作 伙伴,如i n t e l 也提供基于x s c a l e 微体系结构的相关处理器产品。所有的a r m 处理器都共享a r m 通用的基础体系结构,所以开发者在不同的a r m 处理器上 做操作系统移植时,将可以节省工作量,这无疑将大大降低软件开发成本。 2 1a r m 9 硬件平台概述 t r m 9 2 0 t 处理器内核采用哈佛结构,5 级流水线( 包括取指、分析、执行、 访存、写存) ;分立的指令和数据c a c h e 都是1 6 k b ,8 个字的数据总线;采用 增强的a r m 体系v 4 的m m u ,以提供对指令和数据地址的翻译和访问许可检查; 支持a r m 调试结构,包含了辅助软件和硬件调试的逻辑电路;还具有协处理 器支持。 1 、a r m 9 2 0 t 处理器的编程模型。a r m 9 2 0 t 处理器的编程模型包括a r m 9 t d m i 内核以及以下增加和更改。 ( 1 ) a r m 9 2 0 t 处理器包含了两个协处理器:c p l 4 ,允许软件访问调试通 信通道;c p l 5 ,系统控制协处理器,提供附加的寄存器,用来配置和控制 a r m 9 2 0 t 的c a c h e 、m m u 、保护系统、时钟模式和其他系统操作,可以使用m c r m 和r c 访问c p l 5 定义的寄存器。 ( 2 ) 提供了外部协处理器界面,允许在同一片上布置相关的协处理器, 例如,一个浮点运算单元。可以用适当的协处理器指令访问任何一个挂接在 外部协处理器界面上的协处理器的寄存器并进行操作。 ( 3 ) 取指,读写数据的内存访问可以放到c a c h e 中或缓冲器( b u f f e r ) 中。 ( 4 ) 内存管理单元( 哪) 页表常驻主存,用来描述虚存到物理内存的转换、 访问许可、c a c h e 和写缓冲配置等。页表由操作系统软件所创建,任何时候, 一个存储访问导致t l b 丢失时,a r m 9 2 0 tm m u 硬件都会自动访问页表。 ( 5 ) a r m 9 2 0 t 有一个调试界面接口,允许使用硬件和软件调试工具实时 跟踪指令和数据。 2 、a r m 微处理器的指令结构。 西南交通大学硕士研究生学位论文 第8 页 a r m 微处理器体系结构中支持两种指令集:a r m 指令集和t h u m b 指令集。 其中,a r m 指令为3 2 位的长度,t h u m b 指令为1 6 位长度。t h u m b 指令集为a r m 指令集的功能子集,但与等价的a r m 代码相比较,可节省3 0 一4 0 以上的存储 空间,同时具备3 2 位代码的所有优点。 ( 1 ) 处理器工作状态。从程序员的角度,a r m d 2 0 t 可以处于两种状态中 的一种:位一字对齐指令的a r m 状态和位一半字对齐指令的t h u m b 状态。 ( 2 ) 状态切换方法。a r m 指令集和t h u m b 指令集均有切换处理器状态的 指令,并可在两种工作状态之间切换,但a r m 微处理器在开始执行代码时, 应该处于a r m 状态。 进入t h u m b 状态:当操作数寄存器的状态位( 位o ) 为1 时,可以采用 执行b x 指令的方法,使微处理器从a r m 状态切换到t h u m b 状态。此 外,当处理器处于t h u m b 状态时发生异常( 如i r q 、f i q 、u n d e f 、a b o r t 、 s w i 等) ,则异常处理返回时,自动切换到t h u m b 状态。 进入a r m 状态:当操作数寄存器的状态位为0 时,执行b x 指令时可 以使微处理器从t h u m b 状态切换到a r m 状态。此外,在处理器进行异 常处理时,把p c 指针放入异常模式链接寄存器中,并从异常向量地 址开始执行程序,也可以使处理器切换到a r m 状态。 注:在这两种状态间转换并不影响处理器的模式和寄存器的内容。 ( 3 ) a r m 体系结构的存储器格式。a r m 体系结构将存储器看作是从零地址 开始的字节的线性组合。从0 字节到3 字节放置第一个存储的字数据,从第4 个字节到第7 个字节放置第二个存储的字数据,依次排列。作为3 2 位的微处 理器,a r m 体系结构所支持的最大寻址空间为4 g b 。a r m 体系结构可以用两种 方法存储字数据,称之为大端格式和小端格式: 大端格式:在这种格式中,字数据的高字节存储在低地址中,而字数 据的低字节则存放在高地址中,如图2 1 所示: 高地址 3 l2 42 31 6 1 58 70字地址 t 低地址 891 0 1 1 45 67 o123 图2 - 1 以大端格式存储字数据 小端格式:与大端存储格式相反,在小端存储格式中,低地址中存放 的是字数据的低字节,高地址存放的是字数据的高字节。如图2 - 2 所 示: 西南交通大学硕士研究生学位论文第9 页 高地址 t 低地址 3 l2 4 2 3 1 61 58 70字地址 1 11 0 9 8 7654 3 2 l o 图2 - 2 以小端格式存储字数据 ( 4 ) 指令长度及数据类型。a r m 微处理器的指令长度可以是3 2 位( 在a r m 状态下) ,也可以为1 6 位( 在t h u m b 状态下) 。a r m 微处理器中支持字节( 8 位) 、 半字( 1 6 位) 、字( 3 2 位) 三种数据类型,其中,字需要4 字节对齐( 地址的低 两位为o ) 、半字需要2 字节对齐( 地址的最低位为o ) 。 ( 5 ) 寄存器组织。a r m 微处理器共有3 7 个3 2 位寄存器,其中3 1 个为通 用寄存器,6 个为状态寄存器。但是这些寄存器不能被同时访问,具体哪些寄 存器是可编程访问的,取决微处理器的工作状态及具体的运行模式。但在任 何时候,通用寄存器r o r 1 4 、程序计数器p c 、一个或两个状态寄存器都是 可访问的。 3 、a r m 9 2 0 t 的m m u 。 ( 1 ) 关于m m u 。a r m 9 2 0 t 处理器使用增强的a r m 架构v 4m m u 提供对a r m 9 t d m i 内核指令和地址接口的地址转换和访问许可检查。m m u 提供了独特的地址转换 和保护方案,被存储在主存中的两级页表的一个独特设置所控制,并被c p l 5 的寄存器l 中的m 位置位允许。可以单独的锁定和刷新m m u 中的指令和数据 t l b 。m m u 的特性如下: 标准的a r mv 4m m u 映射尺寸、管理和访问保护机制: 映射尺寸可以是1 m b ( 段) ,6 4 k b ( 大页) ,4 k b ( 小页) ,和1 k b ( 微页) , 段访问许可; 大小页访问许可可以按1 4 大小单独指定( 这1 4 页又称子页) ; 硬件应用1 6 个管理域; 6 4 入口指令t l b 和6 4 入口数据t l b ; 硬件页表通道; 轮换替换算法( 又称循环替换法) ; 用c p l 5 的寄存器8 使整个t l b 无效,置m v a 选择的t l b 入口无效; 用c p l 5 的寄存器1 0 独立地锁定指令和数据t l b 。 ( 2 ) 访问许可与管理。对于大小页,访问许可对每个子页( 小页1 k ,大 页1 6 k ) 定义。对段和微页单独设定访问许可。所有区域的内存有一个联合管 理区。管理区域是对内存区域的主要管理机制。它为一个内存访问操作定义 西南交通大学硕士研究生学位论文第1 0 页 必要的状态参数。管理区决定是否使用访问许可限定访问、是否访问无条件 允许进行以及是否访问无条件中断。 ( 3 ) 转换过的地址入口。每一个t l b 缓存了6 4 个转换过的地址入口。在 c p u 访存期间,t l b 提供对访问控制逻辑的保护信息。如果t l b 包含了m v a 的 转换入口,访问控制逻辑决定访问是否允许。如果访问允许并需要片外访问, m m u 输出对应m v a 的正确物理地址;如果访问允许并不需要进行片外访问, c a c h e 服务访问;如果访问阻止, 删通知c p u 中止访问。 如果一个t l b 丢失( 不包含v a 入口) ,则激活转换表游历硬件,从物理内 存转换表重新找到转换信息。当找到时,转换信息被写进t l b ,可能会覆盖一 个现存的t l b 值。写入口是由对t l b 的循环替换所决定的,也可以通过设置 c p l 5 的寄存器1 0 选定。当m m u 关闭时,比如重启时,没有地址映射,所有的 区域都标着不能缓存或不能缓冲。使用c p l 5 的l 、2 、3 、5 、6 、8 、1 0 号寄 存器和内存中存储的页表描述符可以确定m m u 的操作。 ( 4 ) 允许m m u 时需要进行如下操作: 对t t b 和管理区访问控制寄存器编程; 按要求对l e v e l1 和l e v e l 2 页表编程; 设置控制寄存器0 位允许m m u 。 应该注意是否因紧跟m m u 允许操作的几条指令可能在删关闭时的预取操 作导致转换后的地址与转换前的地址不同( 使用公式:物理地址= v a 一平面转 换地址) 。要关闭m m u ,只要将控制寄存器的位o 置0 即可。在此之前,应先 关闭i - c a c h e 。 ( 5 ) 地址转换。m m u 将由c p u 和c p l 5 产生的v a 转换为物理地址以访问 外存。它还使用t l b 取出并检查访问许可。m m u 转换表游历硬件用来给t l b 添加入口。包含地址转换数据和访问许可数据的转换信息在物理内存中的转 换表中注册。删提供逻辑将这个转换表和加载入口读入t l b 。此操作在硬件 表游历过程中有一到两步,加上许可检查一步。步骤数取决于地址标志为段 映射访问还是页映射访问。 ( 6 ) 转换表基址寄存器。当t l b 不包含要求的b t v a 的转换地址时,硬件 转换进程被开启。转换表基址( t t b ) 寄存器指向包含段或页描述符的物理内存 表的基址。t t b 寄存器的低1 4 位在读状态时全部置0 ,表必须在1 6 k b 边界上。 图2 3 是t t b 寄存器的格式。转换表含有多达4 0 9 6x3 2 b i t 入口,每一个描 3 l1 4 1 3o i转换表基址il 图2 3 转换表基址寄存器 西南交通大学硕士研究生学位论文第1 i 页 述了i m b 的虚拟内存。因此共可编址4 g 虚拟内存。 2 2 $ 3 c 2 4 10 的硬件结构 s 3 c 2 4 1 0 的硬件逻辑结构图如图2 - 4 所示。 图2 4 $ 3 c 2 4 1 0 硬件逻辑结构图 西南交通大学硕士研究生学位论文第1 2 页 1 、内核 a r m 内核分为a r m 7 、a r m 9 、a r m i o 以及s t r o n ga r m 等几类。其中每一类 又根据其各自包含的功能模块而分成多种构成,有的参考书称为“变种 。在 a r m 内核中有4 个功能模块可供厂商根据不同用户的要求来配置生产。这4 个模块分别用t 、d 、m 和i 来表示。 t 表示t h u m b ,该内核可从1 6 位指令集扩充到3 2 位a r m 指令集。 d 表示d e b u g ,该内核中放置了用于调试的结构,通常它为一个边界扫描 链j t a g ,可使c p u 进入调试模式,从而可方便地进行断点设置、单步调试。 m 表示m u l t i p i l i e r ,是8 位乘法器。 i 表示e m b e d d e d - i c el o g i c ,用于实现断点观测及变量观测的逻辑电路 部分,其中的t a p 控制器可接入到边界扫描链。 三星公司的s 3 c 2 4 1 0 采用的是a r m 9 内核a r m 9 t d m i ,它比a r m 7 t d m i 的功 能有显著的提高。如同a r m 7 t d m i 一样,它支持t h u m b 指令集,并含有 e m b e d d e d - i c e 模块,支持片上调试。通过采用5 级流水线以增加最高时钟速 率,使用分开的指令与数据存储器端口以改善c p i ( 每条指令的时钟数c p i 是处理器在一个时钟周期所工作的量度) ,避免流水线不必要的中断,因而改 善了性能。a r m 7 t d m i 实现的t h u m b 指令集方法是,使用a r m 7 流水线中的松弛 时间将t h u m b 指令“解压缩成a r m 指令。a r m 9 t d m i 流水线非常紧密,没有 足够的松弛时间能先将t h u m b 指令翻译成a r m 指令再译码;相反,它用硬件 直接对t h u m b 指令和a r m 指令进行译码。a r m 9 t d m i 有一个协处理器接口,允 许支持片上浮点协处理器、数字信号处理器或其他专用的硬件加速需求。 2 、片内资源。$ 3 c 2 4 1 0 有如下片内资源: ( 1 ) 外部存储控制器( s d r a mc o n t r o la n dc h i ps e l e c tl o g i c ) ; ( 2 ) l c d 控制器( 带有d m a 功能) ,8 通道1 0 位a d c 和触摸屏接口; ( 3 ) 4 通道d m a ,带有外部d m a 请求引脚; ( 4 ) 3 通道u a r t ( i r d a i 0 ,1 6 一b y t et xf i f o ,a n d1 6 一b y t er xf i f o ) , 2 通道s p i ; ( 5 ) 多主i i c 总线和i i s 总线控制器; ( 6 ) s d 接口v 1 0 和多媒体卡协议v 2 1 1 ; ( 7 ) 2 个u s bh o s t 口,1 个u s bd e v i c e 口( 支持v 1 1 ) ; ( 8 ) 4 通道p w m 定时器和单通道内部定时器; ( 9 ) 有看门狗w a t c h d o g ,实时时钟r t c ,锁相环( p p l ) 片内时钟发生器; ( 1 0 ) 共有11 7 位通用i 0 口,2 4 个外部中断源。 3 、存储体系。如图2 5 所示,$ 3 c 2 4 1 0 存储体系有如下特点: 西南交通大学硕士研究生学位论文第1 3 页 ( 1 ) 小端大端( 1 i t t l e b i ge n d i a n ) 可编程控制; ( 2 ) 地址空间:每个b a n k 占1 2 8 m b ( 8 个b a n k 总共i g b ) ; ( 3 ) 除b a n k o 以外,其余7 个b a n k 可编程设置数据存取大小( 8 1 6 3 2 位) ; ( 4 ) 总共8 个b a n k 包括6 个r o m 、s d r a mb a n k ,2 个r o m 、s r a m 、s d r a m b a n k ; ( 5 ) 7 个固定起始地址b a n k ,对于每个b a n k 可编程循环访问; ( 6 ) 最后一个b a n k 的起始地址可调,最后两个b a n k 大小可编程控制; ( 7 ) 外部等待外部总线循环; ( 8 ) s d r a m 支持自动更新和掉电模式; ( 9 ) 1 6 k b 指令c a c h e 1 6 k b 数据c a c h e ,带存储管理单元舢1 。 o m 1 m 卜0 1 。1 0 o m h m l - m 旧阿= ff f 阡r _ 1 广一 b 饿耀;f 队m ( 4 k l w l e s ) s r o m ,s d r a m ( n g c s t ) s r o m 巧o r a m l n e t s 6 ) s r o ( n g c s 5 ) s r o ( n g c s 4 ) s r o m ( n g c s 3 s r o ( n g c s 2 ) s r o ( n o c s l s r o ( n g c s 0 ) m o t 咖n a n of l a s hh b o e rr o 一 u m mn a n d 矗誓 hb o o t 嗍 图2 5s 3 c 2 4 1 0 存储结构图 西南交通大学硕士研究生学位论文第1 4 页 2 3 开发板特性及资源 本课题的开发板是英蓓特$ 3 c e b 2 4 1 0 ,是基于三星公司的s 3 c 2 4 1 0 x 处理 器的开发平台。它的硬件电路系统如图2 6 所示: e x b u $ 3 j u m p e 复ll c r 丫s ,a 球 盛缝jl 羞擐l h 丽丽 i 箍缝l 圜圜 网 l ! ! 里竺i 习 圃 图2 6 开发板硬件电路系统框图 该开发板硬件资源丰富,主要资源如下: 1 、系统电源:采用+ 5 v 、2 a 直流变压器供电,稳压到+ 3 3 v 给c p u 的i o 及外围器件供电,另外,开发板通过两个独立+ 1 8 v 稳压块给c p u 核供电,可 通过程序控制c p u 切换到省电模式。 2 、系统时钟:使用外部1 2 m t l z 晶振,c p u 内部倍频至2 0 0 8 h z 。 3 、i n t e ls t r a t af l a s h :e 2 8 f 1 2 8 j 3 a1 6 m b 。 4 、a t m e l 公司的2 m b y t en o rf l a s ha t 4 9 b v l 6 1 4 a ( 兼容a m d 公司2 m 4 m b y t e n o rf l a s ha m 2 9 l v1 6 0 d b 3 2 0 d b ) 。 5 、s d r a m :6 4 m b y t e ( 3 2 m b y t e 宰2 ) 。 6 、3 通道u a r t 串口接口,还可跳接为m o d o m 方式。 盈圜广iilll广k卜lh巨 几u淞 双 西南交通大学硕士研究生学位论文第1 5 页 7 、2 通道u s bh o s t 和1 通道u s bd e v i c e 。 8 、i r d a 红外线收发器。 9 、s m a r tm e d i ac a r d 控制器。 1 0 、j t a g 接口。 1 1 、r t c 实时时钟。 1 2 、i i c 总线e e p r o m 。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论