浅析μC/OS-ⅡAPI的设计思想及实现机制

[11-20 15:54:26]   来源:http://www.88dzw.com  arm嵌入式   阅读:8640

文章摘要:5.1 OS_ENTER_CRITICAL宏很多人都以为它是个函数,其实不然,仔细分析一下OS_CPU.H文件,它和下面马上要谈到的OS_EXIT_CRITICAL都是宏。他们都是涉及特定CPU的实现。一般都被替换为一条或者几条嵌入式汇编代码。由于系统希望向上层程序员隐藏内部实现,故而一般都宣称执行此条指令后系统进入临界区。其实,它就是关个中断而已。这样,只要任务不主动放弃CPU使用权,别的任务就没有占用CPU的机会了,相对这个任务而言,它就是独占了。所以说进入临界区了。这个宏能少用还是少用,因为它会破坏系统的一些服务,尤其是时间服务。并使系统对外界响应性能降低。5.2 OS_EXIT_CRI

浅析μC/OS-ⅡAPI的设计思想及实现机制,标签:arm嵌入式系统,arm系统,http://www.88dzw.com

  5.1 OS_ENTER_CRITICAL宏

  很多人都以为它是个函数,其实不然,仔细分析一下OS_CPU.H文件,它和下面马上要谈到的OS_EXIT_CRITICAL都是宏。他们都是涉及特定CPU的实现。一般都被替换为一条或者几条嵌入式汇编代码。由于系统希望向上层程序员隐藏内部实现,故而一般都宣称执行此条指令后系统进入临界区。其实,它就是关个中断而已。这样,只要任务不主动放弃CPU使用权,别的任务就没有占用CPU的机会了,相对这个任务而言,它就是独占了。所以说进入临界区了。这个宏能少用还是少用,因为它会破坏系统的一些服务,尤其是时间服务。并使系统对外界响应性能降低。

  5.2 OS_EXIT_CRITICAL宏

  这个是和上面介绍的宏配套使用另一个宏,它在系统手册里的说明是退出临界区。其实它就是重新开中断。需要注意的是,它必须和上面的宏成对出现,否则会带来意想不到的后果。最坏的情况下,系统会崩溃。我们推荐程序员们尽量少使用这两个宏调用,因为他们的确会破坏系统的多任务性能。

  6. 结束语

  通过对μC/OS-II中这几类API的简单分析,我们可以看出μC/OS-II作为一个多任务、抢占式嵌入式操作系统,其API都是为多任务及其多任务之间的调度和通信的实现来设计的。μC/OS-II提供的API简洁而灵活,使用户在设计实际应用时能够很方便的利用系统提供的各种调用,充分发挥μC/OS-II实时、高效的优点。



  

上一页  [1] [2] [3] [4] [5] 


Tag:arm嵌入式arm嵌入式系统,arm系统arm嵌入式

《浅析μC/OS-ⅡAPI的设计思想及实现机制》相关文章

分类导航
最新更新
热门排行