(计算机应用技术专业论文)sd9200arm9嵌入式教学实验平台的设计与实现.pdf_第1页
(计算机应用技术专业论文)sd9200arm9嵌入式教学实验平台的设计与实现.pdf_第2页
(计算机应用技术专业论文)sd9200arm9嵌入式教学实验平台的设计与实现.pdf_第3页
(计算机应用技术专业论文)sd9200arm9嵌入式教学实验平台的设计与实现.pdf_第4页
(计算机应用技术专业论文)sd9200arm9嵌入式教学实验平台的设计与实现.pdf_第5页
已阅读5页,还剩74页未读 继续免费阅读

(计算机应用技术专业论文)sd9200arm9嵌入式教学实验平台的设计与实现.pdf.pdf 免费下载

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

文档简介

s d 9 2 0 0 - a r m 9 嵌入式教学实验平台的设计与实现 s d 9 2 0 0 a r m 9 嵌入式教学实验平台的设计与实现 中文摘要 随着嵌入式系统发展的日新月异,芯片制造技术的不断革新,嵌入式计算机已 被应用到各个领域和产品中。为了适应社会的需求,目前大多数高等院校都开设了 嵌入式系统课程,嵌入式系统的教学和实验也逐渐被众多院校所重视。如何合理设 计嵌入式系统教学的实验平台,为高等院校提供一种功能完备、价格低廉、技术流 行、能满足教学和开发双重需求的嵌入式系统课程教学实验平台正是本课题研究和 解决的重点。 本课题以兼顾教学与应用开发为出发点,自主研发了一个基于a r m 9 处理器的 教学实验和开发平台s d 9 2 0 0 。该平台结合了当前高校嵌入式教学的普遍需求,以 a t m e l 公司的a t 9 1 r m 9 2 0 0 处理器为核心,扩展了嵌入式应用中常用的外围硬件 和接口。同时,还设计了嵌入式开发中必备的软件支撑环境,极大地方便了嵌入式 系统教学实验和应用开发。 本文首先阐述了在设计过程中用到的理论和技术依据;紧接着从总体上给出了 s d 9 2 0 0 的设计方案,包括软件设计思路和硬件的选择;然后给出了s d 9 2 0 0 的硬件 设计、各硬件模块的原理框图以及测试流程:然后是软件的详细设计和实现,包括 s d i d ef o r a r m 集成开发环境、j f w 9 2 0 0 编程器、引导程序b o o t f l a s h 和教学实验程 序,同时还给出了u b o o t 和l i n u x 的移植方法和过程。 关键词:嵌入式系统,a r m 9 ,a t 9 1 r m 9 2 0 0 ,l i n u x ,教学实验平台 作者:帅辉明 指导老师:王宜怀 a b s t r a c td e s i g na n di m p l c r a c n to fs d 9 2 0 0a r m 9c r n b e d d c ds y s t e mp l a t f o r mf o re d u c a t i o n d e s i g na n di m p l e m e n t o fs d 9 2 0 0a r m 9e m b e d d e d s y s t e mp l a t f o r mf o re d u c a t i o n a b s t r a c t w i t ht h ed e v e l o p m e n to fe m b e d d e ds y s t e m ,e m b e d d e dc o m p u t e rh a sb e e nu s e di n p l e n t yo fa p p l i c a t i o ne m b e d d e ds y s t e mi ss oi m p o r t a n tt h a tm o r e a n dm o r ec o l l e g eh o p e nu pc o u r s e so fi t t h ek e yp o i n to ft h i sp a p e ri s t op r o v i d ea ne m b e d d e de d u c a t i o n p l a t f o r m ,w h i c h i sa l l p u r p o s e ,l o wp r i c ea n d p o p u l a r d e s i g n e ds d 9 2 0 0a r m 9e m b e d d e ds y s t e mp l a t f o r mf o re d u c a t i o n t h es t a r t i n g p o i n to ft h i sd e s i g ni sf o rt e a c h i n ga n dd e v e l o p m e n t s d 9 2 0 0i sb a s e do na t 9 1 r m 9 2 0 0 a r m 9 p r o c e s s o ro f a t m e l a n de x t e n d e dm a n yp e r i p h e r a l sa n di n t e r f a c ef o re m b e d d e d t e a c h i n g f u r t h e r m o r e s o r w a r ed e v e l o p m e n te n v i r o n m e n t i sa l s op r o v i d e d b a c k g r o u n da n dm e a n i n go ft h i sp a p e ri s 舀v e a la tf i r s t 、v i t l lr o a i ni d e ao fs d 9 2 0 0 t h ef o l l o w i n gi sas u m m a r yo fp r i n c i p l ea n dt e c h n o l o g yw h i c hu s e di nt h i sp a p e r t h e a r c h i t e c t u r eo fs d 9 2 0 0i sp r o v i d e d , f o l l o w e db yi m p l e m e n to f h a r d w a r ea n ds o f t w a r e w h i c hi n c l u d e se v a l u a t i o nb o a r d ,s d i d ef o ra r m ,j f w 9 2 0 0 ,b o o t 1 0 a d e r , p o r t e d l i n u x - 2 4 2 7a n de x p e n m e n t a le x a m p l e sf o rt e a c h i n g t h ep a p e ra l s oc o n c l u d e sw i t h p r o b l e m sa n df u t u r ew o r k s + k e y w o r d s :e m b e d d e ds y s t e m ,a r m 9 ,a t 9 1 r m 9 2 0 0 l i n u x ,e d u c a t i o np l a t f o r m 1 i w r i t t e nb ys h u a ih u i m i n g s u p e r v i s e db yw a n g y i h u a i y9 5 6 8 1 1 苏州大学学位论文独创性声明及使用授权声明 学位论文独创性声明 本人郑重声明:所提交的学位论文是本人在导师的指导下,独立 进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文 不含其他个人或集体已经发表或撰写过的研究成果,也不含为获得苏 州大学或其它教育机构的学位证书而使用过的材料。对本文的研究作 出重要贡献的个人和集体,均已在文中以明确方式标明。本人承担本 声明的法律责任。 研究生签名:9 虫弛驾 日期:垄! 互:型 学位论文使用授权声明 苏州大学、中国科学技术信息研究所、国家图书馆、清华大学论 文合作部、中国社科院文献信息情报中心有权保留本人所送交学位论 文的复印件和电子文档,可以采用影印、缩印或其他复制手段保存论 文。本人电子文档的内容和纸质论文的内容相一致。除在保密期内的 保密论文外,允许论文被查阅和借阅,可以公布( 包括刊登) 论文的 全部或部分内容。论文的公布( 包括刊登) 授权苏州大学学位办办理。 研究生签名:i 士纽日期:2 堡! 导师签名:罩。耄4 旦曰期:! 鱼竺型 s d 9 2 0 0 - a r m 9 嵌入式教学实验平台的设计与实现第一章概述 第一章概述 2 l 世纪是信息时代,计算机已经逐渐走进人类社会的各个领域。近几十年来, 计算机本身也在进行着日新月异的变化,实际应用对计算机系统的要求也更加多 样。嵌入式计算机系统是计算机系统中的一种,它除了在传统的工业控制、电信设 施发挥它巨大的作用,还在家用电器、医疗保健设备、数码相机、多媒体播放设备、 手机、p d a 、网络设备等各个领域扮演着重要的角色。目前,嵌入式系统中使用的 处理器主要有:4 位、8 位、1 6 位、3 2 位、6 4 位嵌入式处理器和数字信号处理器( d s p ) 。 而3 2 位嵌入式处理器己成为主流。其中,3 2 位嵌入式处理器内核主要有:a r m 、 c o l d 删6 8 k 、p p c 、m i p s 等。以3 2 位嵌入式处理器中广泛使用的a r m 9 处理器 为基础,设计实现了s d 9 2 0 0 a r m 9 嵌入式教学实验平台,下文中简称s d 9 2 0 0 教 学实验平台。本文将详细阐述它的软、硬件的构建和实现,其中包括硬件评估板、 p c 机交叉开发工具、板载软件和教学实验程序。 本章首先介绍了嵌入式系统的基本概念和发展趋势,然后给出了目前3 2 位嵌 入式教学实验平台的发展状况和应用前景,然后给出了s d 9 2 0 0a r m 9 嵌入式教学 实验平台的设计思路,紧接着是本课题的意义。最后为本文工作和组织结构。 1 1 嵌入式系统概述 要准确、清晰地定义嵌入式系统确实是一件比较困难的事情。事实上,很多从 事嵌入式开发的人员对其概念也未必清晰叙述。究其原理,其实也情有可原,现在 嵌入式系统开发已经进入了所谓的后p c 时代,许多嵌入式系统无论是处理能力还 是功能都和9 0 年代的p c 不相上下。而嵌入式系统软件的开发也和p c 软件的开发 结合的越来越紧密,许多p c 软件经过重新编译就可以运行在嵌入式系统下。因此, 在p c 和嵌入式系统交界的某些领域内,大家已分不清哪些属于通用计算机系统, 哪些属于嵌入式系统了。不过这对嵌入式开发并不造成太大影响【l 】。 嵌入式系统从广义上可以定义为:嵌入到对象体系中的专用计算机系统。例如, 将一台通用p c 嵌入到a t m 自动取款机里,同时被安装了专门针对a t m 提款业务 的软件,那么它就成为一个嵌入式系统了。从这个意义上来说,嵌入式系统所涵盖 的范围就非常大了。在狭义上,嵌入式系统可定义为:软件和硬件都可以定制的系 统。嵌入式系统最本质的三个特点就是:嵌入性、专用性和计算机体系。由于嵌入 式系统是面对特定应用,如果都采用p c 的体系结构,不仅体积无法缩小,成本和 第一章概述s i ) 9 2 0 0 a r m 9 嵌入式教学实验平台的设计与实现 功能上都会造成很大浪费。例如,用通用p c 来实现移动电话,虽然理论上可以实 现,但这样,移动电话本身也就失去了移动性了。所以,通常嵌入式系统的软硬件 都是一个可裁减的系统,它可以根据特定应用的需要来改变软件和硬件的构成【2 】【3 】。 就嵌入式系统的发展情况而言,我们显然已经进入了后p c 时代。在这个时代, 所有的嵌入式系统都面临着两个趋势:网络化和智能化。越来越多的嵌入式处理器 开始集成网络接口。可以预见,未来工厂里每台设备都将可能具有嵌入式处理器系 统,它们通过网络相互连接,通过远端的控制系统进行精密地控制。无论是网络化 还是智能化,都将使嵌入式系统更加复杂化,并且都将对嵌入式处理器提出更高的 要求。而另一方面,随着半导体工艺的进步,在摩尔定律的作用下,3 2 位嵌入式处 理器的价格已经下降到一个非常低的价格水平。以a t m e l 公司的a r m 芯片 a t 9 1 s a m 7 系列为例,这款处理器速度高达5 0 m i p s ,且内置f l a s h 和s r a m ,价 格仅为3 美元左右。在上述趋势的共同作用下,3 2 位嵌入式处理器成为主流正逐渐 变为事实。据i ci n s i g h t 公司( 著名市场研究机构) 预测,汽车电子、具有上网功 能的移动电话、p d a 、打印机、数字摄像机、高速调制解调器等将驱动3 2 位m c u 在2 0 0 3 年有3 0 的增长率,2 0 0 4 年有3 8 的增长率i l 】。 1 2 课题背景 开发一个嵌入式系统产品,有一套功能全面的开发工具是必不可少的。目前, 各大a r m 芯片生产厂商都提供相关芯片的开发套件,但由于诸多原因,无论在价 格、资料、使用性上都不能很好的适应开发人员的要求,特别是国内嵌入式开发人 员和大专院校教学。而国内也一些厂商从事嵌入式开发工具的研发,他们主要是面 向开发人员,提供的资料、工具不能很好适应嵌入式教学。此外,国内源代码开发 的程度和国外也差之甚远,国内的嵌入式开发工具厂商也不愿意提供所有的源代 码,配套教材也有待充实。因此,自主开发一个适合国内高等院校嵌入式教学的嵌 入式平台是有意义的。 a r m 系列处理器核是英国a d v a n c e d r i s c m a c h i n e s 公司( 即a r m ) 的产品。 a r m 公司自成立以来,一直以i p ( i n t e l l i g e n c ep r o p e r t y ) 提供者的身份向各大半导 体制造商出售知识产权,而自己从不介入芯片的生产销售,它提供一些高性能、低 功耗、低成本和高可靠性的r i s c 处理器核、外围部件和系统级芯片的应用解决设 计方案。正因为a r m 处理器内核的诸多优点,越来越多的芯片厂商早已看好a r m 的前景。a r m 处理器核得到了众多的半导体厂家和整机厂商的大力支持,在3 2 位 ,j s d 9 2 0 0 - a r m 9 嵌入式教学实验平台的设计与实现第一章概述 嵌入式应用领域获得了巨大的成功,如i n t e l 、f r e e s c a l e 、i b m 、n s 、a t m e l 、p h i l i p s 、 n e c 、o k l 、s o n y 等各大半导体公司获得了a r m 授权,开发具有自己特色的基 于a r m 的嵌入式系统芯片。目前非常流行的a r m 处理器核有:a r m 7 t d m i 、 a r m 7 2 0 t 、a r m 9 t d m i 、a r m 9 2 0 t 、a r m 9 4 0 t 、a r m 9 4 6 t 、a r m 9 6 6 t 、x s c a l e 等【3 j ,有关a r m 处理器核的详细内容将在第二章中阐述。 目前,多数a r m 核心被用于p d a 、手机等民用产品之中。随着工业自动化、 智能化控制的发展,对嵌入式处理器性能的需求也不段增长,以往的8 位单片机很 难适应某些即要求适应恶劣环境又要求处理大量数据的应用。a t 9 1 s a m 7 s 、 a t 9 l s a m 7 x 和a t 9 1 s a m 9 系列嵌入式微处理器是a t m e l 公司推出的基于a r m 核心的产品,它们都是面向工业控制的工业级芯片。本文选用的a t 9 1 i t m 9 2 0 0 是 a t 9 1 s a m 9 系列产品中的一员,它是基于a r m 9 2 0 t 核心的一款功能强大的嵌入式 处理器。目前,主要应用在工业控制、工业现场数据采集、网络设备等要求可适应 恶劣环境的产品中。在国内,它也被用于电力系统控制和通信产品之中。 1 2 1a r m 9 嵌入式教学实验平台概述 绝大多数a r m 芯片的生产厂商都会在每款芯片推出的同时,发布一些开发套 件,以供开发人员参考。但是这些开发板提供的资料往往不能很好的满足开发人员 的需要,特别是对国内的开发人员。首先,这些官方开发套件的价格通常都比较贵。 其次,国内非常难买到这些开发套件。此外,提供的资料多为英文版,且不齐全。 最重要的是这些开发套件不适用于教学。 表卜1 国内嵌入式教学平台供应商对比 j 商c p i j 类型嵌入式0 s教学材料教学实例价格( 蹦b 元) 英倍特s 3 c 4 4 8 0 x 、w i n e e 、l i n u x 、实验指导书基本实验1 0 0 0 0 左右 $ 3 c 2 4 1 0u c o s ii 埘立功单片机l p ca 蹦7 系列u c o s i l教材、p p t基本实验2 0 0 0 以下 安徽华恒科技$ 3 c 2 4 1 0l i n u x教学p p t 、教丰富( 多于 3 0 0 0 0 师学生书等 3 0 个) 复旦金海博 s 3 c 4 4 b o x 、l i n t l x 技术手册,实 基本实验8 0 0 0 左右 a t 9 l i 1 9 2 0 0验指导 1 :海存思x s c a l el i n t l x技术文档较多( 2 05 0 0 0 0 左右 个) 第一章概述 s d 9 2 0 0 - a r m 9 嵌入式教学实验平台的设计与实现 目前,国内也有一些进行a r m 嵌入式教学实验仪器和开发套件研发的厂商, 比起前些年已有非常大的进步,大大的促进了国内嵌入式系统行业的发展。作者对 目前市场上嵌入式教学实验平台进行了一定的调查,表1 1 给出了国内规模较大技 术较先进的几家嵌入式教学实验平台供应商所提供的产品的信息。 这些厂商提供的教学实验平台有如下特点:采用了目前应用较广泛的a r m 处理器:大多数提供实验指导书和技术手册,少数提供教材和课件:提供资 料光盘;提供实验例程。 与此同时,还存在一些问题: 价格较高,对高校嵌入式教学的建设是一笔不小的费用: 公司开发出的产品一定程度上离实际教学还有差距,公司开发人员编写的 教材、p p t 较容易侧重开发; 由高校自主开发的教学实验平台非常少: 开发工具和软件多数无自主知识产权。 1 2 2 a r m 9 嵌入式教学实验平台的应用前景 早在1 9 9 9 年,a r m 核心的芯片生产量就已突破1 5 亿,市场份额占了3 2 嵌入 式位处理器的5 0 以上,在2 0 0 1 年度里,a r m 占据了整个3 2 、“位嵌入式微处 理器市场的7 5 ,在2 0 0 2 年度里,占据了市场的7 9 5 ,全世界已使用了2 0 多亿 个a r m 核。a r m 已经成为业界的龙头老大,“每个人口袋中装着a r m ”,是毫不 夸张的。因为很多手机、移动设备、p d a 都是用具有a r m 核的系统芯片开发的。 根据i ci n s i g h t 公司的预测,中国在2 0 0 5 年将首次超过美国和日本,成为全球 最大的元器件消费市场,中国今年的半导体市场将达到3 4 3 亿美元的规模。在过去 的五年内,中国的i c 设计翻了五倍,从1 9 9 9 年的1 6 亿人民币增长到了2 0 0 4 年的 8 2 亿人民币口l ,预计到2 0 0 8 年将成长到九十六亿美元水准,年复合成长率6 3 , 成长惊人。 随着国内研发队伍的不断壮大,越来越多的产品将会具有自主知识产权,而嵌 入式开发系统的需求必然也会不断增长。无论是研发人员,还是高等院校的嵌入式 教学,a r m 9 嵌入式教学实验平台势必会有良好的应用前景。 1 3 设计思路 早在8 0 5 1 流行的时代,传统的嵌入式系统开发模式是使用仿真器进行软件开 4 s d 9 2 0 0 - a r m 9 嵌入式教学实验平台的设计与实现 第一章概述 发,再进行硬件的定型。如今,芯片 集成制造技术日趋先进,芯片内部已 集成可重复擦写的f l a s h 和调试模 块,不需要额外的设备就可以将程序 下载到芯片中运行或者调试。a r m 核心的芯片同样也提供了编程和调 试的模块,嵌入式软件在p c 机上进 行交叉编译,生成目标代码后,通过 编程和调试模块的功能下载到芯片 硬件评估板 图l - ls d 9 2 0 0 教学实验平台模型图 中进行运行或者调试。本课题的a r m 9 嵌入式教学实验平台也是沿用了以上开发模 式,兼顾教学和开发的设计思想,主要特点有:提供硬件评估板、交叉开发工具、 板载软件;提供教学实验例程,即可用于高校嵌入式教学又可用于测试开发; 基于a r m 和l i n u x 操作系统的开发。图1 - 1 为s d 9 2 0 0 教学实验平台模型图。 1 4 课题意义 嵌入式系统在我国已逐渐形成产业,嵌入式系统在生产研发、高校教学得到大 力推广。研究基于a r m 9 的嵌入式教学实验平台具有如下现实意义: a r m 9 为目前使用最广泛的a r m 核心,研究基于a r m 9 核心的嵌入式教 学实验平台可以为广大嵌入式产品研发人员提供一套廉价实用的工具; 同时,可以满足目前高校嵌入式系统教学的需求,并可为3 2 位嵌入式系统 教学的普及作出一定的贡献: 具有自主知识产权的开发软件和工具对今后同类型产品的研发提供不可多 得的借鉴和经验; 1 5 本文工作和论文结构 1 5 1 本文工作 本文工作的流程也是一个嵌入式系统产品开发的过程,具体工作如下: ( 1 ) 需要分析与总体设计 在硬件和软件设计之前分析研究目前嵌入式产品开发和教学的普遍需求。确定 s d 9 2 0 0 教学实验平台的总体构成。 ( 2 ) 制作硬件评估板 第一章概述 、 s d 9 2 0 0 - a r m 9 嵌入式教学实验平台的设计与实现 硬件模块划分 芯片选型 了解和确定各硬件模块的外围电路 硬件评估板原理图设计 绘制p c b ,联系厂家制作 元件采购 焊接、测试、完成调试 ( 3 ) 制作硬件开发工具 了解a r m 9 构架嵌入式处理器的调试、编程原理 制作j t a g 编程调试器 编程调试软件编写 ( 4 ) 软件设计与调试 准备软件开发工具,如编译器 硬件评估板各模块测试例程编写 s d l d e 集成开发环境的设计与编程 移植嵌入式l i n u x 到s d 9 2 0 0 ( 板级移植) 完成系统总体软件硬件调试 用户使用手册和相关文档的归总 总结整个开发过程中的经验 1 5 2 论文结构 本文第一章介绍了s d 9 2 0 0 嵌入式教学实验平台的课题背景、意义以及设计思 路; 第二章介绍了a r m 处理器的基本特性、嵌入式l i n u x 和基于操作系统的嵌入 式开发模式; 第三章从总体上阐述了s d 9 2 0 0 的设计蓝图,包括软件和硬件; 第四章详述了s d 9 2 0 0 的硬件设计和现实,采用了a t m e l 公司出品的一款 a r m 9 嵌入式处理器a t 9 1 r m 9 2 0 0 ,最后还给出测试心得: 第五章是软件的详细实现,包括交叉开发工具、嵌入式软件; 第六章给出了用于教学和硬件测试的实验程序; 最后对全文进行了总结。 6 立望茎三;三雪垒三;三;矍兰鱼整堡生兰塞翌! ! 三! ! 墨i :垒坠墼塑壁垒茎墼堂壅壁兰鱼 等二章斟蝴和l i n u x 的嵌入蝴学实荠 褰一麓麓 :竺的磬仝式系统中,由于操作系统的善善:鬻善:! :銎竺冀基于a r m 和 + l i “u x 并非偶然,而是强强联合f 4 习 “刚俣a 匍j 根本的改变。a r m i i 孽j 菇亭7 f 一舀7 对于嵌入式系统中,存储器是非常宝贵的资源,例如在一个典型的a r m 系统 中,r a m 的容量可达3 2 m b y t e ,f l a s h 的容量一般为8 m b y t e 。 l i n u x 内核的以下特性,决定了它可用于嵌入式系统中7 】【8 】: 开放源代码 任何人都可以在g p l ( g e n e r a lp u b l i cl i c e n s e ) 协议下获得和修改l i n u x 以及 l i n u x 内核源代码,而嵌入式系统恰恰是一个软件和硬件都可以定制的系统,没有 源代码,定制操作系统也是无法实现的。以往许多操作并不公开源代码( 包括许多 嵌入式操作系统) ,例如w i n c e 、r t e m s 等。l i n u x 的内核则不然,任何人都可以 修改并发布其源代码。有了这一点,l i n u x 已经被移植到a r m 、a l p h a 、m 6 8 k 、 m i p s 、s p a r c 、p o w e r p c 上。 内核可裁减、设备驱动可灵活加载 l i n u x 的内核即允许把设备驱动程序在编译时静态地连接在内核中,一如传统 的驱动程序那样;也允许动态地在运行时安装,称为“模块”;还允许在运行状态 下当需要用到某一模块时由系统自动安装。这样的模块仍然在内核中运行,而不是 像在微内核中那样作为单独的进程运行,其运行效率也得到了保证。这一特点,正 好能适用嵌入式系统。在嵌入式系统中,内存一般在8 - 3 2 m b y t e ,甚至更少,资源 十分宝贵。在应用产品中,往往不需要内核具备完整的功能,例如在某个嵌入式系 统中不需要声音设备的驱动,则可以不将该驱动编译到内核之中。在实际的嵌入式 应用当中,l i n u x 内核运行在内存之中,而内核映像本身是存放在f l a s h 存储器当中 的。 可支持多种c p u 架构 前面已经提到,l i n u x 已被移植到多个c p u 架构上,而l i n u x 的内核源代码本 身具有非常高的可重构性。同样的一份源代码,只需要在编译之前修改一些配置, 就可以编译成针对不同c p u 的目标代码。 r s d 9 2 0 0 - a r m 9 嵌入式教学实验平台的设计与实现 第二章赫于a r m 和l i n u x 的嵌入式教学实验平台 ( 2 ) 文件系统 许多嵌入式系统没有磁盘或者文件系统。l i n u x 不需要它们也能运行。如前所 述,应用程序任务可以和内核一起编写,并且在引导时作为一个映像加载。对于简 单的系统来说,这就够了。然而,它缺乏前面所说的灵活性。 实际上,许多商业性嵌入式系统提供文件系统作为选项。通常是专用的文件系 统或者是m s d o s c o m p a t i b l e 文件系统。l i n u x 提供m s d o s c o m p a t i b l e 文件系统, 同时还有其它多种选择。l i n u x 支持的文件系统有:e x t 、e x t 3 、f a t 、j f f s 等。 它们都可以用在嵌入式系统中。 文件系统可以被放在传统的磁盘驱动器、f l a s hm e m o r y 或其它这类的介质上。 而且,用于暂时保存文件,一个小r a m 盘就足够了。f l a s hm e m o r i e s 被分割成块。 这些块中也许包括一个含有当c p u 启动时运行的最初的软件的引导块。这可能包 括l i n u x 引导代码,剩余的f l a s h 可以用作文件系统。l i n u x 的内核可以通过引导 代码从f l a s h 复制到r a m ,或者还有一个选择,内核可以被存储在f l a s h 的一个独 立部分,并且直接从那里执行。 ( 3 ) n f s ,n e t w o r kf i l es y s t e m 网络文件系统 对于联网的嵌入式系统来说,l i n u x 支持n f s ( n e t w o r kf i l es y s t e m ) 。这为实 现联网系统的许多增值功能打开了大门。 它允许通过网络上加载应用程序。这是控制软件修改的基础,因为每一个嵌入 式系统的软件都可以在一个普通的服务器上加载。它在运行的时候也可以用来输入 或输出大量的数据、配置和状态信息。这对用户监督和控制来说是一个非常强大的 功能。举例来说,嵌入式系统可以建立一个小的r a m 磁盘,包含的文件中有与当 前状态信息同步的内容。其它系统可以简单的把这个r a m 磁盘设置为基于网络的 远程磁盘,并且空中存取状态文件1 ”。 2 1 3 常见嵌入式l i n u x 介绍 标准l i n u x 系统 常见的l i n u x 操作系统都是标准的l i n u x 系统,如r e d h a t 、t u r b o l i n u x 等。它 们都是基于l i n u st o r v a l d s 发布的标准l i n u x 内核的。标准的l i n u x 内核主要由5 个子系统构成:进程调度、内存管理、虚拟文件系统、进程通信系统、网络接口系 统。其中,内存管理需要目标系统具有m m u ( m e m o w m a n a g e m e n t u n i t ) 。目前, 许多嵌入式处理都具有m m u ,例如以a r m 9 为核心的嵌入式处理器、p o w e r p c 处 理器。这些处理器都具有非常强大的功能,标准l i n u x 可以充分发挥它们的性能【8 1 。 第二章基于a r m 和l i n u x 的嵌入式教学实验平台 s d 9 2 0 0 - a r m 9 嵌入式教学实验平台的设计与实现 u c l i n u x 前面已经提到,l i n u x 操作系统必须在具备m m u 的处理器上才能运行。但是 现在的许多嵌入式处理器上都没有m m u ,而且许多嵌入式系统内存和存储空间都 极为有限,无法运行体积稍显“庞大”的l i n u x 系统。为了解决这个问题,1 9 9 8 年 1 月,k e n n e t ha l b a n o w s k i 和d j e f f d i o n n e 率先发布了在没有m m u 的处理上运行 的l ac l i n u x 操作系统。在l ac l i n u x 这个单词中u 表示m i c r o ,是小的意思,c 表示 c o n t r o l ,是控制的意思。所以l ac l i n u x 就是m i c r o c o n t r o l l i n u x ,字面意思就是针 对微控制器的l i n u x 。由于不具备m m u ,uc l i n u x 可以提供的功能较l i n u x 也是 少许多的。 r t l i n u x l i n u x 系统是一个通用操作系统,也是针对系统的平均性能优化的操作系统, 并不适合用于实时系统。l i n u x 系统的进程在进行交换的时候开销较大,速度较慢: 内核也不是抢先式的,这样实时性要求较高的进程可能被阻塞;在进行内核级系统 调用时,l i n u x 系统还常常将中断关掉,这样会导致某些重要的中断无法得到即时 响应。这些缺点,都使l i n u x 系统本身不具备实时操作系统的特性。但是这个问题 被新墨西哥科技大学( n e wm e x i c oi n s t i t u t eo f t e c h n o l o g y ) 的科研人员用非常巧妙 的方法解决了。它的基本思想是,为在l i n u x 系统中提供对硬实时的支持,它实现 了一个微内核的小的实时操作系统( 也称为r t l i n u x 系统的实时子系统) ,而将普 通l i n u x 系统作为该操作系统中的一个低优先级的任务来运行【l 】。 a r m l i n u x 从1 9 8 5 年第一个a r m i 原型诞生至今,a r m 的设计者们经历了漫长的探索之 路,并取得成功。基于a r m 处理器强大的功能,l i n u x 操作系统运行在嵌入式系 统上也成为了可能。a r ml i n u x 是标准l i n u x 移植到a r m 核心处理器的一个版本。 该项目是由r u s e l lk i n g 发起,加上众多程序员的共同努力,l i n u x 终于可以运行在 以a r m 核的处理器上。从最早移植到a 5 0 0 0 系统上的1 0 x 版内核,到现在 2 6 1 4 一r c 2 版内核,实际应用证明l i n u x 可以很好的运行在a r m 嵌入式平台上,并 且有许多产品中都使用了a r m l i n u x 4 1 。 笔者已将a r ml i n u x 移植到s d 9 2 0 0 教学实验平台,有关移植过程将在第五章 中阐述。 s d 9 2 0 0 一a r m 9 嵌入式教学实验平台的设计与实现第二章基于a r m 和l i n u x 的嵌入式教学实验平台 2 2a r m 9 2 0 t 核心简介 本课题中选用的a m e l 公司出品的a t 9 1 r m 9 2 0 0 是基于a r m 9 2 0 t 核的芯片, 本节将着重对a r m 9 2 0 t 进行介绍。 2 2 1c p u 核简介 所有的a r m 9 系列处理器都是基于a r m 9 t d m i 核心或者是其变种。a r m 9 2 0 t 实际上是a r m 9 t d m i 核心+ c a c h e + m m u 。它有如下特点【9 】【1 0 1 : 哈佛构架 1 6 k 的d + ic a c h e 集成m m u 内存管理单元,可实现虚存 支持a r m 调试机制支持硬件和软件调试 支持a m b a 、a s b 和a h b 总线结构 支持i c e ( i n c i r c u i te m u l a t o r ) 在线仿真工作模式 支持e t m ( e m b e d d e dt r a c em a c r o c e l l ) ,可跟踪指令与数据 图2 2 为a r m 9 2 0 t 的功能原理框图。 圈2 - 2a r m 9 2 0 t 的功能原理框圈 第二章基于a r m 年n l i n u x 的嵌入式教学实验平台s d 9 2 0 0 - a r m 9 嵌入式教学实验平台的设计与实现 2 2 2 寄存器 与所有的r i s c 处理器一样,a r m 处理器采用l o a d s t o r e 体系结构,这就意味 着没有直接操作存储器的指令,因此数据处理只能在寄存器里进行。 a r m 9 2 0 t 共有1 6 个数据寄存器( r 0 - r 1 5 ) 和2 个处理器状态寄存器( c p s r 、 s p s r ) 。其中,处理器状态寄存器对程序员是不可见的。处理器可以在7 种不同的模 式下运行,将在2 2 3 小节中介绍。 2 2 3c p u 工作模式 a r m 内核使用c p s r 来监视和控制内部的操作。c p s r 是寄存器文件中一个专用 的3 2 位寄存器。s p s r 寄存器是c p s r 的备份,它的内容与c p s r 一致。 e p s r 分为4 个8 位区域:标志域、状态域、扩展域和控制域。其中0 到4 位为 m o d e 位,可控制c p u 处于不同的模式。表2 - 1 给出了c p u 可处于的7 种模式。 表2 1 处理器模式 模式缩写特权 m o d e 4 :0 中止a b t 是 1 0 1 1 1 快速中断请求f i q是 1 0 0 0 1 中断请求 i r q 是1 0 0 1 0 管理s v c是1 0 0 l l 系统s y s是 1 1 1 1 1 未定义 u n d 是 1 1 0 l l 用户 u s r否1 0 0 0 0 2 3 边界扫描和测试访问接口 最初许多芯片生产厂商在处理器内集成边界扫描链和测试访问接口,用于测试 芯片的好坏。后来芯片应用工程师发现它们可以用来控制芯片的外部引脚电平和内 部总路线,进而可以实现外部f l a s h 存储器编程和程序调试。最后j o i n tt e s t a c t i o ng r o u p ( j t a g ) i 塞_ 个组织将t a p 和b s r 统一为标准。i e e el1 4 9 1 标准是 由j t a g 这个组织最初提出的,最终由i e e e 批准并且标准化。所以,i e e e1 1 4 9 1 这个标准一般也俗称j t a g 调试标准,其主要内容就是边界扫描( b o u n d a r y s c a n ) 和测试访问接口( t e s t a c c e s s p o r t ) 。 2 3 1 边界扫描 在j t a g 调试当中,边界扫描( b o u n d a r y s c a n ) 是一个很重要的概念。边界扫 s d 9 2 0 0 - a r m 9 嵌入式教学实验平台的设计与实现第二章基- 于a r m 和l i n u x 的嵌入式教学实验平台 描技术的基本思想是在靠近芯片的输入输出管脚上增加一个移位寄存器单元。因为 这些移位寄存器单元都分布在芯片的边界上( 周围) ,所以被称为边界扫描寄存器 ( b o u n d a r y s c a nr e g i s t e rc e l l ) 。当芯片处于调试状态的时候,这些边界扫描寄存器 可以将芯片和外围的输入输出隔离开来。通过这些边界扫描寄存器单元,可以实现 对芯片输入输出信号的观察和控制。对于芯片的输入管脚,可以通过与之相连的边 界扫描寄存器单元把信号( 数据) 加载倒该管脚中去;对于芯片的输出管脚,也可 以通过与之相连的边界扫描寄存器“捕获”( c a p t u r e ) 该管脚上的输出信号。在 正常的运行状态下,这些边界扫描寄存器对芯片来说是透明的,所以正常的运行不 会受到任何影响。这样,边界扫描寄存器提供了一个便捷的方式用以观测和控制所 需要调试的芯片。另外,芯片输入输出管脚上的边界扫描( 移位) 寄存器单元可以 相互连接起来,在芯片的周围形成一个边界扫描链( b o u n d a r y s c a nc h a i n ) 。一般的 芯片都会提供几条独立的边界扫描链,用来实现完整的测试功能。边界扫描链可以 串行的输入和输出,通过相应的时钟信号和控制信号,就可以方便的观察和控制处 在调试状态下的芯片【1 1 】【1 2 】。 2 3 2 测试访问接口( t a p ) t a p 是一个通用的端口,通过t a p 可以访问芯片提供的所有数据寄存器( d r ) 和指令寄存器( i r ) 。对整个t a p 的控制是通过t a p 控制器来完成的。t a p 总共 包括5 个信号接口t c k 、t m s 、t d i 、t d o 和t r s t :其中4 个是输入信号接口 和1 个是输出信号接口。我们常见的开发板上都有一个j t a g 接口,该j t a g 接 口的主要信号接口就是这5 州“】。这5 个信号的描述如下: t e s tc l o e ki n p u tf f c k ) t c k 为t a p 的操作提供了一个独立的、基本的时钟信号,t a p 的所有操作都 是通过这个时钟信号来驱动的。t c k 在i e e e11 4 9 1 标准里是强制要求的。 t e s tm o d es e l e c t i o ni n p u t ( t m s ) t m s 信号用来控制t a p 状态机的转换。通过t m s 信号,可以控制t a p 在 不同的状态间相互转换。t m s 信号在t c k 的上升沿有效。t m s 在i e e e1 1 4 9 1 标 准里是强制要求的。 ,t e s td a t ai n p u t ( t d i ) t d i 是数据输入的接口。所有要输入到特定寄存器的数据都是通过t d i 接口 一位一位串行输入的( 由t c k 驱动) 。t d i 在i e e el1 4 9 1 标准里是强制要求的。 t e s td a t ao u t p u t ( t d o ) 13 第二章基于a r m 和l i n u x 的嵌入式教学实验平台s d 9 2 0 0 - a r m 9 嵌入式教学实验平台的设计与实现 t d o 是数据输出的接口。所有要从特定的寄存器中输出的数据都是通过t d o 接口一位一位串行输出的( 由t c k 驱动) 。t d o 在i e e e1 1 4 9 1 标准里是强制要 求的。 t e s tr e s e ti n p u tf t r s t ) t r s t 可以用来对t a pc o n t r o l l e r 进行复位( 初始化) 。不过这个信号接口在 i e e e1 1 4 9 1 标准里是可选的,并不是强制要求的。因为通过t m s 也可以对t a p c o n t r o l l e r 进行复位( 初始化) 。 2 4 本章小结 本章介绍了与本课题相关的若干基础知识,关键内容有: 基于a r m 处理器的l i n u x 操作系统和基于操作系统的开发模式; a t 9 1 r m 9 2 0 0 处理器的c p u 核心一a r m 9 2 0 t ,介绍它的特点; 介绍了边界扫描链和测试访问接口,该部分是第五章中j f w 9 2 0 0 编程器的 基础。 s d 9 2 0 0 a r m 9 嵌入式教学实验平台的设计与实现 第三章总体设计 第三章总体设计 本章将阐述s d 9 2 0 0 a r m 9 教学实验平台的设计思想和方案。分别从硬件和软 件两方面进行设计。硬件主要包含硬件评估板的设计思路;软件包含了嵌入式软件 和交叉开发工具的设计思路。 3 1 基于l i n u x 操作系统的嵌入式教学实验平台总体设计方案 3 1 1 需求分析 为了进行s d 9 2 0 0 的设计,需要经过较全面的需求分析。目前高校3 2 位嵌入式 教学的现状和3 2 位嵌入式开发的需求主要有以下几点【1 3 】【1 4 】【1 5 】: 教学和开发都要求嵌入式平台具有常用的外围器件; 要求提供开发工具,如编译器、编程器等; 需要提供嵌入式操作系统; 源代码和资料; 教学实验例程和实验指导。 s d 9 2 0 0 的设计严格遵照以上几点要求,制定了软硬件设计方案,如表3 1 所示。 表3 - 1s d 9 2 0 0 的特性 项目 描述 c p u 采用a t 9 1 r m 9 2 0 0 ,最高工作频率1 8 0 m h z ,m m u 存储3 2 m b y t er a m ,8 m b y t ef l a s h 显示l c d 液晶屏 音频两通道音频输出 硬件 以太网1 0 m 1 0 0 m

温馨提示

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

评论

0/150

提交评论