- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
中国科学技术大学计算机系 嵌入式操作系统 陈香兰 xlanchen@ustc.edu.cn 助教:陈博、李春华 Spring 2009 RTEMS操作系统介绍 提纲 RTEMS概述 RTEMS4.0.0体系结构及模块介绍 RTEMS4.0.0的启动 Hello任务的运行 Printf的实现 RTEMS概述 实时多处理器系统Real Time Executive for Multiprocessor Systems 开源的无版税的实时嵌入操作系统 最早用于美国国防系统first=实时导弹系统=Real Time Executive for Missile Systemsthen=实时军用系统=Real Time Executive for Military Systems, 现在由OAR公司负责版本的升级与维护。 在航空航天、军工、民用等领域都有广泛应用。 RTEMS体系结构 RTEMS的源代码结构 阅读各个层次目录下的readme 观察主要目录及文件 EXEC RTEMS操作系统包括一个核心score 核心之上有可以支持两种操作系统封装 符合POSIX标准的 RTEMS 在最上层是SAPI EXEC代码统计信息 SCORE:52166 行 RTEMS:16045 行 POSIX:11345 行 SAPI:3089 行 LIB Libbsp?libbsp.a Libc Libcpu Libmisc Libnetworking Start SCORE中的模块及其依赖关系 Src:15个主要的handler API扩展、user扩展、Workspace、heap、Object、Thread、threadq、Watchdog、tod、Msg、sem、mutex、Isr、interr、chain 一些辅助handler:address、sysstate、state、context、priority等 Mp相关 Cpu:提供CPU相关的一些支持 API和user扩展 不同的操作系统封装具有不同的操作系统语义。有时需要在score的基础上进行扩展。 score提供两种扩展: API扩展和user扩展。 API扩展提供了3个可扩展点 Predriver:系统初始化时,所有驱动初始化前 Postdriver:系统初始化时,所有驱动初始化后 Postswitch:根据需要在线程切换后 User扩展提供了8个扩展点: Thread_create:在线程初始化后执行 Thread_start:在线程启动后 Thread_restart:在线程重启后 Thread_delete:在线程close的后面运行 Thread_switch:上下文切换之前 Thread_begin:在线程入口程序运行前 Thread_exitted:在线程入口程序退出后 Fatal:系统出错时 每次扩展都要提供API/user扩展点集的扩展例程集,组织成一个扩展节点 可以进行多次扩展,所有扩展节点使用链表连接在一起 _API_extensions_List _User_extensions_List 扩展例程的执行 在每个扩展点,遍历API/user扩展链表,对每个扩展节点,找到这个扩展点的例程并执行 Score中的chain 这是score中普遍使用的一种数据结构 类似双向链表 包括一个链表控制结构和若干链表节点 使用chain链表的大多数数据结构都将链表节点数据结构作为第一个元素,以便于通过类型转换方式维护链表 Score的heap 一种动态内存管理方法 堆=一组堆块 所有的空闲堆块组织成一个空闲堆块链表。 分配算法:首次适应算法 分配:分割;回收:合并 初始化给定内存区域,划分成两个堆块 一个大堆块,基本覆盖全部内存区域 最后8个字节为第二个堆块为整个堆的尾堆块,永远不会分配出去 Score的workspace Workspace是score的可用内存区域。 Score的各个模块都通过workspace的分配/回收函数使用内存。 Workspace是score heap的一个应用实例。 Workspace的初始化 根据rtems静态配置信息,计算出Workspace的大小 在系统初始化时,辟出相应的物理内存作为Workspace Score的对象管理 17种对象类型 内部线程、RTEMS任务、POSIX线程 其他8种RTEMS对象类型: 定时器、信号量、消息队列、分区、区域、端口、周期、扩展 其他6种POSIX对象类型: 中断、消息队列、互斥量、信号量、条件变量、键值 每个对象类型有专门的对象类型信息结构保存该类对象的基本信息,包括: 类型号 最小和最大id 最多对象个数 有效对象句柄表 对象名字字符串数组、最大对象名字长度 空闲对象链表 等
您可能关注的文档
- 小学观察作文2015.ppt
- 小学课堂游戏(二).ppt
- 小学阅读训练课件.ppt
- 小学语文六年级上册三单元2015.ppt
- 小学语文毕业论选题2015.ppt
- 小户型经典案例分析.ppt
- 小故事大道理-信任1.ppt
- 小数点的意义和性质2.ppt
- 小数点移动引起小数大小的变化例2.ppt
- 小数的意义20120329.ppt
- 8 黄山奇石(第二课时)课件(共22张PPT).pptx
- 22《纸船和风筝》教学课件(共31张PPT).pptx
- 17 松鼠 课件(共23张PPT).pptx
- 23《海底世界》课件(共28张PPT).pptx
- 21《大自然的声音》课件(共18张PPT).pptx
- 第12课《词四首——江城子 密州出猎》课件 2025—2026学年统编版语文九年级下册.pptx
- 第2课《济南的冬天》课件(共42张PPT) 2024—2025学年统编版语文七年级上册.pptx
- 17 跳水 第二课时 课件(共18张PPT).pptx
- 第六单元课外古诗词诵读《过松源晨炊漆公、约客》课件 统编版语文七年级下册.pptx
- 统编版六年级语文上册 22《文言文二则》课件(共27张PPT).pptx
原创力文档


文档评论(0)