当前位置:首页 >> 信息与通信 >>

实时多任务操作系统RTX-51TINY的应用


第 2 卷第 6 期 4 2 0 年1 月 0 4 2

咸 宁 学 院 学 报 Junl fXa nn Cl g oR a o inig o ee l

V l2 , o 6 o .4 N . D c2 0 e .0 4

文章编号:0 6-5 4 (0 4 0 10 3 2 2 0 )6-0 3 0 0-0 4

/>
实时多任务操作系统 R X5 I T -1T NY 的应用
张红兵
( 咸宁学院 信息工程学院计算机系, 湖北 咸宁 4 7 0 ) 305

*

要: T -1Tn 是集成于 K i 5 开发 环 境 中 的 实 时 多 任 务 操 作 系 统, 系 统 可 以 应 用 该 R X5 iy e lC 1 于所有具有 8 5 内核的单片机 . 对 于 从 前 后 台 编 程 模 式 走 向 基 于 实 时 多 任 务 操 作 系 统 的 编 它 01 程模式提供了非常好的平台 . 本文 详 细 叙 述 了 应 用 该 操 作 系 统 进 行 单 片 机 开 发 的 过 程, 给 出 并 了实例 . 关键词: T -1Tn ; 操作系统 R X5 iy 实时; 中图分类号: P 6 2 文献标识码: T 3 8. A 1 采用实时多任务操作系统的意义 在 8 5 系 列 单 片 机 的 开 发 过 程 中, 们 习 惯 人 01 使用前后 台 系 统 来 管 理 各 个 任 务, 应 用 程 序 由 即 多个任务组成, 它们 构 成 一 个 无 限 的 循 环, 循 环 在 即 中轮流执 行 各 个 任 务, 一 个 任 务 完 成 后 再 执 行 另外一个任务 . 循环 执 行 的 任 务 被 称 为 后 台, 产 当 生中断时, 单片机执 行 中 断 服 务 程 序, 被 称 为 前 这
1 台 [ ]. 如果某个事件 发 生 了, 有 等 到 程 序 循 环 到 只



务操作系 统, 用 它 可 以 简 化 具 有 实 时 性 要 求 的 利 多任务复杂软件 的 设 计, 可 以 在 所 有 8 5 系 列 它 01 单片机上实现而无需扩展外部 R AM. 2 R X 1Tn 的工作原理 T 5 iy R X 1Tn 采 用 了 基 于 时 间 片 的 轮 询 的 任 T 5 iy 务调度机制 . P 的 执 行 时 间 被 划 分 为 若 干 时 间 C U 片, 每个时 间 片 的 具 体 时 间 可 依 据 实 际 的 需 要 进 行选择 . 统 将 应 用 程 序 划 分 为 多 个 可 以 并 行 运 系 每个任务 都 是 一 个 无 限 循 环 . 统 为 每 系 行的任务, 个任务分 配 一 个 时 间 片, 该 时 间 片 内 只 执 行 这 在 个任务 . 当时间到, 下 一 个 时 间 片 则 无 条 件 地 执 在 行另外一个任务 . 所 有 的 任 务 都 轮 询 一 次 后, 当 再 回头执行第一个任 务 . 于 时 间 片 很 短, 般 从 几 由 一 个毫秒到 几 十 个 毫 秒, 此 看 起 来 好 像 多 个 任 务 因 被同时执行了 . 每 R X 1Tn 占用单 片 机 内 部 定 时 器 0, 隔 T 5 iy 一定的时 间 产 生 一 次 中 断 . 邻 中 断 之 间 的 时 间 相 在 就是时间 片 的 长 度 . 其 中 断 服 务 程 序 中 进 行 任 务调度以及判断执 行 了 延 时 函 数 的 任 务 的 延 时 时 间是否 到 . 这种周 期性的 中断形 成 R X 1 的系 统 T5 节拍 . 所 R X 1Tn 最 多 可 以 定 义 1 个 任 务, 有 T 5 iy 6 的任务都 可 以 同 时 激 活 成 为 就 绪 态 . 占 用 单 片 其 机内部资源 除 了 定 时 器 0 外, 占 用 了 7 字 节 的 还

