0502
来源:互联网 发布:小米盒子3破解软件 编辑:程序博客网 时间:2024/06/05 19:30
OSTaskCreateHook(),OSTaskDelHook(),OSTaskSwHook(),OSTaskStatHook(),OSTimeTickHook()
- 当用OSTaskCreate()或OSTaskCreateExt()建立任务的时候就会调用OSTaskCreateHook()。该函数允许用户或使用用户的移植实例的用户扩展µC/OS-Ⅱ的功能。当µC/OS-Ⅱ设置完了自己的内部结构后,会在调用任务调度程序之前调用OSTaskCreateHook()。该函数被调用的时候中断是禁止的。因此用户应尽量减少该函数中的代码以缩短中断的响应时间。
- 当OSTaskCreateHook()被调用的时候,它会收到指向已建立任务的OS_TCB的指针,这样它就可以访问所有的结构成员了。当使用OSTaskCreate()建立任务时,OSTaskCreateHook()的功能是有限的。但当用户使用OSTaskCreateExt()建立任务时,用户会得到OS_TCB中的扩展指针(OSTCBExtPtr),该指针可用来访问任务的附加数据,如浮点寄存器,MMU寄存器,任务计数器的内容,以及调试信息。
- 只用当OS_CFG.H中的OS_CPU_HOOKS_EN被置为1时才会产生OSTaskCreateHook()的代码。这样,使用用户的移植实例的用户可以在其它的文件中重新定义hook函数。
- 当任务被删除的时候就会调用OSTaskDelHook()。该函数在把任务从µC/OS-Ⅱ的内部任务链表中解开之前被调用。当OSTaskDelHook()被调用的时候,它会收到指向正被删除任务的OS_TCB的指针,这样它就可以访问所有的结构成员了。OSTaskDelHook()可以用来检验TCB扩展是否被建立了(一个非空指针)并进行一些清除操作。OSTaskDelHook()不返回任何值。
- 只用当OS_CFG.H中的OS_CPU_HOOKS_EN被置为1时才会产生OSTaskDelHook()的代码。
- 当发生任务切换的时候调用OSTaskSwHook()。不管任务切换是通过OSCtxSw()还是OSIntCtxSw()来执行的都会调用该函数。OSTaskSwHook()可以直接访问OSTCBCur 和OSTCBHighRdy,因为它们是全局变量。OSTCBCur指向被切换出去的任务的OS_TCB,而OSTCBHighRdy指向新任务的OS_TCB。注意在调用OSTaskSwHook()期间中断一直是被禁止的。因为代码的多少会影响到中断的响应时间,所以用户应尽量使代码简化。OSTaskSwHook()没有任何参数,也不返回任何值。
- 只用当OS_CFG.H中的OS_CPU_HOOKS_EN被置为1时才会产生 O<pre code_snippet_id="2366548" snippet_file_name="blog_20170502_3_1576895" name="code" class="cpp">OSTaskStatHook()每秒钟都会被OSTaskStat()调用一次。用户可以用OSTaskStatHook()来扩展统计功能。例如,用户可以保持并显示每个任务的执行时间,每个任务所用的CPU份额,以及每个任务执行的频率等等。OSTaskStatHook()没有任何参数,也不返回任何值。
- 只用当OS_CFG.H中的OS_CPU_HOOKS_EN被置为1时才会产生OSTaskStatHook()的代码。</pre><br>
- STaskSwHook()的代码。
- <pre></pre>
- <br>
- <pre code_snippet_id="2366548" snippet_file_name="blog_20170502_4_8861679" name="code" class="cpp">OSTaskTimeHook()在每个时钟节拍都会被OSTaskTick()调用。实际上,OSTaskTimeHook()是在节拍被µC/OS-Ⅱ真正处理,并通知用户的移植实例或应用程序之前被调用的。OSTaskTimeHook()没有任何参数,也不返回任何值。
- 只用当OS_CFG.H中的OS_CPU_HOOKS_EN被置为1时才会产生OSTaskTimeHook()的代码。
- </pre><br>
- <br>
0 0
- 0502
- 文章0502
- 14 0502
- 心情一则0502
- microstation level2 0502_2
- LOOP指令(0502)
- 前端开源项目周报0502
- 瑞风虚拟摄像头1.40版 Build 0502发布!
- 二零零七年五一节自驾游记(十二)--------0502若尔盖花湖I
- 二零零七年五一节自驾游记(十三)--------0502若尔盖花湖II
- 二零零七年五一节自驾游记(十四)--------0502若尔盖县城
- 基于visual Studio2013解决C语言竞赛题之0502最小数替换
- 基于visual Studio2013解决面试题之0502字符串左移
- 信息熵
- 线程安全与可重入函数的关系
- java String.valueOf()的作用
- Linux运维笔记-文档总结-系统恢复技术之内核文件缺少恢复技术
- leetcode151: Reverse Words in a String
- 0502
- RSA加密算法解析+数字签名验证
- php视频
- 1035: 自守数问题
- smtp_c++发带附件的邮件
- 【论文实现】一篇Sigkdd的弹幕分析论文的python实现【LDA 实践者】
- 浏览器用户脚本
- 解析Tomcat之HttpServlet详解
- Stop The World(STW)