- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
工商嵌入式系统总复习资料.ppt
中断服务态(ISR running) 中断服务子程序可能会报告一个或多个事件的发生,而使一个或多个任务进入就绪态 上述情况下,从中断服务子程序返回之前,?C/OS –II 要判定: 被中断的任务是否还是就绪态任务中优先级最高的 如果中断服务子程序使另一个优先级更高的任务进入了就绪态,则新进入就绪态的这个优先级更高的任务将得以运行;否则,原来被中断了的任务将继续运行。 . 任务状态 当所有的任务都在等待时间发生或等待延迟时间结束时,?C/OS –II 执行被称为空闲任务(Idle Task)的内部函数,即:OSTaskIdle() . 任务状态 任务的CPU使用权被剥夺 中断 恢复任务 . 一般的操作系统都提供时间管理的函数,最基本的就是延时函数,μC/OS-II也不例外,μC/OS-II所具有的时间管理函数见下表。 μC/OS-II具有简单的动态内存管理能力。μC/OS-II的动态内存管理函数见下表。 任务管理函数是操作与任务相关功能的函数,详见下表。 系统管理函数是一些与μC/OS-II内核或功能相关的一些函数,详见下表。 μC/OS-II的初始化函数有2个:OSInit()和OSStart(),它们不能在任何任务和中断服务程序中使用,仅在main()函数中按照一定的规范被调用,其中OSInit()函数初始化μC/OS-II内部变量,OSStart()函数启动多任务环境。 μC/OS-II把信号量等都称为事件,管理它们的就是事件管理函数。μC/OS-II V2.52具有的事件有普通信号量、互斥信号量、事件标志组、消息邮箱和消息队列,这些都是μC/OS-II用于同步与通讯的工具,本章后述的内容将会详细介绍。 系统函数概述| μC/OS-II程序设计基础 系统函数的分类 初始化 任务管理 时间管理 内存管理 根据功能分类 事件管理 函数名 功能 备注 OSStatInit() 使能任务统计功能 复位一次只能调用一次,并且必须在任务中调用,在调用时其它用户任务不能处于就绪状态 OSIntEnter() 进入中断处理 必须由中断服务程序按照规范调用,使用本公司的模版就不需要调用它们 OSIntExit() 退出中断处理 OSSchedLock() 锁调度器 必须配对使用,一般情况不需要使用。事实上,μC/OS-II不推荐使用它们 OSSchedUnlock() 解锁调度器 OS_ENTER_CRITICAL() 进入临界区 必须配对使用,一般通过禁止中断和允许中断来实现的。对于一些移植代码来说,不能嵌套调用 OS_EXIT_CRITICAL() 退出临界区 函数名 功能 函数名 功能 OSTaskChangePrio() 改变任务优先级 OSTaskSuspend() 挂起任务 OSTaskCreate() 建立任务 OSTaskResume() 恢复任务 OSTaskCreateExt() 建立任务,比OSTaskCreate()控制任务属性更多 OSTaskStkChk() 检查堆栈 OSTaskDel() 删除任务 OSTaskQuery() 获得任务信息 OSTaskDelReq() 请求删除任务,有特殊用途 系统管理 函数名 功能 备注 OSTimeDly() 以时钟节拍为单位延时 OSTimeDlyHMSM() 以钟时分秒毫秒为单位延时 OSTimeDlyResume() 恢复延时的任务 OSTimeDlyHMSM()可能需要多次才能恢复 OSTimeGet() 获得系统时间 以时钟节拍为单位 OSTimeSet() 设置系统时间 以时钟节拍为单位 OSTimeTick() 时钟节拍处理函数 由时钟节拍中断处理程序调用,用户很少使用 函数名 功能 OSMemCreate() 初始化一个堆 OSMemGet() 从指定堆中获得一个内存块 OSMemPut() 从指定堆中释放一个内存块 OSMemQuery() 查询指定堆的状态 . S3C2410的存储分配 S3C2410内置存储器控制器 支持最多8个存储器Bank,每个Bank最多支持128MB 启动代码必须安排在Bank0 00址区间为特殊功能寄存器(SFR)。事实上,这就是I/O空间。ARM架构中,I/O和存储器统一编址(或称I/O是存储器映射式的) . S3C2410存储空间分配图 S3C2410复位后的存储器图示 特殊功能寄存器占用的地址空间,IO与存储器统一编址 . 通过C语言访问内存或I/O的典型写法 通过指针定义用宏简化 #define rBANKSIZE (*(volatile unsigned *)0 读存储器或IO aa=rBANKSIZE; 写存储器或IO rBANKSIZE=0x02
您可能关注的文档
最近下载
- 生物安全实验室乙型肝炎病毒实验活动风险评估报告.docx VIP
- 2025年全国中考历史真题分类汇编.docx VIP
- 托福写作172句型.doc VIP
- 三级助听器验配师理论知识考核试题及答案.pdf VIP
- Unit 7 Happy Birthday第1 Lead-in Cartoon time三年级英语上册练习(译林版三起).pdf VIP
- 昌平区电力工程施工组织设计.doc VIP
- 2025年新人教版数学二年级上册全册课件.pptx
- T∕CCMA 0075-2019 -装载机载荷谱试验方法.pdf VIP
- 针灸入门广州中医药学PPT.ppt VIP
- 学堂在线 如何写好科研论文 章节测试答案.docx VIP
文档评论(0)