




已阅读5页,还剩49页未读, 继续免费阅读
(计算机应用技术专业论文)soc系统级设计中对操作系统的支持技术的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
声明 y8 8 8 1 0 本人郑重声明:此处所提交的硕士学位论文s o c 系统级设计中对操 作系统的支持技术的研究,是本人在华北电力大学攻读硕士学位期间,在 导师指导下进行的研究工作和取得的研究成果。据本人所知,除了文中特别加以 标汁和致谢之处外,论文中不包含其他人已经发表或撰写过的研究成果,也不包 含为获得华北电力大学或其他教育机构的学位或证书而使用过的材料。与我一同 工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢 意 学位论文作者签名:日 关于学位论文使用授权的说明 本人完全了解华北电力大学有关保留、使用学位论文的规定,即:学校有 权保管、并向有关部门送交学位论文的原件与复印件:学校可以采用影印、缩 印或其它复制手段复制并保存学位论文;学校可允许学位论文被查阅或借阅; 学校可以学术交流为目的,复制赠送和交换学位论文;同意学校可以用不同 方式在不同媒体上发表、传播学位论文的全部或部分内容。 ( 涉密的学位论文在解密后遵守此规定) 作者签名 日期 导师签名:盈丝垒 i 6 训 一一一 兰j ! 生垄盔堂堡主堂鱼堡塞 摘要 随着芯片集成度的飞速提高,集成电路的设计已经进入s o c 时代。使用软硬件 协同设计的方法,系统芯片必然包括硬件和与之切、同工作的软件。操作系统不仅能 提高芯片的性能和可靠性,而且能改善设计的可重用性、减少设计的上市时间 。( t i m e t o m a r k e t ) ,日益受到重视。由于s o c 设计的复杂性的 _ = 1 益提高,s o c 要求 在多种异构的平台上进行验证。通过操作系统可以减少验证的工作量,加快丌发的 进程。本课题主要研究内容是:在s o c 系统级设计阶段仿真集成开发环境对操作系 统的支持技术。 在设计流程尽可能的早期,基于事务级( t r a n s a c o ) ,那么“c o s i i 将被返回到被中断了的任务。 2 时钟节拍 uc o s - i i 需要用户提供周期性信号源,用于实现延时和确认超时。时钟节拍源 可以是专门的硬件定时器,也可以是来自5 0 6 0l l z 交流电源的信号。节拍率应为 每秒i 0 1 0 0 次,或者说r o l o oh z 。时钟节拍率越高,系统的额外负荷就越重。 时钟节拍的实际频率取决于用户应用程序的精度。 必须在多任务系统启动后再开启时钟节拍器,也就是在调用o s s t a r t 0 之后。 换句话说,在调用o s s t a r t 0 之后做的第一件事是初始化定时器中断。允许时钟肖 拍器中断放在系统初始化函数o s i n i t 0 之后,放在调用多任务系统启动函数 o s s t a t0 之前是错误的。这种错误导致时钟节拍中断有可能在uc o s 1 1 启动第一 个任务之前发生。由于此时1 2c o s i i 处于种不确定的状态之中,用j o 应用程序 有可能崩溃。 uc o s i i 中的时钟节拍服务是通过在中断服务子程序中调用o s t i m e l ic k 0 实 现的。o s t i m er 1 1 i e k 0 的调用由用户定义的时钟节拍外联黼数0 s ! 、i m e t f o k h 0o k 0 开 始,这个外联函数可将时钟节拍函数o s t i m e t i c k 0 予以扩展。首先调用 o s t i m e t ic k h o o k 0 是在时钟节拍中断服务开始时,以给用户完成许多苛刻工作的机 会。o s t i m e t i c k0 中大量的工作是给每个用户任务控制块o s t c b 中的时问延时项 o s t c b d i y 减l ( 如果该项不为0 ) 。o s t i m e t i c k 0 从o s t c b l is t 开始,沿着o s t c b 链表做,一直做到空闲任务。当某任务的任务控制块中的时间延时项o s t c b d i y 减 到0 时,这个任务就进入了就绪态,而确定被任务挂起函数o s t a s k s t x s p e n d ( ) 挂起 的任务则不会进入就绪态。o s t i m e t i c k ( ) 的执行时问直接与应用程序中建立的任务 个数成正比。 o s t i m e t i c k 0 还通过凋用o s t i m e ( ) 累加开机以来的时闯,用的是一个无符号3 2 位变量。需要注意的是,在给o s t i m e 0 加1 之前使用了关中断,因为多数微处理器 给3 2 位数加1 的操作都须使用多条指令。时钟节拍中断服务子程序利用信号量或 邮箱给这个高优先缀的任务发送信号。 华北电力大学硕士学位论文 2 ,5g c l i n u x 操作系统简介 p c l i n u x 是专为无存储器管理单元m m u 的微控制器打造的嵌入式l i n u x 操作系 统。i t c l i n u x 首先被移植到m o t o r o l a 的m c 6 8 3 2 8d r a g o n b a l l 集成微处理器上。 之后,p c l i n u x 越来越受到业界的青睐,被移植到更多的无m m u 的芯片上。作为 种嵌入式操作系统,p c l i n u x 有以下特点: 通用的l i n u x a p i ; p c k e r n e l 5 1 2k b : i x c k e r n e l + i 具 o ,那 么如果读c s r 寄存器会发现r x r d y 位也为1 ,即还没有输入c s r 的状态就成了有输 入:或者用户设置l c r 寄存器为l o ,又接收了1 0 个字符,此时z c f 寄存器为0 , 读出的c s r 寄存器的r x r d y 为0 ,明明有输入了但c s r 的状态确是无输入。 caseo x 7 :r h r c h a l _ c = d a t a ; w r i t e ( f d _ o u t ,e ,1 ) j ) 以上两个问题,说明目前不能用c s r 寄存器来判断u a r t 的输入状态。 t c :t ij i ) e rc o u n t e ra t 9 l x 4 0 时钟计数器的特点是有一个时钟计数模块包括3 个同 样的1 6 位时钟计数通道。每个通道能被独立编程来执行广范围的功能,包括频率 度量,事件计算,时间间隔测量,脉冲产生。延迟时间和脉冲宽度调制。 兰! ! 坐垄丛堂堡主堂焦堡皇 下面对一些关键的u s a r ti o 模拟函数进行介绍: 帅f t q :t c a c c e s s ( 塑堕) a d d r = a d d rp o r t ; r w = r w _ p o r t ; s l = n s 引一p o r t j j e 地c 挺t ,。, i f ( ( a d d r = a t 9 1 t c l o w ) & & ( a d d r = a t 9 l t c h i ) & ( s i = - f a k e ) i f ( r w = = 0 ) j 才 ( d a t a = t cr e a d ( a d d r ) j d a t a _ p o r t = d a t a ; 誓赢t t r c u 愉e ;b e e nr e a d a t x d a t ”d d r j j e i s e w , i t e f d a t a = d a t ap o r t ; 勰冀捌:毫毖撕娜x 。”山。d d r ) : n t c c c f c a 5 eo x f f f e 0 0 4 0 : + t i m e ric c r4 p r i n t ( t 1 c c ru s ar t _ v u r i t e ( 0 x 0 8 x ) = o x 0 b x n ”,a d d r ,d a t a ) i f f d a t a 0 x ) s v 5 c o n = 一- , t c i m ; e 1 5 e 5 y 5 c o n1 = t c i m ; b p e a k : 3 0 兰! e 坐垄丛翌堡堂塑堡塞 o l dt c t c c o u n t e r ( v o i d ) t ci n t r 。t r u e : h :f i - t c d i j 一。r + j 。l r i t c d t 1 = u x t t t ! 。 7 p r 一l li 【h 1:41 、。 t c i n t rt a 5 e ,e p d j t et c ,r t 。,- 。 t c d t m c :a d v a n c e di n t e r r u p tc o r t t r o l l e ra i c 有8 级优先级单独的标志,中断矢量 控制器,从以下几个方面骀动a r m 7 t d m i 的n l r 0 和x f j q , 引脚:外部快速中断( f i q ) 、 三个外部中断请求( i r q o i r q 2 ) 、片上外设的中断信号。 a = a 丁9 1 一矗 c l o w ) & & ( a d d r = a t 9 2 再 i f ( r w = = 0 1 f a d ; d a t a = a i cr e a d ( a d d r ) ; d a t ap o r t = d a t a ; :辅搿麓妯。r e a d 。t x 。u d a t d d r 、。 、 e l s e w 胀 f d a t a = d a t a _ p o r t ; ;等稿:誊捌扼翥薯k 。x a t ;。”小t ”拙, ) ) 。h - j 。c 一e 二,、 3 3 华北电力大学硕士学位论文 。1 da = = e x t i n t dp r o c ( v o i d 、 n f i q _ p o r t t r u e : m r q _ p o r t = t r u e ; s , s i t c h ( e x t i n l s t a t e j i c d en : i f ( e x 石n t 0 = = f a i s e ) f a t 9 1 一u p d a t e m ,: e x t i n t o = tr u e x t i n l s t a t e = 。 l b r e a k ; ( a s e i : _ :! 1 l u p a t e m t ( ) e x t i n l s t a t e = r ; b r e a k , aseo e x t i n l s t a t e = o : 、 b r “j k ; 、 j _ 一o t _ | 。二。一。 a t 9 一i 0 一r e a d w r i t e - b y t e h a l f w o r d w o r d :模拟c p u 读写中断处理、时钟、u a r 3 1 等相关z o 寄存器的硬件操作。这里需要注意两点:c p u 读某些t o 寄存器( 如t i m e c 1 0 c k1s r 寄存器,映射地址为o x f f f e 0 0 6 0 ) 可能会改变另外一些寄存器的值, 而这种情况在正常的内存访问中是不存在的;uc i i n u x 通过读取t v r 寄存器( 映射 地址为o x f f f f f l 0 0 ) 来查询中断源,但找到一个中断源后,i v r 寄存器的相关位会 清除。这样就可以很好地模拟基于a t 9 1 x 4 0 的开发板,而且“c if l u x 针对真实基r a t 9 l x 4 0 的开发板的内核和文件系统可以很好地在上运行。 直接在在各个模块中设置中断( 通过全局的外部变量) i p r :在中断控制器a i c 中 产生中断。 e x t er f lu n :- i g r , e di n ti p r ; 华北电力人学硕士学位论文 第四章板级支持包b s p 和设备驱动程序分析 4 1 启动过程的分析与实现 在a r m 程序设计中,启动代码的编写是一个及其重要的过程,由于a r m 处理器 的启动过程相对5 1 单片机复杂,不仅要设置中断、初始化堆栈,还涉及到存储器 的地址重映射以及重映射后中断地址的搬移、初始化主程序用至的存储区等问题, 导致许多人对a r m 处理器的初始化以及启动代码的编写感到较为困难。 一般而言。,一个a r m 的启动代码必须要完成以下部分的初始化:定义入口点、 设置中断异常向量、初始化存储系统( 如果需要,进行代码的搬移) 、初始化堆栈、 初始化t ( ) 设备、初始化中断中用到的变量、丌中断、必要时改变处理器的模式和 处理器的状态、初始化c 程序中用到的存储区、引导处理器进入c 程序。其中的难 点在于内存系统的重映射和对c 程序用到的存储区进行初始化。 ( 1 ) 设簧入口指针:启动程序首先必须定义入口指针,而且整个应用程序只有个 入口指针。( 2 ) 设置中断向量:a r m 7 要求中断向量表必须设置在从0 地址丌始,连 续8 4 字节的空问,分别是复位、未定义指令错误、软件中断、预取指令错误、 数据存取错误、i r q 、f i q 和一个保留的中断向量。由于f l a s h 在系统r e m a p 之前指 向地址0 ,所以要在f 1 a s h 中安排中断向量。此时,真正有用的只有位于地址0 的 复位向量,在此安排一条bi n i t r e s e t 指令,转向引导程序,其余中断未用。接 下来在f 1 a s h 中构建一个新的中断向量表,用于在r e m a p 之后复制到片内r a m 中, 采取相对寻址的方式。 要引导一个o s 在上运行,首先需要对相关的硬件做相应的初始化操作。这罩的 初始化代码主要有两部分,s t a r t s 和a t m e l - a r c h 目录下的文件。 s t a r t s 是整个系统最开始执行的代码,全部是用a r m 的汇编语言写的,很简单。 它的主要作用是为系统的i r q 态和s v c 态分配相应豹栈空闯指针,因为目前只在 这两种c p um o d e 下工作,所以的初始化工作仅限于这两种m o d e 的栈空问。在这期 间,中断是需要被关闭的,因此在对c p s r 赋值时,采用了o x d 2 和o x d 3 ,而不 是0 x 1 2 和o x l 3 。 a t m e l a r c h 目录下是和a t 9 1 相关外围设备驱动程序相关的代码。目前涉及到 的部分有u s a r t 、t c 和a i c 。 u s a r t( u s a r t :u n i v e r s a ts y n c h r o n o u s a s y n c h r o n o u sr e c e i v e r t r a n s m i t t e r ) 是在下显示输出所必须实现的。通过u s a r t ,2 j 能将p r i n t f 的输出显示在 叶 , 而在实际的嵌入式开发中,这些显示的部分将会通过串口和主机一h 运行的超级终端 相连。嵌入式开发的第步工作基本上都是先调通串口,只有当在目标板上开发的 3 5 华北电力大学硕士学位沧文 程序可以和主机有输入输出的交互后,才能方便进一步调试程序。 t c ( t c :t i m e rc o u n t e r ) 是进行多任务调度和延时控制所必须的。l j 前这晕采用 的是第三种方式,即通过c o m p a r er ct r i g g e r ,设置r e g is t e rc 为个同定值, 当c o u n t e rv a l u e ( 一个自动增加的计数器) 和r cv a l u e 匹配时,就触发一个 时钟中断。另外还有两种触发方式:s o f t w a r ef r i g g e r 和s y n c ,这个在硬件文档 中有相关说明,h ;过目f 为止还没有实验过。 a i c ( a i c :a d v a n c e di n t e l r u p tc o n t r o l l e r ) 足和中断处理密切相关的控制器。 它的作用是为不同的中断源殴置相应的优先级当有一个或者多个中断同时发生 时,自动根据优先缴跳
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030钻石产业市场深度调研及发展趋势与投资前景预测研究报告
- 2025-2030中国钢结构建筑推广障碍与突破方向探讨
- 2025-2030中国绿色建筑技术推广及政策环境分析
- 2026届江苏省扬州市仪征市第三中学八年级物理第一学期期末联考模拟试题含解析
- 2026届四川省成都市简阳市物理八上期末教学质量检测模拟试题含解析
- 2026届福建省福州一中学物理八上期末调研试题含解析
- 光伏巡检机在光伏发电领域的成本效益分析报告
- 空域区块链在供应链金融中的风险管理与创新模式报告
- 汽车电池换对汽车维修行业的技术挑战报告
- 废品智能回收2025年行业绿色供应链管理创新报告
- 2025-2030电动船舶电池系统安全标准构建与产业链配套能力报告
- 数字时代群体冲突演变-洞察及研究
- 2025秋新部编版一年级上册语文教学计划+教学进度表
- 2025年公安辅警招聘知识考试题(附答案)
- (标准)便利店转让合同协议书带烟证
- 廉洁文化知识试题(含答案)
- 2025《地方资产管理公司监督管理暂行办法》解读课件
- 2025年中国PC工业计算机(工控机)数据监测研究报告
- (2025)社区网格员笔试考试题库及答案
- 儿童学针灸启蒙课件
- 2025年中航油招聘笔试参考题库附带答案详解
评论
0/150
提交评论