欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年嵌入式实时操作系统复习.docx

    • 资源ID:12951143       资源大小:35.69KB        全文页数:9页
    • 资源格式: DOCX        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年嵌入式实时操作系统复习.docx

    精品学习资源操作系统的基本功能 :1、任务治理, 2、内存治理, 3、文件治理, 4、CPU治理 5 、I/O 口设备治理;操作系统基本特点 :1、多任务操作系统, 2、多级中断机制, 3、优先级调度机制;任务的定义: 程序的动态表现,在操作系统中表达为线程,是程序的一次执行过程;任务的状态 有: 1、睡眠态, 2、就绪态, 3、运行态, 4、堵塞态, 5、挂起态;调度算法 :依据系统资源的资源安排策略所规定的资源安排算法;有“短作业优先算法”“轮转法” 大事: 实时操作系统运行过程中发生的重要大事大事处理对象: 1、信号量, 2、互斥信号量, 3、大事标志组, 4 、邮箱, 5、消息队列;信号量定义 :资源是详细的显示东西,把它数字化后,操作系统就便于治理这些资源;信号量的用法: 1、建立, 2、恳求, 3、释放;互斥信号量:是一种特别的信号量,该信号不仅是只用于互斥资源的拜访,仍在于信号量治理需要解决的优先级反转问题 ;互斥信号量治理: 取值 0 或 1,只能有一个任务拜访的独占资源,应采纳信号来治理,为了保证系统的定时性拒绝优先级反转,对互斥信号量的治理,采纳优先级继承机制;时钟: 是一种特定的周期性中断,起“心脏”作用;时钟节拍是周期性中断, 对应的中断服务程序成为时钟滴答服务;中断: 在任务的执行过程中,当显现反常情形或特别恳求时,停止任务的执行, 转而对这些反常或特殊进行处理,处理终止后返回当前任务的中断处;Uc/os 内存治理方法 :Uc/os 采纳内存掌握块治理内存,内存掌握块记录了“内存分区地址,分区内存块的大小和数量,闲暇块数量信息”;内存治理含有 : “内存分区的创建,安排,释放,使用和等待系统调用时间标志节点,. ”大事标志组治理的主要数据结构 : 包括“大事标志组 ,XX 实体, XX列表, XX节点链表 ;”用户调用两个函数创建任务, 不答应用户进行修改, 被称为系统服务; 用户的程序以函数的形式由用户编写,为用户函数;和操作系统的服务划分了界限; Uc/os 采纳抢占式任务调度算法,全部信息储存在 TCB中;任务就绪组是 : 为了查找高级优先级的任务与正在运行任务的优先级进行比较,以确定是否进行切换;大事掌握块 ECB: 是核心的数据结构,被频繁拜访,定义显现在操作系统的头文件ucos.h 中承载了任务的相关信息;Typedef struct os event欢迎下载精品学习资源INT8UOSEventType;/* 大事掌握块的类型 */Void *OSEventPtr;/* 指向下一个 ECB或消息队列的指针 */INT16UOSEventCnt; /* 信号量计数值,对除信号量意外其他大事无效*/ OS PRIO OSEventGrp/;* 大事等待组 */OS PRIO OSEventGblOS EVENT TBL SIZE/*;等待大事的任务表 */INT8U*OSEventName;/* 大事名称 */OS EVENT;移植步骤: 1、使用开发软件,为 uc/os 操作系统建立一个目录,将系统的代码复制到该目录下,要有一个子目录;2、在该目录下创建工程;3、建立主程序 main.c ;4、对 os_cpu.h 说明,依据硬件修改os_cpu.h ;5、修改 os_cpu.c ;6、编译,下载,运行信号量函数列表:NameDescriptionOsSemCreat创建一个信号量OsSemSet设置信号量值OsSemDel删除一个信号量OsSemPend等待一个信号量OsSemAccept无等待恳求信号OsSemPendAbort舍弃等待信号量OsSemPost发出一个信号量OsSemQuery查询一个信号量内存治理函数:NameDescriptionOS MemInit创建一个内存分区欢迎下载精品学习资源OsMemCreat、e OsSemCreat安排一个内存块,创建一个信号量OsMemGet释放一个内存块OsMemPu,t OsSemPend等待一个信号量,OsMemQue,ry OsSemQuery查询一个内存分区状态,一个信号量OsMemNameSet设定一个内存分区名称OsMemNameGet猎取一个内存分区名称编程题例子一、#include "sys.h" #include "usart.h" #include "delay.h" #include "led.h" #include "includes.h"#define START_TASK_PRIO10 /设置任务优先级 ,开头任务的优先级设置为最低#define START_STK_SIZE64/设置任务堆栈大小OS_STK START_TASK_STKSTART_STK_SIZE;/ 任务堆栈void start_taskvoid *pdata;/任务函数#define LED0_TASK_PRIO7 /设置任务优先级#define LED0_STK_SIZE64/设置任务堆栈大小OS_STK LED0_TASK_STKLED0_STK_SIZE;/任务堆栈void led0_taskvoid *pdata;/LED0 任务#define LED1_TASK_PRIO6 /设置任务优先级#define LED1_STK_SIZE64/设置任务堆栈大小OS_STK LED1_TASK_STKLED1_STK_SIZE;/任务堆栈void led1_taskvoid *pdata;/LED1 任务int mainvoidStm32_Clock_Init9; / 系统时钟设置delay_init72;/延时初始化LED_Init;/初始化与 LED 连接的硬件接口OSInit;OSTaskCreatestart_task,void *0,OS_STK*&START_TASK_STKSTART_STK_SIZE-1,START_TASK_PRIO ;/创建起始任务OSStart;欢迎下载精品学习资源/开头任务void start_taskvoid *pdataOS_CPU_SR cpu_sr=0; pdata = pdata;OS_ENTER_CRITICAL;/进入临界区 无法被中断打断 OSTaskCreateled0_task,void*0,OS_STK*&LED0_TASK_STKLED0_STK_SIZE-1,LED0_TASK_PRIO;OSTaskCreateled1_task,void*0,OS_STK*&LED1_TASK_STKLED1_STK_SIZE-1,LED1_TASK_PRIO;OSTaskSuspendSTART_TASK_PRIO; /挂/ 起起始任务 .OS_EXIT_CRITICAL;/退出临界区 可以被中断打断 void led0_taskvoid *pdata/LED0 任务while1LED0=0;delay_ms80;LED0=1;delay_ms920;void led1_taskvoid *pdata/LED1 任务while1LED1=0;delay_ms300;LED1=1;delay_ms300;欢迎下载精品学习资源二、#include "sys.h" #include "usart.h" #include "delay.h" #include "led.h" #include "includes.h"OS_EVENT *myMBox;#define START_TASK_PRIO10 /设置任务优先级 ,开头任务的优先级设置为最低#define START_STK_SIZE64/设置任务堆栈大小OS_STK START_TASK_STKSTART_STK_SIZE;/ 任务堆栈void start_taskvoid *pdata;/任务函数#define MBOX_SEN_PRIO6 /设置任务优先级#define MBOX_SEN_STK_SIZE64/设置任务堆栈大小OS_STKMBOX_SEN_STKMBOX_SEN_STK_SIZE;/任务堆栈void TaskMessageSenvoid *pParam;/邮/ 箱发送任务#define MBOX_REC_PRIO7 /设置任务优先级#define MBOX_REC_STK_SIZE64/设置任务堆栈大小OS_STKMBOX_REC_STKMBOX_REC_STK_SIZE ;/任务堆栈void TaskMessageRecvoid *pParam;/邮/ 箱接收任务int mainvoidStm32_Clock_Init9; / 系统时钟设置delay_init72;/延时初始化uart_init72,9600;OSInit;OSTaskCreatestart_task,void *0,OS_STK*&START_TASK_STKSTART_STK_SIZE-1,START_TASK_PRIO ;/创建起始任务OSStart;/开头任务欢迎下载精品学习资源void start_taskvoid *pdataOS_CPU_SR cpu_sr=0; pdata = pdata;OS_ENTER_CRITICAL;/进入临界区 无法被中断打断 OSTaskCreateTaskMessageSen,void*0,OS_STK*&MBOX_SEN_STKMBOX_SEN_STK_SIZE-1,MBOX_SEN_PRIO;OSTaskCreateTaskMessageRec,void*0,OS_STK*&MBOX_REC_STKMBOX_REC_STK_SIZE-1,MBOX_REC_PRIO;OSTaskSuspendSTART_TASK_PRIO;/挂起起始任务 . OS_EXIT_CRITICAL;/退出临界区 可以被中断打断 void TaskMessageSenvoid *pParamINT32U scount; scount=0;myMBox=OSMboxCreate&scount; ifmyMBox=OS_EVENT *0printf" 时间: %d,TaskMessageSen创建邮箱失败 n",OSTimeGet; OSTaskDelOS_PRIO_SELF;return;printf" 时间: %d,TaskMessageSen创建邮箱胜利 n",OSTimeGet; while1OSTimeDly100; scount+;printf" 时间: %d,任务 TaskMessageSen预备发消息,消息为 %dn",OSTimeGet,scount;OSMboxPostmyMBox,&scount;void TaskMessageRecvoid *pParamINT8U *perr; INT8U err; INT32U *prcount; perr=&err;err=OS_ERR_NONE; ifmyMBox=OS_EVENT *0printf" 时间: %d,TaskMessageRec判定邮箱不存在! n",OSTimeGet; OSTaskDelOS_PRIO_SELF;欢迎下载精品学习资源return;prcount=INT32U *OSMboxPendmyMBox,0,perr; if*perr=OS_ERR_NONEprintf" 时间: %d,任务 TaskMessageRec接收消息为 %dn",OSTimeGet,*prcount;elseprintf" 时间: %d,任务 TaskMessageRec等待反常接收,错误号: %dn",OSTimeGet,*perr;程序分析题 p46,欢迎下载

    注意事项

    本文(2022年嵌入式实时操作系统复习.docx)为本站会员(C****o)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开