网站大量收购独家精品文档,联系QQ:2885784924

嵌入式软件程序结构.pptVIP

  1. 1、本文档共47页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式系统 嵌入式系统的软件系统 嵌入式软件开发内容 开发系统软件 操作系统 协议栈 GUI 库函数 软件组件与IP(知识产权内核) 开发应用软件 在嵌入式操作系统之上进行开发 在硬件层上进行开发 内容 软件的结构和组成 监控程序 裸机系统软件的设计方法 软件的移植问题 可移植应用软件的开发原则 1 软件的结构和组成 #include stdio.h //普通程序 main() { printf(“hello,world\n”); } 1 软件的结构和组成 #include stdio.h //嵌入式软件主程序 main() { while(1) { action1(); action2(); … } } 嵌入式系统的软件开发问题 嵌入式操作系统。 操作系统与应用软件的集成。 软件的结构。 嵌入式系统的软件是没有出口的,程序不能“退出”,整个程序的结构应该是无限的循环。 嵌入式系统的软件设计需要考虑硬件的支持、操作系统的支持、程序的初始化和引导等诸多的方面。 嵌入式系统的软件可能没有操作系统,在裸机上直接开发。 1.1嵌入式系统的软件组成 初始化引导代码 板级支持包 操作系统 通信协议栈 图形用户界面 应用软件 嵌入式系统的软件结构 1.2初始化引导代码 初始化引导代码是任务嵌入式系统上电复位后第一个执行的代码 复位向量 80186:FFFF0H MCS51:0 ARM:0 执行: 自检 引导操作系统 进入初始化(硬件、软件) 1.4嵌入式操作系统 复杂系统需要嵌入式操作系统的支持 简单系统可以不使用嵌入式操作系统 嵌入式操作系统可裁减 嵌入式操作系统的内核 处理机管理(任务、任务之间的通信和同步等) 存储器管理 完整的嵌入式操作系统 内核 文件系统 人机界面 设备驱动等 1.5网络协议栈 协议栈对于具有网络功能的嵌入式系统产品是必要的,目前嵌入式协议栈的提供有两种方式, 一种是独立的第三方协议栈产品, 一种是嵌入式操作系统的提供商提供协议栈产品。 协议栈的运行必须基于嵌入式操作系统的平台支持,但是并不意味着协议栈必须依赖于嵌入式操作系统的API。事实上,许多的嵌入式协议栈,如inter niche的嵌入式TCP/IP协议栈做到了与操作系统的最大独立性,可以与大多数嵌入式操作系统集成运行。 1.6应用软件 嵌入式系统的应用软件一般需要自主开发,不同的嵌入式系统的应用软件各具特色和功能。 例如常用的应用软件用于PDA上,记事本、通讯录、计算器等。 应用于工业现场总线领域的应用软件如控制软件等。 应用软件的开发基于操作系统、网络通信协议栈、图形用户接口、文件系统等一系列的低层API。 1.7 GUI 对于大多数嵌入式系统,图形用户接口是必要的,特别是随身设备如PDA、手机等。 GUI运行在嵌入式操作系统之上。用户开发的与用户交互的应用软件通过调用GUI的功能调用(API)来实现。 2 监控程序-monitor 监控程序是运行在嵌入式系统中的一段代码,具有与用户进行交互,管理系统资源的功能,具有操作系统内核的一小部分功能。嵌入式系统正式运行时,通常不需要监控程序的干预。 目前开发嵌入式系统,监控程序的作为正在减少,只用在一些小的嵌入式系统中。 有的嵌入式控制器的制造商把监控程序驻留在ROM中提供给用户在开发时使用,提供的功能如程序下载、调试、固化等。 如motorola公司的某些8位嵌入式微控制器 3 裸机系统软件的设计方法 无操作系统的嵌入式软件设计 有操作系统的嵌入式软件设计 3.1无操作系统的嵌入式软件设计 前后台系统 中断(事件)驱动系统 巡回服务系统 基于定时器的巡回服务系统 3.1.1前后台系统 后台: 应用程序是一个无限循环,巡回地执行多个事件,完成相应的操作。这一部分软件称为后台。通常在主程序main()中被调用。 前台: 中断服务程序处理异步事件,这一部分可以看成是前台。 后台可以称为任务级,前台可以称为中断级。强实时性的的关键操作一定要用中断来实现。 程序框架-后台 main() { /* 硬件初始化 */ while(1) /* 后台程序 */ { action1(); action2(); action3(); … } } action_1() { /* 执行动作n */ … } … … action_n() { /* 执行动作n */ … } 程序框架-前台 Isr_1() { /* 中断1的中断服务程序 */ … } … … Isr_n() { /* 中断2的中断服务程序 */ … } 前后台系统的特点 实时性问题(不好) 中断服务程序提供的数据(实时性数据)只有在后台轮询到

文档评论(0)

wuyoujun92 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档