分享
分享赚钱 收藏 举报 版权申诉 / 21

类型嵌入式软件体系结构.ppt

  • 上传人:jmydc
  • 文档编号:6997549
  • 上传时间:2019-04-30
  • 格式:PPT
  • 页数:21
  • 大小:110KB
  • 配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    嵌入式软件体系结构.ppt
    资源描述:

    1、嵌入式软件体系结构,南京大学软件学院 宋健建,内容,影响选择的因素 轮转结构 带中断的轮转结构 函数队列调度 实时操作系统,影响选择的因素,系统对各种不同事件的响应时间 结构的复杂度 对响应时间和优先级进行控制的程度,轮转结构,轮转结构(round-robin) 最简单的一种结构 主循环依次检查每个I/O设备,并为需要服务的设备提供服务。 不存在中断,轮转结构(续),void main(void) while (TRUE)if (/ I/O设备A需要服务)/ 关注I/O设备A/ 处理输入I/O设备A或从I/O设备A输出的数据if (/ I/O设备B需要服务)/ 关注I/O设备B/ 处理输入I/

    2、O设备B或从I/O设备B输出的数据 ,轮转结构示例,数字万用表 三个I/O设备: 对响应时间的需求,数字万用表代码,void vDigitalMultiMeterMain(void) enum OHMS_1, OHMS_10, , VOLTS_100 eSwitchPosition;while (TRUE)eSwitchPosition = / 读取开关位置switch (eSwitchPosition)case OHMS_1:/ 读硬件来测量欧姆值/ 将结果格式化break;case OHMS_10:/ 读硬件来测量欧姆值/ 将结果格式化break;/ 将结果写入显示设备 ,轮转结构分析,优

    3、点 结构简单 缺点 最坏响应时间 缺乏优先级 结构缺乏可扩展性,带中断的轮转结构,带中断的轮转结构 中断程序处理硬件特别紧急的需求,然后设置标记; 主循环轮询这些标记,然后根据这些需求进行后续的处理。,带中断的轮转结构,BOOL fDeviceA = FALSE; BOOL fDeviceB = FALSE; void interrupt vHandleDeviceA(void) fDeviceA = TRUE; void interrupt vHandleDeviceB(void) fDeviceB = TRUE; void main(void) while (TRUE)if (fDevic

    4、eA) if (fDeviceB) ,带中断的轮转结构示例,通信桥接器 两个端口(同时可作输入、输出) A-B: 加密;B-A: 解密 特点:,通信桥接器代码,static QUEUE qDataFromLinkA, qDataFromLinkB, qDataToLinkA, qDataToLinkB; static BOOL fLinkAReadyToSend = TRUE; static BOOL fLinkBReadyToSend = TRUE;void interrupt vGotCharOnLinkA(void) char ch;ch = /read a character from

    5、 Link AvQueueAdd(qDataFromLinkA, ch); void interrupt vGotCharOnLinkB(void) void interrupt vSentCharOnLinkA(void) fLinkAReadyToSend = TRUE; void interrupt vSentCharOnLinkB(void) ,通信桥接器代码(续),int main(void) /* initialize the 4 queues */ enable();while(TRUE) vEncrypt(); if (fQueueHasData(qDataToLinkB) /

    6、 The same as the above: write ch to Link A ,通信桥接器代码(续),void vEncrypt(void) char chClear, chCryptic;while(fQueHasData(qDataFromLinkA) chClear = chQueueGetData( void vDecrypt(void) ,带中断的轮转结构示例2,无线条形码扫描仪 I/O设备: 功能: 特点? 代码?,带中断的轮转结构分析,优点 为硬件操作提供优先级。实质上,中断程序中的所有操作拥有比主程序中任务代码更高的优先级。 缺点 结构带来一定的复杂度 共享数据问题 优

    7、先级机制不彻底!所有任务代码以同样的优先级来执行。 改进方法? 任务的最坏响应时间:,函数队列调度结构,函数队列调度结构 更复杂精细的结构 中断程序在一个函数指针队列中添加一个函数指针,以供主程序调用。 主程序仅需要从该队列中读取相应的指针并且调用相关函数。 引进任务优先级:通过对函数指针排队实现,函数队列调度结构(续),void interrupt vHandleDeviceA(void) / 关注I/O设备A/ 将function_A放到函数指针队列中 void interrupt vHandleDeviceB(void) / 关注I/O设备B/ 将function_B放到函数指针队列中

    8、void main(void) while (TRUE)while (/ 函数指针队列为空);/调用队列中的函数 void function_A(void) / 处理设备A请求 void function_B(void) / 处理设备B请求 ,函数队列调度结构分析,优点 提供了任务优先级 缺点 程序复杂 最坏响应时间?,实时操作系统,明确提出“任务”概念 中断程序和任务代码之间的必要信号发送是通过实时操作系统处理的,并不需要使用共享变量来达到这个目标。 代码中并没有用循环来决定下一步要做什么。实时操作系统内部的代码决定什么任务代码可以运行。 操作系统可以在一个任务运行期间将其挂起,以便运行另一个任务。 结构可扩展性强。,Review,

    展开阅读全文
    提示  道客多多所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:嵌入式软件体系结构.ppt
    链接地址:https://www.docduoduo.com/p-6997549.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    道客多多用户QQ群:832276834  微博官方号:道客多多官方   知乎号:道客多多

    Copyright© 2025 道客多多 docduoduo.com 网站版权所有世界地图

    经营许可证编号:粤ICP备2021046453号    营业执照商标

    1.png 2.png 3.png 4.png 5.png 6.png 7.png 8.png 9.png 10.png



    收起
    展开