虽 查询该事 件 的 标 志 时 才 能 得 到 处 理 . 然 在 中 断 服务程序 中 也 能 及 时 处 理 异 步 事 件, 是 为 了 节 但 省中断服 务 程 序 的 执 行 时 间, 往 在 中 断 服 务 程 往 序中只是接收信息, 后 退 出 中 断, 需 要 处 理 的 然 将 信息留待主循环程 序 中 处 理 . 此, 后 台 式 的 系 因 前 统不能很 好 地 对 异 步 事 件 及 时 响 应 . 时 多 任 务 实 操作系统( T S R a i eO ea n S se ) R O - elT m prt g yt m 以 i 分时方式运行多个 任 务, 像 所 有 的 任 务 都 是 " 好 同 时" 运行, 因此它能 在 任 何 时 候 在 指 定 的 时 间 内 给 当前, 在单片 机 中 应 用 嵌 入 式 操 作 系 统 是 出响应 . 大势所趋 . 在85 系 列 单 片 机 上 运 行 操 作 系 统 并 非 易 01 事, 为 它 们 的 内 部 R 因 仅 AM 很 有 限, 仅 1 8 或 2 扩 2 6 字节, 展 外 部 R 5 AM 则 会 增 加 产 品 的 成 本 . K i 公司在 其 单 片 机 集 成 开 发 环 境 i o 5 以 e l Vs n 1 i 上版本中集成了 R X 1Tn , 是 一 种 实 时 多 任 它 T 5 iy

2 0-10 * 收稿日期:0 41-2

第6期

张红兵

实时多任务操作系统 R X 1T NY 的应用 T5 I

3 1

D ATA 空间, 倍于任务数的字节 的 I ATA 空 间 3 D 以及 9 0 字节的 C D 空间 . 统时 钟 为 10 0~ 系 0 O E 0 任务切换时间为 1 0~7 0 周期 . 6 3 周期, 55 5 0 0 [] R X 1Tn 提供的系统函数及功能为 2 : T 5 iy ( )hr s _ n _ g a (nin dc a ak_ 1 c a irs d s nl u sg e hrts e i i)/ d ; /在中断 服 务 程 序 中 向 ts _ 确 定 的 任 务 ak i d 发送信号 . ( )hro _ er sg a (nin dc a ak_ 2 c a s c a _ nl u sg e hrts l i i)/ d ; /清除由ts _ 确定的任务的信号标志 . aki d ( )hro _ et _ s (nin dc a ak_ 3 c a s c ae t k u sg e hrts r a 只 i)/ d ; /启动一个由 ts _ 指 定 的 任 务, 有 执 行 aki d 该函数后该任务才 被 纳 入 到 时 间 片 切 换 任 务 的 队 列中 . ( )hro _eee ts (nin dc a ak_ 4 c a s dlt _ k u sg e hrts a 当 i)/ d ; /停止一个由 ts _ 指 定 的 任 务, 一 个 任 aki d 就 务执行后 不 必 再 运 行 它 了, 可 以 使 用 该 函 数 将 任务从任 务 队 列 中 删 除, 是 该 任 务 的 代 码 依 然 但 存在, 在需要的时候依然可以激活它 . ( )hro _u nn _ s _ (od) / 回 5 c a s r nig t k i vi ; /返 a d 当前任务的ts _ 号 . aki d ( )hro _ n _ g a (nin dc a ak_ 6 c a s s d s nl u sg e hrts e i )/ ; /向由ts _ 确定的 任 务 发 送 信 号, 果 该 如 i d aki d 则 否 任务正在等待信号, 使 任 务 再 次 准 备 执 行, 则 信号被存储在所访问的任务信号标志内 . ( )hro _ a (nin dc a v n _e , 7 c a s w i u sg e hreet sl t , nin d n u y ; u sg e hr ik u sg e itd mm ) nin dc a t s c / /暂停当 前 任 务 而 等 待 一 个 或 几 个 事 件, 诸 如时间到, 隔, 一 个 任 务 或 中 断 发 送 的 信 号 . 间 另 其中 eetsl为要等待的事件, 只能在 K_V , vn _ e ILK _I , _ S G K TMO 中选择,c s为等 待超 时 的 定时 器 tk i 0 产生的时钟脉冲数 .u y 默认为 0. d mm 3 R X 1Tn 的使用 T 5 iy 因 R X 1Tn 内置 在 i o 5 中, 此 使 用 T 5 iy Vs n 1 i 起来很方便 . 3. 系统配置 1 在 i o5 或 i o2集 成 开 发 环 境 下 的 Vs n 1 i Vs n i 在 pr O t n frT re 菜 单 的 T re 栏 目, O eo agt pi s o agt a n 项选中 R X5 Tn , 在 编 译 时 自 动 加 入 tg i T -1 iy 则 了 R X5 iy 系统, 用户无需增 加额 外 的文 件 . T -1Tn 在嵌入式 系 统 启 动 后 首 先 执 行 该 背 景 程 序, 户 用 的应用 程 序 是 运 行 于 该 背 景 程 序 之 上 的 各 个 任 务, T S 根据各个任务的要求, 进行资源管理, 消 R O 息管理, 任务调度和异常处理等工作 . 用户还必须根据 实 时 系 统 对 时 间 的 要 求 以 及

