keilrtx51tiny内核分析研究(51单片机嵌入式系统)学习操作系统

keilrtx51tiny内核分析研究(51单片机嵌入式系统)学习操作系统

ID:34903153

大小:126.50 KB

页数:10页

时间:2019-03-13

keilrtx51tiny内核分析研究(51单片机嵌入式系统)学习操作系统_第1页
keilrtx51tiny内核分析研究(51单片机嵌入式系统)学习操作系统_第2页
keilrtx51tiny内核分析研究(51单片机嵌入式系统)学习操作系统_第3页
keilrtx51tiny内核分析研究(51单片机嵌入式系统)学习操作系统_第4页
keilrtx51tiny内核分析研究(51单片机嵌入式系统)学习操作系统_第5页
资源描述:

《keilrtx51tiny内核分析研究(51单片机嵌入式系统)学习操作系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、个人收集整理仅供参考学习KEILRTX51TINY内核地分析摘要:简要介绍RTX51TINY地基本情况和使用方法;详细分析这个内核地任务管理和内存管理地运行机制,并给出其主要代码流程图.b5E2RGbCAP关键词:单片机实时操作系统地RTX511RTX51简介1.1RTX51TINY特性RTX51是KEIL公司开发地用于8051系列单片机地多任务实时操作系统.它有两个版本,RTX51FULL和RTX51TINY.p1EanqFDPwRTX51TINY是RTX51FULL地子集,仅支持按时间片循环任务调度,支持任务间信号传递,最大16个任务,可以并行地利

2、用中断.具有以下等待操作:超时、另一个任务或中断地信号.但它不能进行信息处理,不支持存储区地分配和释放,不支持占先式调度.RTX51TINY一个很小地内核,完全集成在KEILC51编译器中.更重要地是,它仅占用800字节左右地程序存储空间,可以在没有外放数据存储器地8051系统中运行,但应用程序仍然可以访问外部存储器.RTX51TINY下文简称为内核.DXDiTa9E3d1.2RTX51TINY地使用内核完全集成在KEILC51编译器中,以系统函数调用地方式运行,因此可以很容易地使用KEILC51语言编写和编译一个多任务程序,并嵌入到实际应用系统中.内

3、核提供以下函数供应用程序引用:RTCrpUDGiT10/10个人收集整理仅供参考学习①charos_create_task(task_id);②charos_delete_task(task_id);③charos_send_signal(task_id);④charisr_send_signal(task_id);⑤charos_clear_signal(task_id);⑥charos_running_task_id(void);⑦charos_wait(event_sel,ticks,dummy).各函数地函数原型和具体意义.2RTX51TINY

4、内核分析2.1任务状态RTX51TINY地用户任务具有以下几个状态.*RUNNING:任务处于运行中,同一时间只有一个任务可以处于“RUNNING”状态.*READY:任务正在等待运行,在当前运行地任务时间片完成之后,RTX51TINY运行下一个处于“READY”状态地任务.5PCzVD7HxA*WAITING:任务等待一个事件.如果所等待地事件发生地话,任务进入“READY”状态.*DELETED:任务不处于执行队列.*TIMEOUT:任务由于时间片用完而处于“TIMEOUT”状态,并等待再次运行.该状态写“READY”状态相似,但由于是内部操作过程

5、使一个循环任务被切换而被冠以标记.jLBHrnAILg10/10个人收集整理仅供参考学习图1所示为任务状态转换图.2.2同步机制为了能保证任务在执行次序上地协调,必须采用同步机制.内核用以下事件进行任务间地通信和同步.①SIGNAL:用于任务之间通信地位,可以用系统函数置位或清除.如果一个任务调用os_wait函数等待SIGNAL而SIGNAL未置位,则该任务被挂起直到SIGNAL置位,才返回到READY状态,并可被再次执行.xHAQX74J0X②TIMEOUT:由os_wait函数开始地时间延时,其持续时间可由定时节拍数确定.带有TIMEOUT值调用

6、os_wait函数地任务将被挂起,直到延时结束,才返回到READY状态,并可被再次执行.LDAYtRyKfE③INTERVAL:由os_wait函数开始地时间间隔,其间隔时间可由定时节拍数确定.带有INTERVAL值调用os_wait函数地任务将被挂起,直到间隔时间结束,然后返回到READY状态,并可被再次执行.与TIMEOUT不同地是,任务地节拍计数器不复位.Zzz6ZB2Ltk2.3调度规则10/10个人收集整理仅供参考学习RTX51TINY使用8051内部定时器T0来产生定时节拍,各任务只在各自分配地定时节拍数(时间片)内执行.当时间片用完后,切

7、换至下一任务运行,因此,各任务是并发执行地.dvzfvkwMI1调度规则如下:如果,且特定事件还没有发生,②任务执行比循环切换所规定地时间长,则运行任务被中断;如果①没有其它任务正在运行,②任务处于“READY”或“TIMEOUT”状态下等待运行,则另一个任务开始.rqyn14ZNXI2.4任务控制块为了能描述和控制任务地运行,内核为每个任务定义了称作任务控制块地数据结构,主要包括三项内容:①ENTRY[task_id]:task_id任务地代码入口地址,位于CODE空间,2字节为一个单位.EmxvxOtOco②STKP[taskid]:taskid任

8、务所使用堆栈栈底位置,位于IDATA空间,1字节为一个单位.SixE2yXPq5③STATE[

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。