资料介绍
RTX51 Tiny是 Keil uVision中自带的一个小型嵌入式RTOS,具有小巧、速度快、系统开销小、使用方便等优点。使用RTX51 Tiny能够提高系统的稳定性,优化程序的性能;而且它是为51单片机专门定制的,所以在51单片机上的运行效率比其它一些通用的RTOS性能也要好一些。
但是,由于RTX51 Tiny的相关资料和书籍比较少,大部分只是对程序自带帮助文件的简单翻译,很少进行深入探讨。
下面就RTX51 Tiny使用中经常遇到的一些问题进行探讨。
1 关于时间片的问题 RTX51 Tiny使用的是无优先级时间片轮询法,每个任务使用相同大小的时间片,但是时间片是怎样确定的呢? RTX51 Tiny的配置参数(Conf_tny.a51文件中)中有INT_CLOCK和TIMESHARING两个参数。这两个参数决定了每个任务使用时间片的大小: INT_CLOCK是时钟中断使用的周期数,也就是基本时间片;TIMESHARING是每个任务一次使用的时间片数目。两者决定了一个任务一次使用的最大时间片。如假设一个系统中INT_CLOCK设置为10000,即10ms,那么TIMESHARING=1时,一个任务使用的最大时间片是10ms;TIMESHARING=2时,任务使用最大的时间片是20ms;TIMESHARING=5时,任务使用最大的时间片是50ms;当TIMESHARING设置为0时,系统就不会进行自动任务切换了,这时需要用os_switch_task函数进行任务切换。这部分功能是RTX51 Tiny 2.0中新增加的。
2 关于os_wait延时的问题
os_wait 是RTX51 Tiny中的基本函数之一。它的功能是将当前任务挂起来,等待一个启动信号(K_SIG)或超时信号(K_TMO)或周期信号(K_IVL)或者是它们之间的组合。虽然os_wait很简单,但是因为涉及到多任务的操作方式,很容易产生误解。
2.1 关于K_TMO的延时时间
在RTX51 Tiny中,如果一个任务中使用了os_wait(K_TMO,1,0),那么它的延时时间是多少呢? 很多人都会认为是一个时间片,其实这不完全对。正确的理解是,延时时间与正在运行的任务相关。因为RTX51 Tiny是一个非占先或多优先级的实时操作系统,是一个平级的时间片轮询实时操作系统,所有的任务平等运行。K_TMO是等待产生超时信号,当信号产生后,只是将相应的任务置上就绪标志位,任务并不是立即就能够运行。任务需要等到其它任务轮流执行,到自己的时间片后才会执行。这就是说,最后的效果是延时时间加上正在运行的任务执行时间,而这个时间是与任务数和任务运行情况相关的。如果其它任务执行的时间短,那么延时可能只是一个时间片;如果其它任务执行的时间长,那么就需要多个时间片了。用os_wait做时钟是不准确的。关于延时时间还有一个很容易理解错的地方,那就是os_wait中无论使用K_TMO还是K_IVL参数,延时的时间都只与INT_CLOCK有关,而与 TIMESHARING无关。或者说,os_wait函数一次只使用一个基本时间片,而不是任务的时间片。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
- RTX51 Tiny用户手册 0次下载
- RTX51-Tiny使用手册 32次下载
- RTX51 Tiny 学习笔记(四)
- C51单片机与实时系统RTX51(Tiny / Full)
- RTX51 Tiny中容易混淆的问题有哪些应该如何解决
- RTX51 Tiny有哪些问题容易混淆
- RTX51 Tiny中有哪些问题容易混淆
- 《RTX51中英文版》KEIL RTX51实时操作 0次下载
- RTX51入门手册 0次下载
- 如何使用rtx51小型实时操作系统
- 基于RTX51 TINY的加密短消息通信系统
- KEIL RTX51实时操作系统中文版 0次下载
- 基于RTX51的按摩椅电机动作系统设计
- KEIL RTX51 TINY内核的分析与应用
- KEIL RTX51 FULL版 0次下载
- JavaScript压缩、混淆和加密技术原理解析 3250次阅读
- NVIDIA RTX 5000 Ada显卡性能实测报告 7706次阅读
- java中的代码混淆技术 1553次阅读
- APP混淆实战(Java/so代码混淆) 925次阅读
- 基于嵌入实时操作系统和单片机实现加密短消息通信系统的设计 2159次阅读
- 基于RTX51操作系统实现地面移动机器人控制系统的设计 3042次阅读
- 基于实时操作系统RTX51和AT89C52单片机实现智能交通灯的设计 3322次阅读
- 友善之臂Tiny210核心板介绍 8084次阅读
- 友善之臂Tiny4412核心板介绍 1.1w次阅读
- 友善之臂Smart210核心板介绍 1w次阅读
- 如何解决PCB板子上焊盘容易脱落的问题 1.5w次阅读
- PLC编程中容易混淆的AND指令和OR指令 1.3w次阅读
- 电压重动、电压并列和电压切换这几个概念对刚接触的初学者很容易混淆 3.4w次阅读
- 分类问题统计指标入门:混淆矩阵、召回、误检率、AUROC 1.9w次阅读
- 51单片机计数器与定时器的区别 1.4w次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 6次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5基于FPGA的光纤通信系统的设计与实现
- 0.61 MB | 2次下载 | 免费
- 651单片机窗帘控制器仿真程序
- 1.93 MB | 2次下载 | 免费
- 751单片机大棚环境控制器仿真程序
- 1.10 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33564次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6653次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537796次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191185次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多