方法是对I e I 5 It 任务的多少调整系统配置, ki c1 rx l _n 目 录 下 的 系 统 配 置 文 件 c n _n .5 的 相 ty i of t y a1 应部分作出调整 . 定 I _E B NT R G ANK E QU 1; 义 定 时 器 0 产生中 断 时 中 断 服 务 程 序 使 用 的 寄 存 器 组 的 组 号, 默认为寄存器组 1. I T_ L C N CO K E QU 1 0 ; 于 决 定 定 时 000 用 器 0 多少时间产生一次中断, 由它决定操作系统 的 时钟节拍 . 系统 默 认 为 1 0 个 机 器 周 期, 于 采 对 000 用 1 . 9 MH 晶 振的单 片机而 言, 统的时 钟周 系 10 2 z 5 期为 1057 1 0 = 1 5 . 0 × 000 8 080 s= 1 . 07 s 08 5 m. 定 QU 5; 义 任 务 切 换 T ME HAR NG E I S I 的时间片 的 长 度, 多 少 个 系 统 时 钟 周 期 为 一 个 即 时间片 . 统 默 认 为 5 个 系 统 时 钟, 果 晶 振 为 系 如 1 0 9 MH , 1.5 2 z 则时间片为 该值 不能设 1 80 0. 7×5 = 5 2 35 s 注 意: 5 4. 5 m . 定为 0, 否则系统不会进行任务切换 . 定义单片机中堆栈的 R AMT PE O QU0 FH; F 最高地址 . 注意如果是采用 8 5 内核的单片机, 内 01 该 系 部R AM 为 1 8 字节, 值 应 当 修 改 为 7 2 FH. 统 默认为 8 5 内核, 内部 R 02 AM 为 2 6 字节 . 5 F E _ TA K E R ES C QU2 ; 义 堆 栈 的 空 间 大 0 定 小, 系统默认为 2 字 节 . 果 在 任 务 切 换 过 程 中, 如 0 堆栈中的 自 由 空 间 不 足, 会 关 闭 中 断 并 进 入 死 则 循环 . 因此要合理设定堆栈的大小 . 3. 使用 R X5 iy 时编写程序的方法 2 T -1Tn 在程序的开始一定要加入包含文件 rx 1n . t5 t y 即: icu e rx 1n . h, # nld < t5 t y h>. 使 用 R X5 Tn 时 用 户 程 序 中 不 需 要 T -1 iy 系 m i ( 函 数, 统 启 动 后 会 自 动 从 任 务 0 开 始 运 an ) 行. 任务 0 是整个应用程序的开始, 因此必不可少 . 任务0 是无须由其他程序启动的, 但除此之外其它 的任务都 必 须 在 启 动 它 后 才 能 运 行 . 务 的 定 义 任 是程序中 的 一 段 任 务 函 数, 任 务 既 可 能 纳 入 到 该 任务调度的排队队 列 中, 可 能 永 远 都 不 被 执 行, 也 除非执行了启动该任务的命令 . 任务的定义格式为: vi u c o (od ts _ aki { odf nt n vi )_ k ts _ i a d fr ; ){ o (; ; /任务循环体 / } } _ s 是定义 任务的 f nt n 为任务的名称, ak _ uc o i t 关键字, s _ 是 任 务 号, 值 范 围 为: 其 t ki a d 0~1 , 5 每

3 2

咸宁学院学报 } }

第2 卷 4

