嵌入软件设计.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入软件设计

嵌入式软件开发 中断 与中断的接口程序中必须关中断 中断是系统中优先级最高的任务 大量的中断对CPU的占用是很可怕的,要控制中断的数目 关中断的时间不能很长,中断中对太长的用户操作应该发消息将操作转移到其他任务中做 对接口中断最好使用轮讯机制来替代,避免线路不稳造成中断过多 定时器 定时器任务应该是系统中除中断外优先级最高的任务 完成对系统的定时器功能 定时器内部不能存在太长的用户操作,太长的用户操作应该发消息将操作转移到其他任务中做 定时器与其他模块之间最好采用消息接口,以保证系统的实时性和任务优先级的权威性 软件狗 系统中必须存在软件狗,以保证在故障的时候能够使设备继续工作,系统异常启动时最好能够不进行系统的启动信息输出 IDLE任务 用于完成对系统的空闲计数,可用于进行CPU效率的统 计 可靠性设计 硬件的可靠性设计 电源冗余备份 风扇冗余备份 支持热备份 支持热插拔 软件的可靠性设计 简单的内存覆盖保护 内存回收 松耦合 系统定期状态同步 异常攻击保护 多队列设计 宏 热备份 系统可以存在多个主控制单元,当一个控制单元失效,其他单元可以主动获得系统的控制权,保证系统的持续运行 硬件需要提供对热备份支持 各个主控单元之间要进行定期的通讯检测 软件系统需要提供相应的支持 热备份实现方案(一) 系统的两个主控之间只进行配置的同步,其他的运行状态不同步 相当与系统重新启动,但是速度更快 业务板上的系统如果与主控关联小,尽量做到切换时不重启 工作量最小,只需要命令行和热备份模块参与,系统的延续性不够,我们称为冷备份 系统的两个主控之间进行配置同步和简单的状态同步。模块产生的动作被同步到另一块上同样执行一遍 系统的延续性比较好,基本上是切换的检测时间,业务板应该要做到切换时不重启 协议栈四层以下的模块容易做到状态同步,对模块的设计有一定的要求,热备份模块只是提供通道功能,有一定的工作量,我们可以称为温备份 四层以上的模块完全同步几乎不可能,设计很复杂,没有必要考虑,因此没有完全的热备份 热备份实现方案(二) 热插拔 系统能够在运行时支持单板的插入拔出功能,并完成该板对应的配置恢复 热插拔有利于系统的升级 系统的整体稳定性可以得到提高 热插拔的实现困难在于单板相关的配置恢复 热插拔实现方案(一) 系统的各个模块自身保留对应的单板控制实体和相关配置,但是对外不可见,单板插入的时候通知配置恢复。 系统启动的时候配置恢复困难 关联的模块很多,并且对各个模块原有的流程冲击很大 模块配置恢复的时候需要判断配置存在的前提环境是否依旧存在 重要的参与模块:命令行和设备管理 热插拔实现方案(二) 系统的各个模块在单板拔出时将配置重新build,反馈回命令行,然后删除对应的实体和配置 命令行对每一单板提供一个配置命令缓冲区,当单板插入时使用该缓冲区的命令恢复配置 各个模块对现有的流程冲击比较少,命令行和设备管理增加复杂度,设备管理需要提供虚设备的功能 简单的内存写覆盖保护 系统自身进行内存的管理和分配机制 系统分配出去的内存前后进行空间预留,长度不超过此空间预留的覆盖可以做到保护 可以实现内存写覆盖告警 * * 嵌入式软件系统特点(一) 实时:允许的反应时间平均在1秒以内 稳定:必须能够长时间稳定运行(可靠性) 简单的内存写覆盖保护 内存定期回收能力 系统异常监控 热插拔、热备份 自恢复:系统异常具备重新运行的能力 软件狗 启动快 嵌入式软件系统特点(二) 提供调试和监控手段(可维护性) Debug信息 系统参数监控 系统轨迹跟踪 DUMP功能 系统异常告警和异常现场记录 系统资源相对比较少 数据流程和控制流程分离 VxWorks的任务 优先级:0-255(高—低) 调度方式:抢占与非抢占 HOOK:创建前,切换,删除后 栈: 从低到高增长 一般不用太大,40K足够 不允许在函数中定义大的数组 非抢占式下任务的特点 任务一旦获得CPU,将独占CPU,除了中断,其他系统任务在该任务没有释放CPU的情况下,将无法获得CPU的控制权 任务优先级表示任务重新调度时获得CPU的权力大小 非抢占式下任务的优缺点 优点: 任务独占CPU,任务间极少存在临界区,编程需要考虑保护的地方较少,可直接函数调用,对开发人员技术要求低 缺点: 独占性造成系统的实时性稍差,因此设计的时候需要任务采用在适当时间释放CPU的方式来增强系统的实时性,需要设计人员很有经验,对系统非常熟悉 系统出现异常的时候很难监测 非抢占式下任务的注意事项 绝对避免大循环和死循环的情

文档评论(0)

186****0507 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档