(计算机软件与理论专业论文)嵌入式系统设计工程化方法研究.pdf_第1页
(计算机软件与理论专业论文)嵌入式系统设计工程化方法研究.pdf_第2页
(计算机软件与理论专业论文)嵌入式系统设计工程化方法研究.pdf_第3页
(计算机软件与理论专业论文)嵌入式系统设计工程化方法研究.pdf_第4页
(计算机软件与理论专业论文)嵌入式系统设计工程化方法研究.pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

(计算机软件与理论专业论文)嵌入式系统设计工程化方法研究.pdf.pdf 免费下载

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

文档简介

重庆大学硕士学位论文中文摘要 摘要 随着计算机技术的发展,嵌入式系统的应用越加广泛,遍布工业控制、智能 家电、商业、通信、医疗等各个领域,和人们的生活密切相关,其地位和作用也 显得越来越重要。 嵌入式系统作为一种专用的计算机系统,与通用计算机相比,它有以下特点: 1 ) 为特定应用而构建,对可靠性、体积、成本、功耗等有严格限制。2 ) 系统实时 性高,嵌入式系统大多用于过程控制,要求对外来的事件做出实时反应,所以嵌 入式系统一般都是实时系统。3 ) 软硬件结合紧密,嵌入式系统的软件都是针对相 应的硬件编写的,软硬件结合非常紧密,当硬件平台发生改变时,软件需要做较 大的修改。4 ) 系统资源有限,由于考虑到体积,功耗,成本和可靠性等方面因素, 嵌入式系统的集成度很高,存储容量和c p u 的处理能力跟通用计算机相比都很有 限。因为以上一些特点,嵌入式系统的开发方法与通用计算机上纯软件的开发方 法有很大的不同。 嵌入式系统是针对特定目标的专用计算机系统,软硬件结合非常紧密,嵌入 式系统的构成也是千差万别,这些都使得嵌入式系统的开发变得非常困难。本论 文对嵌入式系统的开发过程进行了研究,在软件工程的基础上,结合嵌入式系统 开发的特点,提出了嵌入式系统开发的工程化方法,讨论了针对某个特定目标, 按照工程化的方法如何建立一个嵌入式系统。 本论文按照工程化的观点,将嵌入式系统设计过程分为需求分析,系统设计, 系统实现,系统测试和调试几个阶段,确定了每个阶段的任务和实施方法,结合 嵌入式系统开发的特点,如系统需求的限制,系统规模的估算,开发计划的制定 及实旌过程中的调整机制,软硬件协同开发,驱动程序开发调试等分别做了论述。 在整个工程化方法实施过程中,强调了计划的重要性和时间概念。 面对日益复杂的嵌入式应用,如何更好地实现应用,更方便,更高效的开发 出功能强大应用系统,已成为嵌入式系统开发面临的重要问题。研究嵌入式系统 开发从分析、设计、实现到测试这一整个开发过程的模型系统和工程化方法具有 很重要的实用价值。 关键词:嵌入式系统,工程化方法,软硬件协调设计,驱动程序开发 重庆大学硕士学位论文 英文摘要 a b s t r a c t w i t ht h ed e v e l o p m e n to ft h ec o m p u t e rt e c h n o l o g y , t h ea p p l i c a t i o no fe m b e d d e d s y s t e mi sm u c hw i d e r , i td i s t r i b u t e se v e r yf i e l d ,s u c ha si n d u s t r i a lc o n t r o l ,i n t e l l i g e n c e a p p l i a n c e ,b u s i n e s s ,t e l e c o m m u n i c a t i o n , m e d i c a l ,e t c i th a sc l o s er e l a t i o nw i mh u m a n l i f e a n di t sp o s i t i o na n df u n c t i o nb e c o m em o r ea n dm o r ei m p o r t a n t e m b e d d e ds y s t e mi sad e d i c a t e dc o m p u t e rs y s t e m c o n t r a s tt og e n e r a lc o m p u t e r s y s t e m i th a ss e v e r a lf b a t i l r e sa sf o l l o w :e m b e d d e ds y s t e mw i l lb ec r e a t e dt oc o m p l e t e ap a r t i c u l a rf u n c t i o n ,a n di tr e s t r i c t sp o w e rc o n s u m e , v o l u m e , c o s t ,r e l i a n c e 2 i n g e n e r a l ,e m b e d d e ds y s t e mi s ar e a lt i m es y s t e m ,b e c a u s ei ti so f t e ni m p l i c a t e di n p r o c e d u r ec o n t r o lf i e l d ,a n dn e e d st or e a c tt oe x t e r n a li n c i d e n ti nt i m e 3 e m b e d d e d s y s t e m ss o f t w a r ei sp r o g r a m m e do nb a s i so fp u r p o s eh a r d w a r e ,s os o f t w a r ea n d h a r d w a r eh a v ec l o s er e l a t i o nw i t he a c ho t h e r s o f t w a r ew i l lc h a n g el a r g e l yi ft h e h a r d w a r ep l a t f o r mc h a n g e s 4 d u et oc o n s i d e r a t i o no ff a c t o r so fv o l u m e ,p o w e r c o n s u l n e ,e m b e d d e ds y s t e mh a sh i g hi n t e g r a t e dd e g r e e ,l i m i t e dc a p a c i t yo fm e m o r y a n dc a l c u l a t ea b i l i t y b e c a u s eo fm a n yf e a t u r e sa b o v e ,t h em e t h o do fd e v e l o p i n ge m b e d d e ds y s t e mi s d i f f e r e n tf r o mt h em e t h o do f p u r es o f t w a r ei ng e n e r a lc o m p u t e r e m b e d d e ds y s t e mi sd e d i c a t e dc o m p u t e rs y s t e mw h i c hr e f e r st oap a r t i c u l a r a p p l i c a t i o n i tv a r i e si ne a c hc o n s t r u c t i o no fe m b e d d e ds y s t e m w h i c hm a k e sd i f f i c u l t t od e v e l o p t h i st h e s i ss t u d i e so nt h ed e v e l o p m e n tp r o c e d u r eo fe m b e d d e ds y s t e m , b a s e do ns o f t w a r ee n g l 。n c e r i n g , w i t ht h ef e a t u r eo fe m b e d d e ds y s t e md e v e l o p i n g , c o m e su pw i ma ne n g i n e e r i n gm e t h o do fe m b e d d e ds y s t e md e v e l o p i n g , a n dd i s c u s s e s h o wt oc r e a t ea ne m b e d d e ds y s t e ma c c o r d i n gt ot h ee n g i n e e r i n gm e t h o d a c c o r d i n gt oe n g i n e e r i n gp o i n t ,t h i st h e s i sd i v i d e sd e s i g n i n gp r o c e d u r eo f e m b e d d e d s y s t e mi n t od e m a n da n a l y s i s ,s y s t e ma n a l y s i s ,s y s t e mi m p l e m e n t ,s y s t e mt e s ta n d d e b u g , e x p l a i n st h er e l a t e dt a s ka n dm e t h o dr e s p e c t i v e l y c o m b i n i n gt h ef e a t u r e so f d e v e l o p i n ge m b e d d e ds y s t e m ,s u c ha st h el i m i to fs y s t e md e m a n d ,e v a l u a t eo fs y s t e m s c a l e , m a k i n gd e v e l o p m e n tp l a n , a d j u s tm e c h a n i co fp l a ni m p l e m e n t ,s o f t w a r ea n d h a r d w a r ed e v e l o p m e n tc o o r d i n a t e l y ,t h ed e v e l o p m e n ta n dd e b u g g i n go fs o f t w a r e d r i v e r , t h i st h e s i se x p l a i n s t h ea b o v ef e a t u r e sr e s p e c t i v e l y , a n de m p h a s i z e st h e i m p o r t a n c eo f p l a na n dt i m ec o n c e p t w i t hc o m p l i c a t e da p p l i c a t i o no f e m b e d d e ds y s t e m ,i tb e c o m e sa ni m p o r t a n ti s s u ei n 重庆大学硕士学位论文英文摘要 d e v e l o p i n ge i i l b e d d e ds y s t e mh o wt oa c h i e v ea p p l i c a t i o ni ng r e a ts c a l e h o wt o d e v e l o pa p p l i c a t i o ns y s t e mm o r ec o n v e n i e n t l ya n dm o r ee f f e c t i v e l y i t h a sa n i m p o r t a n tp r a c t i c a lv a l u e t or e s e a r c ho ne m b e d d e ds y s t e md e v e l o p i n gp r o c e d u r ef r o m a n a l y s i s ,d e s i g n ,i m p l e m e n tt ot e s ta n de n g i n e e r i n gm e t h o d k e y w o r d s :e m b e d d c ds y s t e m ,e n g i n e e r i n gm e t h o d ,s o f t w a r ea n dh a r d w a r e d e s i g nc o o r d i n a t e l y , d r i v e rd e v e l o p i n g i l l 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取 得的研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文 中不包含其他人已经发表或撰写过的研究成果,也不包含为获得重庆太堂 或其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本 研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。 学位论文作者签名:1 东小暇签字日期:加。7 年月s - e l 学位论文版权使用授权书 本学位论文作者完全了解重庆太堂有关保留、使用学位论文的 规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许 论文被查阅和借阅。本人授权重废太堂可以将学位论文的全部或部 分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段 保存、汇编学位论文。 保密() ,在年解密后适用本授权书。 本学位论文属于, 不保密( t ) 。 ( 请只在上述一个括号内打“4 ”) 学位论文作者签名:7 东小矶戋导师签名:学位论文作者签名:f 怎小以爻导师签名: 签字日期:钿7 年月fe t 签字日嘲年幺月6 日 f 重庆大学硕士学位论文1 绪论 1 绪论 1 1 嵌入式系统概述 1 1 1 嵌入式系统的概念和特征 计算机系统可分为通用计算机系统和专用计算机系统,后者往往以嵌入的方 式存在,即嵌入式系统。嵌入式系统具有便利灵活、性能价格比高,嵌入式性强 等特点,广泛应用于工业控制、航天科技、智能家电、商业、通信、医疗器械等 领域,其地位和作用显得越来越重要。 嵌入式系统常见的定义为【1 】:嵌入式系统是以特定的应用为目的,以计算机 技术为基础,对功能、可靠性、成本、体积、功耗等方面有严格要求的专用计算 机系统。嵌入式系统的硬件和软件高度集成,常作为一个功能模块嵌入到一个更 大的系统中。 嵌入式系统作为一种专用的计算机系统,与通用计算机相比较,它有很多特 点【3 1 1 4 5 】:针对特定应用而构建的系统,对可靠性、体积、成本、功耗等有严格 限制。系统实时性高,嵌入式系统大多用于过程控制,要求对外来的事件做出 实时反应,所以嵌入式系统一般都是实时系统。软硬件结合紧密,嵌入式系统 的软件都是针对相应的硬件编写的,软硬件结合非常紧密,当硬件平台发生改变 时,软件需要做较大的修改。系统资源有限,由于考虑到系统的体积、功耗、 成本和可靠性等方面的原因,嵌入式系统的集成度很高,存储容量和微处理器的 处理能力跟通用计算机相比都很有限。因为以上一些特点,嵌入式系统的开发方 法与通用计算机上纯软件的开发方法有很大的不同。 1 1 2 嵌入式系统的构成 嵌入式计算机系统由硬件和软件组成。硬件的集成度较高,其中微处理器和 存储器,内部的总线,有的还包括外部的端口都集成在一个芯片上,称之为单片 机。软件比较突出的特点就是有部分软件是直接驱动硬件设备的。 嵌入式系统的硬件构成 1 ) 嵌入式微处理器 嵌入式系统的核心是嵌入式微处理器。嵌入式微处理器的内部一般都集成了 r o m ,r a m ,串口,总线接口,外设接口,有的还集成了a d ,d a 转换模块, 这样可以缩小系统体积、降低功耗、提高可靠性。 2 1 外设接口 这里的外设分为两类:一类是普通外设,如作为输入、输出的按键和显示设 备,用于通信用的串口等;另一类是专用的外设,如语音编解码芯片,信道编码 重庆大学硕士学位论文1 绪论 芯片,通信控制器芯片等等,用来实现特定功能。实际应用中,用户要求的功能 不同,所使用的外设也各异。专用外设通过外设接口与计算机相连,所以在嵌入 式系统设计中,接口设计显得很重要。不管是常规外设还是专用外设,其接口功 能都一样,它们都是提供计算机与外设间信息传输的通路,实现系统的输入、输 出,或者完成电平的转换,模数、数模转换等。 3 ) 操作控制台 嵌入式系统通常有操作控制台和状态指示设备,以实现人机交互。规模较大 的系统带有键盘和显示屏,通过专门的控制台软件对系统进行控制。规模较小的 系统控制台则相对简单,可能只是操作开关和一些系统的状态指示灯。 嵌入式系统的软件系统 嵌入式系统具有针对特定应用而建立的硬件平台,还须配备相应的软件系统。 两者相互配合才能构成一个有效系统。由于嵌入式计算机应用极其广泛,系统规 模相差很大,所以它们所具有的软件系统也会大不相同。 1 ) 嵌入式操作系统 在复杂的嵌入式系统中,系统的资源较为丰富,用户需求较为复杂,需要通 过操作系统来完成系统资源的管理和多任务并行处理的管理。嵌入式系统的应用 环境一般都要求实时性,即要求系统对外界输入做出实时反应,所以嵌入式系统 通常一般都是实时系统,配置的是实时操作系统。实时操作系统实现了对外部事 件的实时反应。某些过程控制的应用中,对系统实时性要求很高,如果对某个事 件的响应超时,会导致系统的崩溃,甚至产生严重后果。 2 ) 用户程序 用户程序的核心问题是实现用户所要求的功能,用户程序的优劣对整个系统 的性能产生直接影响。对于一些简单的嵌入式系统,由于没有配置操作系统,系 统中的硬件资源管理都由用户程序来实现。在这种情况下,用户程序需要实现按 键、显示、专用外设等硬件驱动功能。 1 2 论文的背景及研究内容 1 2 1 论文的背景 计算机技术的发展已经进入了后p c 时代,以单片机、嵌入式微处理器、数字 信号微处理器为核心的嵌入式计算机系统,以其软硬件可剪裁、高度实时性、高 度的可靠性、功能专一、低功耗等诸多有点而得到极为广泛的应用。嵌入式系统 是针对特定目标的专用计算机系统,其硬件构成千差万别,软件系统是基于特定 的硬件平台编写的,这就使得嵌入式系统的开发变得非常困难。 目前嵌入式系统的开发缺少工程化的方法,项目的成功率较低,或者开发过 2 重庆大学硕士学位论文1 绪论 程中计划不合理,软硬件开发之间衔接不好,导致开发周期很长。所谓的工程化 方法是指将一个系统化、有条理的、可以量化的方法应用于嵌入式系统的开发。 有的项目由于对开发过程中的关键问题困难估计不足,缺少相应的技术准备,使 得计划脱离实际,更为严重的是在现有的技术条件下,某些方案根本行不通,浪 费了人力,物力还要使得项目开发重头开始,或者项目终止。嵌入式系统分析和 设计方面的主要问题为:分析设计没有一个相对一致的标准;分析设计方法 不确定;从分析设计到制作和编程没有一个较为连贯的工程化方法,使得产品 形成的过程中,人为因素影响较大;分析设计成果的重用性较差。 以上方面的问题制约了嵌入式系统的发展,从事嵌入式系统应用开发的组织 和团体,大多采用小组或作坊式的开发模式,这使得开发较复杂或大型系统的工 作变得十分困难甚至无法进行,常因为系统需求的不断变化或小组成员的流动导 致项目失败。 如何能够在预定的时间内,按质按量的完成嵌入式项目的开发,显得非常重 要,将嵌入式系统的设计过程规范化,工程化,用来指导实际的嵌入式系统开发, 将具有重要的理论和实践意义。 1 2 2 论文研究内容 借助于工程化的观点,本文研究了嵌入式系统开发的过程,论述了嵌入式项 目开发的特点、难点,指出了对于一个嵌入式项目的开发需要做那些准备工作, 对于嵌入式系统开发人员需要具备哪些素质,在开发过程中软硬件人员如何协调, 如何控制项目开发的进度等方面,提出了嵌入式系统设计的工程化方法:将项目 的开发分为需求分析、系统设计、系统实现、系统调试、测试几个阶段,对每个 阶段的任务,实施的方法和完成之后所产生的图表分别加以说明。 以工程化方法为指导,本文实现了应用于通信领域的嵌入式系统一有线远传 系统,并成功地完成了设计、调试、测试工作,完成了系统需求和各项技术指标 要求。 1 3 本章小结 本章对嵌入式系统进行了介绍,说明了嵌入式系统的概念和特征,系统构成。 论述了嵌入式系统开发与纯软件的系统开发的不同,引出了本文的研究背景和研 究内容。 重庆大学硕士学位论文2 嵌入式系统设计的一般理论 2 嵌入式系统设计的一般理论 2 1 软件开发基础 嵌入式系统设计过程中,软件开发占据了很大的工作量。由于嵌入式系统软 硬件结合紧密的特点,使得软件开发在开发环境,开发过程,要求的知识背景等 方面与传统的软件开发有很大的不同。 2 1 1 软件开发过程 交叉开发环境 图2 1 交叉开发环境 f i 9 2 1e n v i r o n m e n to f c r o s sd e v e l o p m e n t 嵌入式系统考虑成本、体积、功耗等方面的限制,其资源往往比较有限,软 件的开发一般都采用交叉开发的方式,见图2 1 。软件开发的编译、链接在宿主 机( h o s t ) 上完成,软件真正的运行在嵌入式目标机( t a r g e t ) 上。宿主机和目标 机通过串行端口( r s 2 3 2 ) ,并行端口或者网络( e t h e m e t ) 相连形成通信链路,共同构 成嵌入式软件的开发环境。 软件开发过程【1 0 l 图2 2 软件开发过程 f i 9 2 ,2s t e p so f s o f t w a r ed e v e l o p m e n t 4 重庆大学硕士学位论文2 嵌入式系统设计的一般理论 如图2 2 所示,嵌入式软件开发,从源代码文件到可执行的二进制映像文件 的产生分为三步:第一步,每个源文件都必须被编译或汇编成一个目标文件 ( o b j ) ;第二步,将第一步产生的所有目标文件要被链接成一个目标文件,也 叫做可重定位程序( r e l o c a t a b l ep r o g r a m ) ;第三步,进行重定址( r e l o c a t i o n ) 过 程,把物理存储器地址指定给可重定位程序里的每个相对偏移处。第三步的结果 就是产生一个可以在目标系统上运行的二进制映像文件。 1 ) 编译 编译的作用是把源代码翻译为特定微处理器的一系列操作码。每种微处理器 都有自己的机器语言,所以要选择一个编译器,可以为指定的目标微处理器产生 目标代码。在嵌入式系统开发中,编译器是在主机上运行的,想这样运行在一个 计算机平台上为另一个平台产生代码的编译器就称之为交叉编译器 ( c r o s s c o m p i l e r ) ,使用交叉编译器是嵌入式软件开发的特征。 目标文件以一个描述后续段的头部开始,每段包括一块或几块源于源文件的 代码或数据,这些块被编译器重新组合到相关的段中,代码块都被收集到t e x t 段中,已初始化的全局数据( 包括它们的初始值) 被放到d a t a 段中,未初始化 的全局变量被放在b s s 段。目标文件里还有一个符号表,记录了源文件引用的所 有变量和函数的名字和位置。这个表的部分内容可能不完整,要一直到链接时才 会解决这些不完整的引用。 2 1 链接 链接就是将编译产生的目标文件以一种特殊的方式组合起来。目标文件分开 来看是不完整的,特别是那些有未解决的内部变量和函数引用的目标文件。链接 的作用就是把所有的耳标文件组合到一起,同时解决符号问题。 链接后的输出是同样格式的一个目标文件,其中包含了输入目标文件的所有 的代码和数据。当链接器运行之后,所有输入目标文件的代码将在新文件的t e x t 中,所有初始化变量和未初始化变量分别在d a t a 和b s s 段中。在链接器合并各 段内容的过程中,还要解决符合问题。在合并所有代码和数据段,解决了符号的 引用之后,链接器产生一个特殊的可重定位的拷贝,然后给其内部的代码和数据 指定存储区地址。 3 ) 定址 定址器的作用是把可重定址程序转换成可执行的二进制映像。在定址的过程 中,需要用户对定址器进行相关的设置,以适应目标板上的存储器配置。定址器 根据存储器配置信息,为可重定址程序里的代码和数据段指定物理内存地址,产 生一个包含二进制内存映像的输出文件。 4 1 下载调试 重庆大学硕士学位论文 2 嵌入式系统设计的一般理论 在主机上编译、链接产生了一个可执行二进制映像文件,需要采用某种方式 将文件下载到目标系统上运行。 2 1 2 软件开发中的硬件基础 嵌入式系统的软件在微处理器中运行,充当系统大脑,完成对外部设备的控 制,所以在软件的开发过程中,需要了解微处理器控制外设的机制。当选定了某 种微处理器后,需要深入地了解这种微处理器的性能特点、组成结构和各个功能 模块的控制方式等。另一方面要熟悉被控制的设备,包括它遵从的总线接口方式、 通信方式、工作模式等。作为工程应用,软件开发人员需要明确微处理器的以下 一些方面: 微处理器的性能和特征 微处理器性能特征包括有:微处理器的工作电压范围、功耗;微处理器的工 作时钟频率;微处理器的数据宽度、地址空间、内置的数据存储器、程序存储器 的容量空间;微处理器提供的定时器数量、i o 端口数量、中断数量、是否提供 看门狗定时器;向外提供哪些接口类型:串口、i c 接口、s p i 接口、c a n 总线、 j t a g 接口;电源管理,是否有低功耗和省电模式。 微处理器的功能模块组成 微处理器功能模块通常包括定时器、中断控制、i o 控制、接口总线控制、 电源管理等几个部分,每个模块都有相应的控制器寄存器来完成控制。学会设蔑 这些寄存器才能实现模块的功能。 中断系统的使用 嵌入式的应用中,中断系统是非常重要的部分。为了在系统实现中断,需要 硬件和软件的配合。硬件将外部事件引到微处理器的中断脚上,软件实现对中断 的管理。为了应用中断,要搞清所选微处理器的中断机制,外部中断的类型是边 沿触发还是电平触发,中断优先级如何设定,中断标志是手动清零还是自动清零, 中断禁止,中断屏蔽的使用,然后才能实现对中断的管理。 存储器系统 微处理器的存储器系统分为内置和外置两部分。内置是在微处理器内部集成 的,一般容量有限,当存储空间不够时,需要对存储空间进行扩展,用到外部存 储空间。不同体系结构的微处理器,其存储器空间编址不同。冯纽曼结构的微处 理器,其程序存储空间和数据存储空间是统一编址的,而哈佛结构的微处理器则 是程序空间和数据空问分别编址。在数据的存储方面,i n t e l 采用的是小端模式, m o t o r o l a 采用的是大端模式,a r m 是大小端模式可选。大端模式是指,当数据超 过一个字节时,数据的高字节存储在低地址中,数据的低字节存储在高地址中, 而小端模式则相反,数据低字节放在低地址,商字节放在高地址。模式的选择对 6 重庆大学硕士学位论文2 嵌入式系统设计的一般理论 于外设的访问很重要,很多外设需要根据微处理器存储模式的选择进行相应的设 置,从而实现正常访问。 存储器映射 微处理器一般通过地址映射的方法将各存储器分配到不同的地址空间。根据 地址空间的分配可以知道哪段空间是系统使用的,哪段是系统保留的,哪段是用 户使用的,哪段是用于引导系统的,哪段是外设映射的等。对于不同的地址空间, 其寻址方式和访问方式可能会有不同,在用汇编语言编程时要小心使用。 i o 端口控制 对于i o 端口的控制,一般有两个对应的寄存器,一个数据寄存器,一个方 向控制寄存器。方向选择寄存器用来选择i o 脚的作为输入还是输出,如果是输 入,则可以通过读取数据寄存器来获得端口脚的状态,如果是输出,则可以通过 数据寄存器来实现对端口脚的置高或置低。当微处理器处理不同工作模式下,其 端口控制方式可能会有不同。 串口控制 串口是嵌入式微处理器常用的通信方式,有两种类型的串口,一种是全信号 的,一种是简化版的,只有收数据,发数据,地线三个引脚。对于简单通信,采 用简化版的串口就满足要求了。串口控制主要有几方面:( 1 ) 模式设置,包括串口 速率设置,数据位,停止位个数,是否用奇偶校验等。( 2 ) 数据发送和接收功能实 现需要操作相关的数据发送、接收寄存器,线路状态寄存器、串口中断控制寄存 器来完成。 定时器系统的使用 定时器用来实现定时和计算功能。定时器的使用方式通常是根据系统时钟设 定一个初值,然后在系统时钟的工作下,定时器的值递减,当减到0 时,会产生 一个定时中断,从而实现定时的功能。以上可以称之为物理定时器的实现。对于 在嵌入式软件中大量使用的定时器则称之为逻辑定时器。它是建立在物理定时器 之上的,通过对物理定时器的中断进行计数来实现定时的。 直接存储器存取 直接存储器存取( d m a ) 是一种直接在两个硬件之间传输数据块的技术。借助 于d m a 控制器,可以在不需要微处理器干预的情况下,实现两个硬件设备的大数 据量传输。d m a 的工作机制:当一块数据要被传输时,微处理器向d m a 控制器提 供源地址和目标地址以及要传的字节数,d b l a 就自动把数据从源地址传输到目标 地址,在每个字节被拷贝之后,源地址和目标地址自动加1 ,同时剩余字节数自 动减1 。当剩余字节数为0 时,块传递结束,d m a 向微处理器发送一个中断。利用 d m a ,微处理器可以把更多的时间花在对数据的处理上,而在数据的传输方面花费 7 重庆大学硕士学位论文 2 嵌入式系统设计的一般理论 更少。 看门狗的使用 为了提高系统的可靠性,嵌入式系统中一般都有一个看门狗定时器。其基本 工作原理就是:该定时器在被赋予一个初始化值,启动之后,就开始计数,软件 需要在一定的时间间隔内对其操作,重启,使得定时器重新开始计数,否则当固 定的时间到了,定时器到期之后会输出一个脉冲,对系统进行复位操作。如果定 时器到期,一般都是因为软件运行发生故障而无法及时对看门狗定时器进行重新 启动造成的。 2 1 3 嵌入式软件架构 软件架构分为以下几种 2 1 : 轮转结构 轮转结构是一种最简单的结构,主循环简单地依次检查每个i o 设备,并且 为需要服务的设备提供服务。它没有中断,没有数据共享,无须考虑延时时间, 对于能用该结构解决问题的系统,这种结构是首选。 w h i l e ( t r u e ) i 坟洳设备a 需要服务) 处理设备a 需要服务; ) i f 【泊设备b 需要服务) 处理设备b 需要服务; ) ) 带有中断的轮转结构 在这种结构中,中断程序处理硬件特别紧急的需求,然后设置标志,主循环 轮询这些标志,然后根据标志进行后续的处理。这种结构的优点是可以对优先级 进行更多的控制。中断程序可以获得很快的响应,因为硬件的中断信号会中断微 处理器正在进行的操作,转去执行中断程序。 v o i di n t e r r u p th a n d l e d e v i c e a ( v o i d ) f d e v i c e a = t r u e ; ) v o i di n t e r r u p th a n d l e d e v i c e b ( v o i d ) f d e v i c e b = t r u e ; 8 重庆大学硕士学位论文2 嵌入式系统设计的一般理论 w h i l e ( t r u e ) i f 【f d c v i c e a ) f d e v i c e a = f a l s e ; 处理设备a 需要服务: ) i f ( f d e v i c e b ) f d e v i c e b = f a l s e ; 处理设备b 需要服务: ) o4 ) 函数队列调度结构 这种结构中,中断程序在一个函数指针队列中添加一个函数指针,以供主程 序调用。主程序仅需要从该队列中读取相应的指针并且调用相应的函数执行。 v o i di n t e r r u p th a n d l e d e v i c e a ( v o i d ) 将函数f u n c t i o n _ a 放到函数队列: ) v o i di n t e r r u p th a n d l e d e v i c e b ( v o i d ) 将函数f u n c t i o n _ b 放到函数队列: ) w h i l e ( t r u e ) w h i l e ( 函数队列为空) ; 调用队列中的一个函数 v o i df u n c t i o n _ a ( v o i d ) 处理设备a 的请求; ) v o i df u n c t i o n _ b ( v o i d ) 处理设备b 的请求; ) 实时操作系统结构 9 重庆大学硕士学位论文2 嵌入式系统设计的一般理论 在实时操作系统结构中,中断程序可以处理大多数的紧急情况,然后用信号 量的方式通知任务来完成相关的后继工作。其中信号量的发送和接收是由操作系 统来完成的,而且操作系统会根据不同的任务优先级来进行任务调度。 v o i di n t e r r u p th a n d l e d e v i c e a ( v o i d ) 设置信号量a ; ) v o i di n t e r r u p th a n d l e d e v i e e b ( v o i d ) 设置信号量b : v o i d t a s k l ( v o i d ) f w h i l e ( t r u e ) 等待信号量a : 处理a 设备的请求; ) v o i d t a s k 2 ( v o i d ) w h i l e ( t r u e ) 等待信号量b : 处理b 设备的请求: ) 2 1 4 驱动程序开发过程 驱动程序开发过程如图2 3 。 图2 3 驱动程序开发步骤 f i g2 3s t e p so f d r i v e rd e v e l o l ,r n e n t 1 0 重庆大学硕士学位论文2 嵌入式系统设计的一般理论 构造设备的存储映像控制及状态寄存嚣的数据结构 创建一个c 风格的s t r u c t ,跟设备的寄存器相对应,通常可以查阅外设的数 据手册获得控制和状态寄存器以及它们的偏移地址表,然后从最低偏移处的寄存 器开始填充s t r u c t ,如果有一个或多个位置未用,或保留时,需要用哑元变量进行 填充。在定义结构时特别要注意微处理器的大端和小端模式。 例如: 通过构建的数据结构实现对外设的访问 严定义一个指向结构的指针 h o s t _ p o r t _ t * h o s t p o r t _ p t r ; 搴假设外设的基地址为0 x c 0 0 0 ,将基地址的值赋给该指针。 # d e f i n eh o s t _ p o r ta d d r0 x c 0 0 0 h o s t p o r t _ p t r = ( h o s tp o r t _ t 芍h o s t _ p o r ta d d r ; 这样就可以通过对h o s t p o r t的操作来对外设进行访问了。_ptr 记录目标硬件和设备驱动状态的一种变量 驱动程序设计的第二步是确定需要记录硬件和设备驱动的哪些状态。 对硬件的初始化和控制函数的编写 知道了硬件的初始化过程和工作过程之后,就可以编写实际与设备交互和控 制设备的代码了。 根据设备所需要提供的功能,实现为应用程序提供的一组a p i 函数调用。 中断方式的实现 确定中断跳变的极性,中断向量表的地址,对中断相关的寄存器进行初始化, 通过硬件方式确定外部事件是否能够触发中断,是否能够进到中断服务程序中, 然后在中断服务程序中添加对中断事件的处理。 重庆大学硕士学位论文2 嵌入式系统设计的一般理论 2 2 嵌入式系统设计现状 2 2 1 嵌入式系统设计的特点 软硬件同时开发 嵌入式系统开发一个很重要的特点是要同时进行软件和硬件的开发。硬件是 平台和基础,加上软件的驱动和控制才能实现系统的功能。开发过程中,软件和 硬件开发既是相对独立进行又需要互相配合。硬件的开发周期比较长,在硬件平 台搭建好之前,一般的嵌入式软件设计会从厂商提供的评估板开始进行,在等待 目标硬件开发完成的同时,实现部分软件开发。等到目标板的硬件实现后,再转 到目标板上进行开发,这样会缩短项目的开发周期。 专用的开发环境 嵌入式软件一般都采用交叉开发,软件的开发调试变得比较困难。复杂的嵌 入式系统还会引入嵌入式操作系统,操作系统一般是针对多种微控制器编写的, 对于某种特定的微控制器,需要进行操作系统移植。为了实现系统调用还必须要 熟悉操作系统所提供的应用程序接口,才能在基于操作系统的平台上实现应用程 序的开发。 软件需要直接控制硬件 嵌入式系统软件常常需要直接操作硬件,对于嵌入式系统软件开发人员来说, 要求不仅要有良好的软件知识,而且要对硬件有相当的了解,例如微处理器结构, 微处理器上电初始化过程,定时器、中断机制的控制方式,一些专用外设的工作 流程、控制方式,微处理器如何对外部设备寻址,采用的访问方式为中断还是查 询等等。只有在理解硬件的基础上才能实现对硬件的驱动和控制。 系统的升级和维护困难 嵌入式系统软件是固化在硬件系统上的,升级和维护都比较困难,所以对软 件的可靠性要求很高。 2 2 2 嵌入式系统设计存在的问题 嵌入式系统开发比较困难,一方面是由于嵌入式系统开发本身的特点:软硬 件要同时开发,采用的是交叉调试环境,开发环境需要专门配置,软件需要直接 与底层硬件交互;另一方面是由于嵌入式系统种类繁多,应用极其广泛,没有一 个较为一般的方法和步骤来指导项目开发的实施。软件工程方法只是部分适用, 它不是针对嵌入式系统设计的方法,没有考虑到嵌入式系统设计的特点。面向对 象的设计方法,在嵌入式系统设计中可以用于系统分析阶段,在系统设计阶段和 系统实现阶段则需要一种工程化的方法来指导,从而保证项目能够有计划、有条 理的进行。所以,在嵌入式系统项目的开发过程中,有一个工程化的方法和步骤 可以遵循,以此为指导显得非常重要。 重庆大学硕士学位论文 2 嵌入式系统设计的一般理论 2 3 本章小结 本章介绍了嵌入式系统开发的一般理论,讨论了嵌入式系统软件开发的一些 基础理论,接着讨论了嵌入式系统设计存在的问题,引出了在设计过程中工程化 方法的重要意义。 1 3 重庆大学硕士学位论文 3 嵌入式系统设计的工程化方法 3 嵌入式系统设计的工程化方法 3 1 工程化方法概述 3 1 1 系统设计的要求 不同的嵌入式系统功能不同,实现的方式也不同,但是作为嵌入式系统这个 大类,其设计的基本要求和设计步骤是基本相同的。嵌入式系统设计的基本要求 有以下几个方面: 满足用户功能需求 嵌入式系统设计的出发点是满足用户功能需求。根据用户需求来确定系统要 实现的功能,在理解了功能需求的基础上对系统的规模和复杂程度进行估计。用 户需求是系统设计的依据,需要在满足功能需求的基础上来考虑性能指标。 体积、重量、功耗要求 嵌入式系统设计时,除了要实现用户功能,还要考虑系统对体积、重量和功 耗方面的要求。嵌入式系统一般是嵌入在一个更大的系统里面,作为更大系统的 子模块而存在,所以有体积的限制。很多嵌入式系统是便携式、可移动设备,对 于这些设备而言,是用电池供电的,所以对功耗、体积和重量都有严格要求。 实时性要求 嵌入式系统的一个很大特点就是必须对事件做出实时响应和处理,所以嵌入 式系统通常都是实时系统。实时系统分为硬实时和软实时两类,硬实时对系统的 响应时限要求很高,不在规定的时限内做出响应会引发严重后果;软实时系统如 果不在规定的时限内响应事件会降低系统的性能,不会产生严重后果。 3 1 2 工程化方法的结构 嵌入式系统的开发过程,按照工程的观点,分为四个阶段:需求分析阶段、 系统设计阶段、系统实现阶段、系统测试阶段。每个阶段都明确了阶段任务,阶 段结束标准以及该阶段在整个项目开发中占的相对时间,也可以理解为相对的工 作量。这样便于制定项目进度计划,实时掌控项目进度,有效地实施项目。整个 工程化方法的结构见表3 1 。 需求分析阶段,通过设计人员与用户的交流沟通,确定系统需求,形成需求 文档。这个阶段的工作是整个项目开发的基础,同时也是较困难的部分。因为需 求在开始往往是不明确的,需要反复的交流、求证,借助图表工具或u m l 语言 建模来较为准确地描述系统。理解系统的工作背景和工作流程,对需求的合理性 进行评估,阶段结束时得到一个清晰的系统需求规格表。该阶段的实施大约占到 整个项目的1 0 的时间。 1 4 重庆大学硕士学位论文3 嵌入式系统设计的工程化方法 系统设计阶段,对系统需求进行评估,制定项目进度计划,完成系统设计、 系统硬件方案设计,系统软件方案设计。系统设计主要实现系统的功能模块划分, 确定软件结构,画出系统框图和数据流图。在硬件方案中,选择适当的组件来实 现系统,确定系统的功能模块组成和模块之间的接口方式,画出系统功能块图; 软件方案设计中,确定软件模块的划分,模块之间的接口定义,画出软件模块图, 画出软件流程图,还有制定系统测试方案。该阶段约占整个项目时间的2 0 。 系统实现阶段,将上一个阶段的设计进一步细化,将系统功能块图细化成硬 件原理图,电路连线图,将软件模块图,软件流程图转化为源程序清单。这是工 作量较大的阶段。对硬件来说,需要熟悉相关器件或组件的资料、手册,借助硬 件设计工具和必要的仪器设备来完成。对软件而言,需要熟悉开发语言、软件开 发工具,配置开发调试环境,熟悉操作系统调用,熟悉相关的硬件驱动,编写和 调试代码。该阶段大约会占整个项目时闫的3 0 。 系统测试阶段,其目标是测试和调试系统功能,验证系统是否工作正常,功 能是否能够实现,性能是否满足要求。测试阶段又进一步分为单元测试、集成测 试、系统测试、环境测试几个阶段。测试和调试常常是交替进行的,如果测试通 过,则进入下一步;如果有问题,则需要调试查找问题,改正后重新进行测试, 直到测试通过。这个阶段的工作量最大,占用时间也最大,约占整个项目的4 0 的时间。 表3 1 工程化方法结构表 t a b l e3 1s t r u c t u r et a b l eo f e n g i n e e r i n gm e

温馨提示

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

评论

0/150

提交评论