个任 务 对 应 一 个 唯 一 的 任 务 号 . T -1 Tn 不 R X5 iy 支持可剥 夺 式 任 务 调 度, 有 的 任 务 的 优 先 级 都 所 是相同的, 此 任 务 号 的 选 择 并 没 有 什 么 特 殊 要 因 求, 但是要注意任务 0 是 所 有 任 务 的 开 始, 以 一 所 般在任务0 中启动其它的任务 . 每个任务都是一个 死循环, 没有参数和返回值 . 中断服务 程 序 的 编 写 方 式 与 不 使 用 R X5 T -1 Tn 操作系统下的编写方式相同 . iy 4 应用实例 在 视 频 监 控 领 域 经 常 要 用 到 协 议 转 换 器, 它 将一种协议的串行 数 据 转 换 成 另 外 一 种 协 议 的 串 在设计一款协议 转 换 器 时 使 用 了 R X5 行数据 . T -1 Tn , iy 整个应 用 被 分 为 三 个 任 务 和 一 个 中 断 服 务 程序 . 一个任务是从 串 口 接 受 数 据, 其 结 构 和 含 对 意进行判断, 并将其 转 换 为 对 应 协 议 的 数 据; 个 一 还 是将转换 后 的 数 据 从 串 口 发 送 出 去; 有 一 个 是 喂看门狗; 当有串口 数 据 成 功 发 送 或 接 受 时, 生 产 中断, 在中 断 服 务 程 序 中 向 等 待 数 据 处 理 的 任 务 发送信号 . 示意性程序如下: icu e rx 1n . # nld < t5 t y h> icu e rg 2. # nld < e 5 h> /任务 I 的定义 en E EV i D #df eR C I E1/ en R S I i #df eT AN M T2 en i CH_ O D G3 #df e WAT /********************* 任务 0 初始化系统, : 启动其它的任务 / ********************* vi iia( i )_ s _ { o ni v d t k 0 d tl o a iiazt n ) / nii i ( ; /初始化系统 tla o o _ et _ s ( E E V ) / sc aet k R C I E ; /启动接收任务 r a o _ et _ s ( R N M T) / sc aet k T A S I ; /启动发送任务 r a o _ et _ s ( s c ae t k WAT r a CH _ O ) / D G ; /启 动 喂 看门狗任务 o _eeets ( ) / s dlt _ k 0 ; /终止该任务 a } /* * * * * * * * * * * * * * * * * * *** 任务 1: 待 串 口 中 断 发 送 的 信 息, 将 从 串 等 并 口接收到的数据进行分析和转换 *******************/ vi eev _ s (od ts _ E E V { odrciet k vi )_ k R C I E a a fr ; ){ o (; o _ a ( _I , , ) / s w i K S G 0 0 ; /等待信号 t ; /数据处理 / } } 信号

/******************** 任务 2: 等待 串 口 中 断 发 送 的 信 号, 向 串 口 并 发送转换后的码流 . ********************/ vi rn mt_ak(od)_ak_T AN odta s i ts vi ts R S MT{ I fr ; ){ o (; fri ;<7;++ ){ o (=0i i o _ a ( _I , , ) / 待 s w i K S G 0 0 ; /等 t ; /发送数据 / } } /******************** 任务 3: 定期喂看门狗 ********************/ vi ac _o _ s (od)_ s _WAT odw th d g t k vi t k a a CH _O { D G fr ; ){ o (; wth dg = !wth dg / a _o c a _o ; /喂看门狗 c _a ( _ ,,) / 隔一个时 o w i K TMO 1 0 ; /每 s t 钟脉冲喂一次看门狗 } } /****************** 串口中断服务程序 ********************/ vi eilI R(od itru t4uig2 { odsr _ a S vi )ner p sn i (I f R ){ R I= 0; irsn _ g a ( E E V ) / s _ d s nl R C I E ; /向任务1 e i 发送信号 e e f T ){ l i( I s T I= 0; )} /只 i (p aaf g == 1 / 有 当 刷 新 标 志 f u dt _a l 置位的时候才发送信号 ir sn _ g a ( R S I ) / s _e d s nl T AN M T ; /向 任 务 2 i 发送信号 } }

第6期 } 5 结束语

张红兵

实时多任务操作系统 R X5 I T -1T NY 的应用

3 3

用户不能将定时器 0 用于其它 用 片机的定时器 0, 途. 三是系统本身 占 用 了 C U 的 运 行 时 间 和 部 分 P 用户 在 使 用 的 过 程 中 都 要 考 虑 到 这 R AM, OM, R 些因素 . 参考文献: [] 周 1 陈明 计, 立 功 .嵌 入 式 实 时 操 作 系 统 S a ml l 北 R O 5 原理 及 应 用 [ ] 北 京: 京 航 空 航 T S1 M . 天大学出版社,0 4. 20 [ ] 爱 钧, 秀 华 .单 片 机 高 级 语 言 C 1 W n 彭 2徐 5 i电 d w 环境编程与应用[ ] 北 京: 子 工 业 出 os M . 版社,0 1. 20

在嵌入式系统中 应 用 实 时 多 任 务 操 作 系 统 除 还 了提高对 事 件 的 响 应 速 度 外, 能 显 著 提 高 编 程 人们 可 以 集 中 精 力 编 写 某 个 任 务, 效率和稳定性, 而不必担 心 任 务 之 间 的 关 系, 务 调 度 完 全 由 操 任 作系 统 来 完 成 . T -1 Tn 集 成 于 ki 公 司 提 R X5 iy e l 供的 C 1 开 发 环 境 中, 常 用 的 系 统 函 数 只 有 5 且 5 个, 因而用户将其嵌 入 到 应 用 中 十 分 方 便 . 是 在 但 应用过程中也 要 注 意 几 个 问 题, 是 R X5 T一 T -1 i 不 n 是基于时间 片 的 任 务 轮 询 机 制, 支 持 可 剥 夺 y 式任务切 换, 此 在 对 事 件 的 响 应 速 度 要 求 非 常 因 严格的情 况 下 不 很 适 用; 是 系 统 本 身 占 用 了 单 二

