关于RTX51 TINY的分析与探讨
时间:05-30
来源:单片机与嵌入式系统应用
点击:
4 需要注意的问题
在应用RTX51 TINY时应注意以下几点:
① 尽可能不使用循环任务切换。使用循环任务切换时要求有13个字节的堆栈区来保存任务内容(工作寄存器等)。如果由os_wait()函数来进行任务触发,则不需要保存任务内容。由于正处于等待运行的任务并不需要等待全部循环切换时间结束,因此os_wait()函数可以产生一种改进的系统响应时间。
② 不要将时钟节拍中断速率设置得太高,设定为一个较低的数值可以增加每秒的时钟节拍个数。每次时钟节拍中断大约需要100~200个CPU周期,因此应将时钟节拍率设定得足够高,以便使中断响应时间达到最小化。
③ 在os_wait()函数中有3个参数: K_TMO、K_IVL和K_SIG。其中对于K_TMO和K_IVL的使用要加以区别。在使用时,两者似乎差别不是很大。其实不然,两者存在很大的区别:K_TMO是指等待一个超时信号, 只有时间到了,才会产生一个信号。它产生的信号是不会累计的,产生信号后,任务进入就绪状态。而K_IVL是指周期信号, 每隔一个指定的周期,就会产生一次信号,产生的信号是可以累计的。这样就使得在指定事件内没有响应的信号,通过信号次数的叠加,在以后信号处理时,重新得以响应,从而保证了信号不会被丢失。而通过K_TMO方式进行延时的任务,由于某种原因信号没有得到及时的响应,那么这样就可能会丢失一部分没有响应的信号。不过两者都是有效的任务切换方式,在使用时要根据应用场合来确定对两者的使用。
结语
RTX51 TINY实时操作系统既能保证对外界的信息以足够快的速度进行相应处理,又能并行运行多个任务,具有实时性和并行性的特点,因此能很好地完成对多个信息的实时测量、处理,并进行相应的多个实时控制。任务切换是RTX51 TINY的一个基本服务。本文对任务切换做了详细的分析,在实际应用中还要对任务切换时的堆栈管理有一定了解,这样才能更好地掌握任务切换的机制。共享资源的使用在多任务操作系统中是不可避免的,RTX51 TINY中没有专门的处理共享资源函数,所以在实际应用中要视情况来应用文中提到的几种方法。
作者: 兰州交通大学 冯桂平 鲁怀伟
参考文献
[1] 朱珍民,隋雪青,段斌. 嵌入式实时操作系统及其应用开发[M]. 北京: 北京邮电大学出版社,2006:44-49.
[2] Keil Software Inc.RTX51 Tiny User’s Guide,2004.
[3] 徐爱钧,彭秀华. 单片机高级语言C51 Windows环境编程与应用[M]. 北京:电子工业出版社,2001.
冯桂平(硕士研究生),主要研究方向为单片机开发与应用;鲁怀伟(教授、博导),主要研究方向为光纤无源器件。
在应用RTX51 TINY时应注意以下几点:
① 尽可能不使用循环任务切换。使用循环任务切换时要求有13个字节的堆栈区来保存任务内容(工作寄存器等)。如果由os_wait()函数来进行任务触发,则不需要保存任务内容。由于正处于等待运行的任务并不需要等待全部循环切换时间结束,因此os_wait()函数可以产生一种改进的系统响应时间。
② 不要将时钟节拍中断速率设置得太高,设定为一个较低的数值可以增加每秒的时钟节拍个数。每次时钟节拍中断大约需要100~200个CPU周期,因此应将时钟节拍率设定得足够高,以便使中断响应时间达到最小化。
③ 在os_wait()函数中有3个参数: K_TMO、K_IVL和K_SIG。其中对于K_TMO和K_IVL的使用要加以区别。在使用时,两者似乎差别不是很大。其实不然,两者存在很大的区别:K_TMO是指等待一个超时信号, 只有时间到了,才会产生一个信号。它产生的信号是不会累计的,产生信号后,任务进入就绪状态。而K_IVL是指周期信号, 每隔一个指定的周期,就会产生一次信号,产生的信号是可以累计的。这样就使得在指定事件内没有响应的信号,通过信号次数的叠加,在以后信号处理时,重新得以响应,从而保证了信号不会被丢失。而通过K_TMO方式进行延时的任务,由于某种原因信号没有得到及时的响应,那么这样就可能会丢失一部分没有响应的信号。不过两者都是有效的任务切换方式,在使用时要根据应用场合来确定对两者的使用。
结语
RTX51 TINY实时操作系统既能保证对外界的信息以足够快的速度进行相应处理,又能并行运行多个任务,具有实时性和并行性的特点,因此能很好地完成对多个信息的实时测量、处理,并进行相应的多个实时控制。任务切换是RTX51 TINY的一个基本服务。本文对任务切换做了详细的分析,在实际应用中还要对任务切换时的堆栈管理有一定了解,这样才能更好地掌握任务切换的机制。共享资源的使用在多任务操作系统中是不可避免的,RTX51 TINY中没有专门的处理共享资源函数,所以在实际应用中要视情况来应用文中提到的几种方法。
作者: 兰州交通大学 冯桂平 鲁怀伟
参考文献
[1] 朱珍民,隋雪青,段斌. 嵌入式实时操作系统及其应用开发[M]. 北京: 北京邮电大学出版社,2006:44-49.
[2] Keil Software Inc.RTX51 Tiny User’s Guide,2004.
[3] 徐爱钧,彭秀华. 单片机高级语言C51 Windows环境编程与应用[M]. 北京:电子工业出版社,2001.
冯桂平(硕士研究生),主要研究方向为单片机开发与应用;鲁怀伟(教授、博导),主要研究方向为光纤无源器件。
- VxWorks实时操作系统下MPC8260ATM驱动的实现(11-11)
- VXWORKS内核分析(11-11)
- Linux内核解读入门(11-09)
- 嵌入式系统实时性的问题(06-21)
- 基于WinCE操作系统的通用USB数控键盘设计(08-05)
- 嵌入式实时操作系统设计探讨(10-15)