(测试计量技术及仪器专业论文)基于嵌入式系统的web+server的研究和实现.pdf_第1页
(测试计量技术及仪器专业论文)基于嵌入式系统的web+server的研究和实现.pdf_第2页
(测试计量技术及仪器专业论文)基于嵌入式系统的web+server的研究和实现.pdf_第3页
全文预览已结束

下载本文档

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

文档简介

摘要 随着网络技术和半导体技术的高速发展,嵌入式设备的网络互联已经成为必 然的发展趋势。这两个领域的结合给人们的生活带来了极大的变革,使得基于嵌 入式系统的应用范围更加广泛。越来越多的嵌入式系统选择w 曲服务器的方式 和i n t e r n e t 网络进行数据的交互,因此研究基于嵌入式系统的高性能的w e b 服务 器将有着广泛的应用前景。 本课题是在基于s e p 3 2 0 3 微处理器( a r m 内核) 平台的g e 0 l m bl i t e 开发 板上,设计和实现了一种以太网嵌入式w 曲服务器。本论文研究工作包括:深 入研究s e p 3 2 0 3 处理器的硬件体系构架,在基于g e 0 1 m bl i t e 开发板以s e p 3 2 0 3 微处理器为核心的平台上实现p c o s i i 操作系统移植,n o r f l a s h 驱动和 a s i x 文件系统的实现,8 0 1 9 a s 网络接口模块的底层驱动实现,l w i p 协议栈的 移植,以及h t t p 协议的实现等。 在受限资源的基础上实现基于a r m 的嵌入式w e b 服务器,实现嵌入式技术 和i n t e m e t 技术有效结合,能够有效降低了成本,并为今后系统的扩展,实现工 业现场嵌入式设备网络互联,以及为远程监视、控制、诊断等功能提供了基础的 技术支持平台。 关键字:a r ms e p 3 2 0 3 微处理器 肛c o s - i i l w i p t h er e s e a r c 珏a n dd e v e l o p e m e n to fw e b s e r 医r b a s e do ne m b e d e d s y s t e a 1 6 i s t l a c t w 浊龇印辽d e 姥l 印嫩 癌o f 班畋辩谢s e 越耐城惠o 她l 蟛,酗减e dd e 落潞 蛐戚c 撕o n 姒也m e t 砌c hl l a sb e c o m ec e 砌扭d c v e 姊堍骶n d i th n g h m o v a t i o nt o p e o p l e l i v e s 谢mc o m b m a t i o no ft h et w 0d o m 曲1 s ,a n dn l a l ( e s 吐屺s c o p eo fa p p l i c a t i o ni n o r e 眦础i o nb a s 酣m ee 瑚l b e ds y 咖m w i m 血ei n 腓a s 她o fe m b e d e ds y s t e 必砌c h s e l e c tm e w a yo f 拜w 曲s 溯t oi n t e m e t 拜c 0 彻【i l 猢i 酬。珏t o 的n s a c t 西u s ,rh a s 融陆c r 嬲p e c tt o 鲰l d y 撼醢秘翩勰c e 谳觥掂s 醐硒m 嚣撵蝴如蛾c e s 俄sp 印e fd e s c f i b e se 列,e d 蝴d e v i c 豁b a s e do na r m 曲i p ,d c s i g l l saw e b 姗fw 场c h h 吲l0 n3 2 b “p r ( 脱豁o r a n di n t r o d u a 蜷g e o1m 鹏l 沁 e m p o l d e rb o 莉 b a s e do n s e p 3 2 0 3 “c r o p r o c e s s o r b a s e do nd e e p i yr e s e a r c hs e p 3 2 0 3 戚c r o p r o c e s s o r 姗眦es y 姗 姗u c n 聪,t h i sp 印e r 啦s or e s e a r c hk l u d e si 瑚【p l e m e n tl lc 幻s 一珏s y 呶髓m i g r a t i o nb a s 甜o n g 鼬l m b 毛i l e 锄p o l 如f 弱蕊诚氇s 琵3 2 0 3 戚e p 麴澈:s s o f 、n o 痊l a 盎蕊v e 、a s 曩l e s y s 搬n 、8 0 l9 a sn 蜣锹) _ 呔诬量e 峨酗擞o d 豳d r 主v e 、l w 王pp 她幻c o ls 蚀km i 嚣a 钯a 以h h p p r o t o c o le t c b a s e do n i h l p l e m e n t m ge m b e d e dw 曲s e r v e r 埘t ha r m ,t h e ne l n b e d c dh l t e m e t 拙6 融l o l o g yi sc o m et r i 瓣o nl i l m 锄陀s o w c e ,i t 脚u c e 也ec 0 s te 箍c i e n c y ,a l l di tp r o 访如t h eb 嬲a l 钕磷e 龌s w 塑d 矗纛a 圭勤r 舒觎d 速gs y 懿e 懿、弧巾l 锄熏穗堍e 趣嘲甜曲v i e e s 鞠潮氆i c 越i o 藏证a 辙蠹嫩、愆趣。绝w a 垂c 撼珏g 、c o 珏乏鳓l 、d i a 罂l o s ea l l ds oo 觳 1 ( e y w o r d s :a r ms e p 3 2 0 3 m i c r o p 妁c e s s 甜 s l w 护 学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下进行的研究工作 所取得的成果。尽我所知,除文中已经特别注明引用的内容和致谢的地方外,本 论文不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究做 出重要贡献的个人和集体,均已在文中以明确方式注明并表示感谢。本人完全意 识到本声明的法律结果由本人承担 学位论文作者( 本人签名) : 李佑 膨月多日 学位论文版权使用授权书 本学位论文作者完全了解南京林业大学有关保留、使用学位论文的规定,同 意学校保留并向国家有关部门或机构送交论文的复印件和电子版( 中国科学技术 信息研究所;国家图书馆等) ,允许论文被查阅和借阅。本人授权南京林业大学 可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以汇编和综合 为学校的科技成果,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论 文全部或部分内容。 保密口,在年解密后适用本授权书。本学位论文属于不保密叮 ( 请在以上方框内打“ ) 学位论文作者( 本人签名) :巷侈,陴6 月日 指导教师( 本人签名) :记眸矽护旷年占 月日 致谢 在论文完成之际,我首先要向我的导师张浩平副教授表示衷心的感谢。从 2 0 0 5 年进入南京林业大学读研以来,我从张老师身上学到了很多的做人做事的 道理,同时也学到了很多专业知识,论文从选题、设计、撰写到定稿的过程中, 张老师都给予我及时的指导和点拨,使我把握住研究的主方向。 这三年来的学习对我来说是十分重要的,我的成长离不开张老师的支持、 关心和培养,再次感谢张老师! 衷心感谢信息学院刘云飞院长,封维忠副教授以及信息学院其他老师对我 的关心和培养。感谢他们在学习和生活上给我的帮助,他们的教导使我成长很快。 衷心感谢我的伯伯洪鹤桂、伯母杨晖在我从大学到研究生期间一直无私关 心、支持和帮助,衷心感谢他们对我的培养和教导,使我不断进步和成长! 同时我要感谢师弟范君,在我的论文撰写的过程中给与了我极大的帮助和 支持。 衷心感谢我在读研期间实习的单位联创科技( 南京) 有限公司i t 服务部的经 理徐晓公的帮助、衷心感谢i t 服务部资深网络工程师周镶玉、朱敏晓、周雨情、 方正、刘健的大力帮助、衷心感谢i t 服务部c c i e 张冬培的帮助、感谢联创安 全产品部经理吴冬的帮助、感谢i t 服务部苏正雷和陈文祥的帮助。 再次感谢师弟给于我的帮助,感谢家人以及同宿舍舍友的支持和关心。 再次对帮助我的人表示深深的谢意! 李伟 2 0 0 8 年6 月 l :l论文背景 l 。重。主嵌入式系统的发展 第一章绪论 进入9 0 年代以来,以计算机技术、通信技术和软件技术为核心的信息技术 取得了更加迅猛的发展,各种装备与设备上的嵌入式系统在航天、航空、交通、 网络、电子、逶讯、金融、智能电器、智能建筑、仪器仪表、工业自动控制、数 控机床、掌上型电脑、各种智能i c 卡,第二代身份证验证、公共交通收费系统、 医药系统以及军事等领域得到广泛应用。 嵌入式系统被定义为:以应用为中心、以计算机技术为基础、软件硬件可裁 剪、适应应用系统,对功能、可靠性、成本、体积、功耗、电磁兼容等方面严格 要求的专用计算机系统j 。它一般由嵌入式微处理器、外围硬件设备、嵌入式操 作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视 或管理等功能。 1 1 2 嵌入式鬻e b 系统的发展 随着后p c 机时代的到来,引发了嵌入式电子信息产晶的产生,部分原来由 p e 实现的功能逐步由嵌入式产晶丽替代,如m p 3 愆,弘d ,数码相机等电子产 品的实现。随着互联网的成熟和发展,单一的信息节点不再满足于充当信息孤岛 的角色,而是需要和网络的其他节点相互联系实现信息数据的实时交互。因此, 嵌入式技术和i n t e m e t 技术的结合是当今嵌入式技术的发展趋势e 引。 信息电子技术的发展为嵌入式薹藏乏e f n e t 技术提供空闻,如面向l 技乏e f 毂e t 的信 息冰箱。这种信息电子技术的特点就是价格低廉、软件功能强大、全面支持 i n t e r n e t 访问、软件可通过网络升级、有效保护用户投资。嵌入式系统可以通过 各种无线形式( 如w | a 薹、b l u e t o o 也等) 和有线形式( t c p ,l p 、p p p 等) 的网络 连接方式实现它们之间的相互连接,因此,在网络逶信市场上极具生命力。随着 w 曲技术的发展,几乎改变了传统的信息表达形式,使得很多应用都是基于w 曲 技术的。而由于h t m l 语言的标准统一性,只要在嵌入式设备中有一个微型服 务器,就可以使用任意一种w 曲测览器接收和发送信息p l 。 嵌入式w 曲系统和传统的基予服务器的眠b 系统相比较而言有着以下的优 势:功耗低、体积小、性能高、成本低廉、可便携、易于布置实施等,在任务响 应实时性强、系统可靠性高、特殊应用环境场合如防水防爆要求等领域中比传统 的p c 辊服务器更具优势。 通过i n t e r n e t 互联网的功能,嵌入式w 曲系统可l 以和下位机的信息节点之问 实现智能化数据收集,并为上位机提供友好的访问界面。对于实现互联网功能的 嵌入式w e b 系统应用可以带来诸多优势:可以从全球任何位置通过互联矮实现 对下位机信息节点的监控,数据采集和系统控制;利用w e b 浏览器的通用性, 使用普通的p c 设备即可获取信息节点的数据,通过数据、表格、图片等多种形 式呈现给用户,丽用户端亦不需要专门的软件和设备”l 。 3 2 位a r 醚处理器大规模应用以前,嵌入式w e b 系统的实现是基于有限内 存资源的8 位或1 6 位系统,对应的芯片功能也有限,如p h a r l a p 公司的m i c r o w 曲、 a g r a n a t s y s t e m s 公司的e m w 曲。而随着a r m 微处理器的应用推广,嵌入式w e b 系统转向都采用了3 2 位的a r m 处理器。 1 1 3 论文中采用的软硬件技术背景 目前的国产的嵌入式微处理器逐步成熟,东南大学国家a s i c 巾心自主研发 的s e p 3 2 0 3 嵌入式徽处理器是1 6 3 2 位r 差s c 徽控制器,采用a r 醚7 t d m l 杰核, 面向低成本手持设备和其他通用嵌入式设备,为用户提供了面向移动终端应用的 丰富外设、低功耗管理和低成本的外存配置。 随着软件的代码质量要求高的提高和应用的复杂性,采用嵌入式实时操作系 统( 对o s ) 作为软件开发平台已经成为趋势。实对操作系统( 料o s 之一的 i c o s i i 在嵌入式系统的应用上适合小型控制系统,具有执行效率高、占用空间 小、实时性能优良和可扩展性强等特点,其特点可以概括为以下几个方面:公开 源代码,代码结构清晰,注释详尽,组织有条理,可移植性好,可裁剪,可固化。 鼙c 船s 1 l 内核属予抢占式,最多可以管理6 0 个任务。 l w i p 是开源f c p i p 协议栈的实现,该协议栈主要关注的是怎么样减少内存 的使用以及代码的大小,以使得l w i p 适用于资源有限的嵌入式系统平台。作为 轻量级盼协议栈,乞w l p 对a p 薹进行了裁减,简化了处理过程和内存要求,避免 不必要的数据包的复制。l w l p 支持多网络接口的l p 转发,对i c m p 、t c p 及u d p 、 p p p 协议支持,以及支持d h c p 实现动态分配i p 地址等1 5 l 。 重。2论文的主要工作和意义 本论文研究工作是基于南京博芯电子技术有限公司的g e o l m bl i t e 开发板, 该开发板是一个基予s e p 3 2 0 3 微处理器乎台。 在深入研究s 毯p 3 2 0 3 处理器的硬件体系构架基础生,本论文研究工作包括: 基于s e p 3 2 0 3 微处理器平台的肛c o s i i 操作系统移植,g e 0 1 m bl i t e 开发板 n o r f l a s h 驱动和a s i x 文件系统的实现,8 0 1 9 a s 网络接口模块的底层驱动实现, l w 至p 协议栈的移攮,以及h t 善p 协议的实现嘲。 如图1 1 所示,在嵌入式w 曲s e r v e r 的软硬件的整体框架图中,p c ,o s l l 2 操作系统接管底层的中断,接收来自开发板硬件平台的中断,识别中断源并调用 相关的硬件驱动完成中断处理。客户机及w 曲s e r v e r 需要访问的网页等信息存 放在n o r f l a s h 存储器中,和客户机的通信的接口是借助8 0 1 9 a s 硬件实现,因此 需要在嵌入式w e bs e r v e r 中实现的n o r f l a s h 驱动和8 0 1 9 a s 驱动。而w e bs e r v e r 是根据于客户机提交来的文件名信息,在n o r f l a s h 存储系统中进行文件名检索 并将检索结果反馈给客户机,这样需要借助文件系统来实现对w e b 文件进行统 一的管理,用以控制数据文件的存取。而w e bs e r v e r 和客户机之间的通信协议 则是通过移植l w i p 协议实现的,h t t p 协议则根据h t t p 的协议标准实现。 软件 硬件 其他应用软件代码 h r t p 协议 j tj ri r 。:,、n c t t1 d a s 文件系统l l w 口协议栈 l d 其他接口驱动n 。r f l 舔h 驱动i 8 0 1 9 a s 底层驱动 介介介介 uuuu g e o l m bl 妇目标开发板 其他硬件接口 n 。r f i a s h 存储剖 8 0 1 9 a s 硬件接口 , 图1 1 嵌入式w e bs e r v e r 的软硬件的整体框架图 l 设备 _ g e o l 邸一l it e l 传感器l 8 0 1 9 a s 嵌入式乳bs e r v e r 图卜2 嵌入式w e bs e r v e r 的系统框架图 嵌入式w e bs e r v e r 可以通过交叉网线与p c 机的网卡直接相连,或通过直 通网线与局域网交换机或h u b 相连。嵌入式w e bs e r v e r 的以太网接口模块在 8 0 1 9 a s 的控制下进行以太网数据包的收发,完成与局域网内的其他网络设备的 通讯。在运行于g e 0 1 m b l i t e 平台的l w i p 协议的基础上,借助应用层构建的 h t t p 服务器协议,实现w e b 服务器的功能,并向局域网提供网络浏览服务。如 图卜2 所示【。 今后,通过这个平台可以在g e 0 1 m b l i t e 平台的g p i o 端口,将设备、传感器 通过嵌入式w e bs e r v e r ,连接到i n t e r n e t i n t r a n e t ,实现对这些设备和系统的数据 实时访问、监控。嵌入式w e bs e r v e r 提供的以h t m l 网页为基础的数据信息则 可通过标准浏览器查看。 论文具体研究工作包括: 3 分析s e p 3 2 0 3 处理器体系结构相关的底层代码,根据w 曲系统的需求, 对开发板提供的底层驱动进行剪裁和配置,构建并配置需要使用的相关 的功能模块。 研究与实现s e p 3 2 0 3 平台上的弘c o s i i 操作系统的移植,实现肛c o s i i 对中断和n o r f l a s h 驱动和a s i x 文件系统的支持,以支持基本的w e b 文 件的创建和读取。 研究并实现i 盯l 8 0 1 9 a s 网络接口设备驱动工作流程,并实现p c o s i i 对i 汀l 8 0 1 9 a s 网卡驱动的支持。 研究并实现s e p 3 2 0 3 平台上的l w i p 协议栈的移植,实现l w i p 和底层 8 0 1 9 a s 硬件驱动的衔接。 研究与实现h t t p 协议构建最终的嵌入式w e b 服务器平台,实现对l w i p 协议栈的调用,并能够通过p c 机的普通浏览器访问该w 曲平台存储于 n o r f l a s h 中的网页。 1 3论文的结构 本论文共分七章。 第一章介绍了嵌入式系统和嵌入式w e b 系统的发展,以及本论文所做的工 作和意义。 第二章对整个系统进行了简要的介绍,包括硬件平台s e p 3 2 0 3 的体系结构、 a r m 核的特性、g e 0 l m bl i t e 开发板特性和a d s 开发平台的说明。 第三章介绍“c o s i i 移植的主要工作:包括“c o s i i 的特性和结构分析, “c o s i i 的内核分析,以及p c o s i i 具体的移植工作。 第四章介绍n o r f l a s h 的工作原理以及相关驱动的实现,文件系统原理及 a s i x 文件系统的实现。 第四章介绍8 0 19 a s 的工作原理以及相关驱动的实现。 第五章介绍l w i p 网络协议栈的原理和移植工作,并对i p 层、t c p 层的处 理流程进行分析,并给出应用层中的h t t p 协议的实现。 第七章对本论文工作的总结和展望。 4 第二章硬件开发平台和开发环境 2 1 s e p 3 2 0 3 嵌入式微处理器 s e p 3 2 0 3 移动终端应用处理器是由东南大学国家专用集成电路系统工程技 术研究中心设计的1 6 3 2 位面向低成本手持设备和其它通用嵌入式设备的r i s c 微控制器。它为用户提供了面向移动终端应用的丰富外设,低功耗管理和低成本 的外存配置。s e p 3 2 0 3 采用a r m 7 t d m i 作为处理器内核,a m b a 2 o 总线构架, 0 2 5 微米c m o s 标准制作工艺【引。 2 1 1a r m 内核 a r m 即a d v a n c e dr i s cm a c h i n e s 的缩写,a r m 公司是1 9 9 0 年成立的设计 公司。a r m 公司是知识产权( i p ) 供应商,a r m 公司本身不生产芯片,靠转让 设计许可,由合作伙伴公司来生产各具特色的芯片。a r m 体系结构采用了若干 伯克利r i s c 设计中的特征,基于精简指令集计算机( r i s c ) 原理,指令集和相 关译码机制较为简单。目前a r m 公司的产品系列有:a r m 7 、a r m 9 、a r m l 0 、 a r m l l 等,并还在不断的推出新的产品系列。a r m 7 t d m i ( s ) 是a r m 7 的基础 上的改进版本,它是一种低功耗的3 2 位r i s c 微处理器核。其简单和全静态设 计的特点尤其适合于对价格和功耗敏感的应用产品,广泛应用于各类消费、汽车 电子、工业控制等产品中。a r m 7 t d m i 除了拥有a r m 7 的3 2 位集成芯片的基 本特色外,它还有如下特点【9 】: 支持t h u m b l 6 位压缩指令集; 支持d e b u g 功能,使处理器能够暂停,以响应一个d e b u g 请求; 具有m u l t i p l i e r ( 硬件乘法器) ,执行功能更强大,可以产生6 4 位的数据结 果; 内嵌硬件i c e ,支持b i 也a k p o i n t 和w a t c h p o i n t 。 2 1 1 2 寄存器组介绍 a r m 7 t d m i 处理器含有3 1 个通用的3 2 位寄存器和6 个状态寄存器。一般 情况下,只有1 6 个通用寄存器( r o 至r l5 ) 和1 或2 个状态寄存器对于程序员 来说是可见的。寄存器可用于否取决于处理器的模式。除了r 0 r 7 寄存器是在 各种模式下相同的,其他的寄存器可能在不同的模式中各不相同。 5 2 1 1 3 流水线设计 a r m 7 t d m i 采用一种3 段指令流水流,如图2 1 所示: l 取指译码执行 l 取指译码 执行 取指译码执行 读取:从存储器中取出指令并放进指令流。 译码:指令译码,数据控制信号将准备下一个周期这一阶段。指令拥有译 码逻辑,但不拥有数据路径。 执行:指令拥有数据路径;读取寄存器组:一个操作数被移位,a l u 产生的 结果被写回目标寄存器。 图2 1a r m 7 三级流水线 2 1 1 4 模式及异常处理 a r m 7 具有6 种工作模式,如表2 1 所示,各模式间的区别和切换是通过设 置c p s r 寄存器的m 【4 :0 】域来完成的。 表2 1a r m 7 的工作模式 舅f 雾? 操作模式辆樊i ? 薹7 。m 1 4 :0 l 篓0 毒一褰,i 奠为挚述- 冀:二? ,蓄:毫纛 囊,、操作模式种类o :。 用户模式( u s e rm o d e ) 1 0 0 0 0 正常执行模式 快速中断模式( f i qm o d e ) 1 0 0 0 l 响应快速中断请求的模式 中断模式 ( i r qm o d e ) l o o l o 响应一般中断请求的模式 管理模式( s u p e r v i s o rm o d e ) 1 0 0 1 1操作系统的保护模式 发生数据存取拒绝与指令实现读取拒绝的模 中止模式( a b o r tm o d e ) 1 0 l l l 式 未定义模式( u n d e n n e d l l o l l 执行某些未定义的指令的模式 m o d e ) a r m 7 通过使用寄存器组保存状态来处理异常。原有的p c 和c p s r 值拷贝 到适当的r 1 4 和s p s r ,并且将p c 和c p s r 中的模式位强制设定为异常的特定 值。中断禁止位设置1 ,以防止异常的嵌套。为了重新进入中断处理程序,在重 新使能中断之前,r 1 4 和s p s r 应该被保存在主存中的一个堆栈中【1 0 l 。当多个异 常同时产生时,须根据优先级由高至低执行。各异常的优先级由高到低的顺序是: ( 1 ) r e s e t ( h i g h e s tp r i o “t y ) 6 ( 2 ) d a t aa b o r t ( 3 ) f i q ( 4 ) i r q ( 5 ) p r e f e t c ha b o r p t ( 6 ) u n d e 仃n e di n s t r u c t i o n , ( 7 ) s o f t w a r ei n t e r r u p t ( 1 0 w e s tp r i o r i t y ) 由于a r m 7 在处理异常情况的时候有很多硬件完成的工作,而这些操作会 直接影响到操作系统内核的调度,所以接下来将把各种异常情况的硬件处理做一 个介绍。 r e s e t 当n r e s e t 引脚处于低电位时,a r m 7 将会立即取消正在执行的指令。紧接 着去读取目前的程序计数器值加4 的地址内所储存的指令。而当为高时,将执行 如下步骤: 将目前的程序计数器( p c ) 内值拷贝到r 1 4s v c 中去。 将目前的c p s r 内值拷贝到s p s rs v c 中去。 操作模式进入管理模式。将m 【4 :o 】填成“l 0 0 1 1 ,接着设定c p s r 的i 位与 f 位为“1 ,最后将c p s r 的t 位清除为零。 将p c 的值置为0 x 0 0 。 abort a b o r t 异常表示当前存储器访问不能被执行。例如,在一个虚拟存储器系统 中,响应当前地址的数据可能已经被移到硬盘上,这样情况下会导致产生一个 a b o n 信号通知c p u 进出a b o r t 异常模式。a r m 7 在存储器访问周期检查是否 有该信号产生,并根据该异常发生时c p u 所处的状态做不同的处理。如果在一 条预取指令期间发生异常,则称为预取值中止( p r e f e t c ha b o i r t ) 。如果中止在数 据访问期间发生异常,则称为数据中止( d a t aa b o r t ) 。 预取中断或是数据中断产生时,a r m 7 d m i 执行如下操作: 存储中断指令地址加4 ( 预取指中止) 或是加8 ( 数据中止) 的地址到r 1 4a b t 中,存储c p s r 到s p s ra b t 中。 m 【4 :o 】= 1 0 1 1 l ,设置c p s r 中的i 位。 p c 从0 x o c 地址( 预取指中止) 或是o x l o 地址( 数据中止) 获取下个指令。 为了在检查修改原因之后返回a b o r t ,用s u b sp cr 1 4a b t ,群4 指令( 对预 取中止) 或是s u b sp c r 1 4 一a b t ,撑8 指令( 对数据中止) 获取原来的数据,继续 执行原来代码1 1 1 】。 f i q 快速请求中断在n f i q 输入脚位被外部逻辑拉至低电位时开始响应。f i q 输 入可以接受异步输入,但要延时一个时钟以达到同步,此后才能影响指令的执行。 通过设置c p s r 中的f 位,f i q 可以禁止( 但是这在用户模式是不可能的) 。如 7 果f 位被清除,a r m 7 将在每个指令的结尾检查是否有f i q 中断。 当f i q 检查到时,a r m 7 执行如下操作: 存储下个指令地址加4 的地址放到r 1 4 f i q 中,存储c p s r 放到s p s rf i q 中。 m 4 :0 】= 1 0 0 0 1 ,设置c p s r 中的f 和i 位。 p c 从o x l c 地址获取下个指令。 用s u b sp c ,r 1 4f i q ,撑4 指令获取原来的数据,继续执行原来代码。 i r q i r q 在n f i q 输入脚位被外部逻辑拉至低电位时开始响应。i r q 比f i q 优先 级更低,通过设置c p s r 中的i 位,i r q 可以禁止( 但是这在用户模式是不可能 的) 。如果i 位被清除,a r m 7 将在每个指令的结尾检查是否有i r q 中断。 当i r q 检查到时,a r m 7 执行如下操作: 存储下个指令地址加4 的地址到r 1 4 f i q 中,存储c p s r 到s p s ri r q 中。 m 【4 :0 】- 1 0 0 l o ,设置c p s r 中的i 位。 p c 从o x l 8 地址获取下个指令。 用s u b sp c ,r 1 4i r q ,撑4 指令获取原来的数据,继续执行原来代码。 s w i ( 软件中断) s w i 执行时,微处理器将进入管理模式,通常执行如下操作: 存储下个指令地址加4 的地址到r 1 4s v c 中,存储c p s r 到s p s rs v c 中。 m 4 :o 】_ 1 0 0 1 l ,设置c p s r 中的i 位。 p c 从0 x 0 8 地址获取下个指令。 用m o v sp c ,r 1 4s v c ,群4 指令获取原来的数据,继续执行原来代码。 u n d e n n e di n s t r u c t i o n ( 未定义指令) 当a r m 7 遇到不能处理的指令时,将转到协处理器执行该指令,如果协处 理器正忙,则a r m 7 将等待直到协处理器处于r e a d y 状态或是一个中断产生,如 果没有协处理器能够执行这条指令,a r m 7 将进入未定义指令模式。该模式可以 被用作一个没有协处理器硬件的系统的软件仿真,或是通过软件仿真的方法进行 一般指令集的扩展【1 2 】。 当a r m 7 处理未定义指令异常时,操作如下: 存储下个指令地址加4 的地址到r 1 4 一s v c 中,存储c p s r 到s p s r s v c 中。 m 4 :0 】- 1 1 0 1 1 ,设置c p s r 中的i 位。 p c 从0 0 4 地址获取下个指令。 用m o v sp c ,r 1 4u n d ,群4 指令获取原来的数据,继续执行原来代码。 2 1 2s e p 3 2 0 3 体系结构 东芯i vs e p 3 2 0 3 f 5 0 ( 简称s e p 3 2 0 3 ) 移动终端应用处理器针对低成本个人移 动终端的应用需求,为用户提供了面向移动终端应用的丰富外设、低功耗管理和 低成本的外存配置。为了适应手持信息终端的多媒体处理需求,s e p 3 2 0 3 处理器 还集成了用于多媒体加速的m m a ( m u l t i m e d i aa c c e l e r a t o r ) 模块和a c 9 7 控制器 用于多媒体音频的解码和录音。 s e p 3 2 0 3 处理器内嵌由英国a r m 公司提供的a r m 7 t d m i 处理器内核,整个芯 片可以运行在7 5 m h z 。集成了支持黑白,灰度,彩色的l c d 控制器;多媒体加速 模块,用于提供多媒体处理定点矢量乘加的计算能力;支持低成本的n a n df 1 a s h 控制器并可从其直接启动;支持多种外存类型:s r a m ,n o rf 1 a s h ,s d r a m ;支持 实时钟( r t c ) :支持四通道的定时器和两通道的p w m ;支持用于连接触摸屏通讯 的s p i 协议;支持两个u a r t 控制器,其中一个支持红外传输;支持u s b l 1d e v i c e 控制器用于p c 与移动终端之间的高速信息传输;支持m m c s d 卡控制器,用户可以 扩展系统的存储能力和外设功能;支持兼容a c 9 7 协议的控制器,用于音频文件的 播放和录制。s e p 3 2 0 3 处理器内嵌2 0 k b y t e 零等待的静态存储器( s r a m ) ,用于 多媒体处理时的核心代码与数据的存放,用户也可以将操作系统的核心代码或 l c d 帧缓存存放在该处理器中,用于提供更高的性能和更低的能量消耗;6 通道 d m a 控制器,为用户提供了高速的数据传输通道。为了支持低成本的系统方案, s e p 3 2 0 3 支持外部3 2 位1 6 位数据总线,结合a r m 提供的t h u m b 指令集,将大大降 低系统成本和功耗i 考虑到n a n df l a s h 的成本优势,s e p 3 2 0 3 处理器提供专用的 n a n df 1 a s h 控制器,并支持系统直接从n a n df l a s h 启动。s e p 3 2 0 3 处理器采用 l q f p l7 6 封装形式( 针对用户需求,我们还可以提供b g a 封装的版本) 。 s e p 3 2 0 3 处理器具备了以下优越特性: 采用业界标准的a r m 7 t d m i 处理器内核,易于软件系统的开发和调试,并降低 系统功耗。 提供u s bd e v i c e 和删c s d 支持,方便终端产品的数据传输与功能扩展。 提供s d r a m 控制器,提高系统性能同时降低系统成本。 针对低成本移动终端的需求,提供灵活的外部总线宽度配置,支持n a n df l a s h 直接启动。 内嵌多媒体加速器,除c o d e c 外不需要额外硬件支持,为用户提供m p 3 实时播 放和实时录音。 多种功耗管理模式,降低系统功耗。 2 2g e 0 l m b 硬件平台体系结构简介 整体结构 本文研究工作的硬件开发平台是南京博芯电子技术有限公司的 g e 0 1 m b l i t e 开发板,该实验教学系统平台采用的是s e p 3 2 0 3 微处理器,外扩 若干i o 模块的。 9 g e 0 l m b l i t e 开发平台由以往的g e o l 系列发展而来。硬件开发参数结构框 图如表2 2 所示,与本文研究工作密切相关的硬件模块包括存储系统、电源模块 和以太网8 0 19 a s 接口等。 表2 2g e 0 1 m b l i t e 硬件结构 a 二处理器 s e p 3 2 0 3 f 5 03 2 1 6 位嵌入式处理器,a r m 7 t d m i 内核, 7 5 m h z ,;,s d r a mlx8 m b 黟存储器: , n 0 r f l a s hlx2 m b :;舢一“,77 : , i u a r t2 u ,:_ 1 ;j f 以太网8 0 1 9 a s 1 0 m “,j ;皇 p , w a t c hd o gl 弘? ? ,j 象。 u s bd e v i c e1 1 扩展接口 外围接口 m m c 卡 扩展接口 ,| j 誓,- ,!a c 9 7 控制器 扩展接口 v h , , ,:,工,五。7 。j 一啦, l ? :? 4 。 l c d 扩展接口 + 7 。:7 7 j 调试接口j t a g 存储系统 s e p 3 2 0 3 处理器支持的片外存储器包括:s r a m 、r o m 、n o rf l a s h 、 s d r a m 及n a n df l a s h 。外部存储接口模块( e x t e r n a lm e m o r y i n t e r f a c e ,简称e m i ) 的功能即为提供对这些外部存储器的读写接口。支持 地址的r e m a p 功能,即两个逻辑地址指向同一个物理地址。支持从外部n o r f l a s h 启动以及从内部e s r a m 启动( 通过外部n a n df l a s h 初始化e s r a m ) 。 e m i 模块共有6 个可以配置地址空间的片选输出:n c s a ,n c s b ,n c s c ,n c s d , n c s e ,n c s f 。每个片选空间最大支持6 4 m b y t e s 。可以通过配置寄存器及基址寄 存器设置各个片选的读写属性、数据宽度以及映射空间【l 3 。 表2 3 片选地址范围译码信息 溏疟鞣? 叠?垒向大小。裹0默谈地址寇由:! ;二耋j :誓i 比较地址鬟笔! 霎 n c s a 6 4 m b y t e s o x 2 0 0 0 0 0 0 0一 0 x 2 3f f f f f f a d d r e s s 【3l :2 6 】 n c s b 6 4 m b y t e s o x 2 4 0 0 0 0 0 0 o x 2 7 f f f f f f n c s c 6 4 m b y t e s o x 2 8 0 0 0 0 0 0 0 x 2 b f f f f f f l o n c s d 6 4 m b y t e s o x 2 c o o o o o o一 0 x 2 f f f f f f f n c s e 6 4 m b y t e s o x 3 0 0 0 0 0 0 0 一 o x 2 3f f f f f f n c s e 6 4 m b y t e s o x 3 4 0 0 0 0 0 0 一 o x 3 7 f f f f f f e m i 的6 个片选信号的地址范围都可以通过软件重新配置。6 个片选信号 也都可以被选择作为酞e m a p 的对象。如果一个片选n c s x 被选择作为r e m a p 的对象,只要其在存储器参数配置寄存器( s m c o n ) 中对应的使能位仍然有效, 则其仍可以在自己的地址范围内译码并产生片选信号。即,此时n c s x 信号由两 个信号叠加( 与操作) 而成。这样,如果被r 嚣m a p 的矬c s x 所设置的地址空阀 和需要r e m a p 到的地址空闻不重合,则在片选n c s x 上可以支持最大 2 车6 4 m b ”e s 的逻辑地址空间( 当然,这2 个6 4 m b y t e s 的逻辑地址空间对应相同 的6 4 m b y t e s 的物理地址空间) “l 。 2 3 软件开发平台体系结构简介 本文是基于a r ma d s 软件开发平台进行调试和开发的,a r ma d s 全称为 a r m d e v e l o p e rs u i t e 。是a r m 公司推出的a r m 集成开发工具。a d s 由命令行 开发工具,g u l 开发环境( c o d e w a r r i o f 和a x d ) ,实用程序和支持软件等部分组 成。 1 命令行开发工具 这些工具完成将源代码编译,链接成可执行代码的功能。 2 g u i 开发环境( c o d ew a r r i o r 和a x d ) c o d e w a r f i o rf o ra r m 是一套完整的集成开发工具,充分发挥了a r mr 至s c 的优势,使产品开发人员能够很好的应用尖端的片上系统技术该工具 是专为基于a r mr i s c 的处理器而设计的,它可加速并简化嵌入式开发 过程中的每一个环节,使得开发入员只需透过一个集成软件开发环境就能 研制出a r m 产品,在整个开发周期中,开发人员无需离开c o d e w 撕i o r 开发环境,因此节省了在操作工具上花的时间,使得开发人员有更多的 精力投入到代码编写上来,c o d e w a f r i o f 集成开发环境( 1 d e ) 为管理和开 ;发项躁提供了简单多样化的图形用户界面。用户可以使用a d s 的 c o d e w a i o “d e 为a r m 和t h u m b 处理器开发用c ,c + + ,或a r m 、汇编语言的程序代码。遥过提供下面的功能, c o d e w a r r i o fl d e 缩短了用 户开发项嚣代码的周期。 3 实用程序 f r o m e l f 这是a r m 映像文件转换工具。该命令将e l f 格式的文件作为输入文件, 将该格式转换为各种输出格式的文件,包括p l a i nb i n a r y ( b i n 格式映像文 件) ,m o t o r o l a3 2 - b i ts r e c o r df o r m a t ( m o t o r o l a3 2 位s 格式映像文件) ,i n t e l h e x3 2f o r m a t ( i n t e l3 2 位格式映像文件) ,和v e r i l o g - l i k eh e xf o r m a t ( v e r i l o g 1 6 进制文件) 。f r o m e l f 命令也能够为输入映像文件产生文本信息,例 如代码和数据长度。 a r m a r a r m 库函数生成器将一系列e l f 格式的目标文件以库函数的形式集合在。 起,用户可以把一个库传递给一个链接器以代替几个e l f 文件。 f i a s hd o w n i o a d e r 用于把二进制映像文件下载到a r m 开发板上的f l a s h 存储器的工具 4 支持的软件 a d s 为用户提供下面的软件,使用户可以在软件仿真的环境下或者在基于 a r m 的硬件环境调试用户应用程序。 a r m u l a t o r 这是一个a r m 指令集仿真器,集成在a r m 的调试器a x d 中,它提供对 a r m 处理器的指令集的仿真,为a r m 和t h u m b 提供精确的模拟。用户可 以在硬件尚未做好的情况下,开发程序代码。 第三章实时操作系统c ,o s 一的实现 肛c o s 是一款为实时控制系统而设计的多任务实时操作系统,也称为 r t o s 。p c o s - 提供了嵌入式操作系统的基本功能,其核心代码短小精悍,针 对硬件进行优化后,可以达到很高的执行效率。自该r t o s 问世以来,已经在许 多嵌入式处理器上进行成功的移植。肛c o s 在机器人医疗器械、引擎控制、 a t m 机、工业控制等领域获得了成功的应用,被证明是一个成熟稳定的实时内 核。除特别申明,本论文所涉及的“c o s 版本均为2 6 1 。 3 1i j l c o s 一的特性和结构 3 1 1i ic o s 一特性 公开源代码 肛c o s h 的源代码是公开的,这就意味着用户可以通过阅读源代码理解 p c o s i i 的工作机制和原理,并根据自身的需要,对代码的相关部分并进行相应 的修改和移植,以适应自身的项目需要。同时,源代码公开

温馨提示

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

评论

0/150

提交评论