V eA T ct no elV m h Tl a o fR a i e i i O ea n Ss m R X5 iy i e V -1Vn TRt g yt
Z A GH n -bn H N o g ig
( e at eto o p tr S h o o Ifr a o n niern , D pr m n fC m ue , c ol f no m t na dE gneig i , inig4 7 0 ,hn ) Xa nn C l g Xa nn 3 0 5 C ia inig o e e l A s at R X5 iy s ra tm prt gsse nertd nK i 5 itgae eeo m n ebt c : T -1Tn i a eli eo ea n yt mitgae i e R i lC 1 nertdd vlp et n v o m n .t a ea p e i l ir o to e ih8 5 oe I ep lcr nce gnes otr i n et I cnb pl d na r i lMcoc nrl rwt 0 1cr .thlseetoi nier t un l fo R u dR bn m dl ora tm prt gsse r m o n- oi o e t el i eo ea n yt m.A x m l l srtst ed vlp etpo i ne a pei utae h eeo m n rl csig wt h prt gsse ndti. esn iht eo ea n yt mi ea i l K yS Rs R X5 iy R a tm ; prt gsse e od : T -1Tn ; el i e O ea n yt m i

相关文章:
基于RTX51TINY实时操作系统的应用
基于RTX51TINY实时操作系统的应用_电脑基础知识_IT/计算机_专业资料。基于 RTX51TINY 实时操作系统的应用 摘要:为解决在单片机中处理实时多任务,通过在 C8051F020 ...
msp430单片机的实时多任务操作系统
浅述msp430单片机的实时多任务操作系统 摘要:实时多任务操作系统(rtos)能有效提高嵌入式平台的资 源利用效率,是嵌入式应用的必然趋势。本文阐述基于 msp430f149 的...
嵌入式实时多任务操作系统
没有选配实时多任务操作系统作为开发平台,也不 需要将系统软件和应用软件分开处理.但是在实际应用中,有时也会面临同时 处理多个并行任务要求,这就需要安排一种...
rtx51小型实时操作系统的应用体会
rtx51小型实时操作系统的应用体会_计算机硬件及网络_IT/计算机_专业资料。rtx51 小型实时操作系统的应用体会 2007 年 06 月 27 日 星期三 23:53 最近在做设计的...
8051单片机实时操作系统RTX51 Tiny总结
8051单片机实时操作系统RTX51 Tiny总结_计算机软件及应用_IT/计算机_专业资料。8051...目前在 8051 系列单片机上使用多任务实时操作系 统,RTX51 Tiny 也就成为了首选...
嵌入式实时操作系统的任务管理及任务调度
嵌入式实时操作系统的任务管理及任务调度_财务管理_...1 . 3 分类:VxWorks,uC/OS-Ⅱ,uClinux,eCos,RTX...每个任务的优先级(特别是应用程序的优先级)在系统...
实时操作系统 包括硬实时和软实时的区别
是板 子或芯片上软硬件的总和, 嵌入式系统一定要对实时任务有很强的支持能力, 所以一般嵌入 式系统都会采用实时操作系统,根据不同应用,选择采用硬实时或软实时。...
课程设计(论文)-基于实时操作系统的单片机多任务应用程...
课程设计(论文)-基于实时操作系统的单片机多任务应用程序设计_计算机硬件及网络_...1.2 设计的实现方案本设计在 51 单片机上移植小系统,并且在小系统上编写多...
RTX51小型实时操作系统介绍[1]
RTX51多任务操作系统中文... 43页 免费 RTX51 Tiny用户手册 40页 免费 51简单...对于这样的应用程 序,一个实时操作系统(RTOS)允许灵活的分配系统资源(中央处理...
当前主流操作系统应用分析
当前主流操作系统应用分析_互联网_IT/计算机_专业资料。《嵌入式实时操作系统》课程...2、多用户、多任务 Windows 系统可以使多个用户用同一台电脑而不会互相影响。...
更多相关标签:
实时多任务操作系统 | rtx实时操作系统 | rtx实时操作系统官网 | rtx实时操作系统教程 | rtx实时操作系统下载 | rtx实时系统 | rtx 实时系统是否免费 | rtx实时系统x86 |