- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一般地,下面三步是使用RTX51 Tiny要实现的
l??????? 编写RTX51程序
l??????? 编译并连接程序
l??????? 测试和调试程序
一、编写程序
?? 写RTX51 Tiny程序时,必须用关键字对任务进行定义,并使用在RTX51TNY.H中声明的RTX51 Tiny核心例程。
1、包含文件
RTX51 Tiny仅需要包含一个文件:RTX51TNY.H。所有的库函数和常数都在该头文件中定义。你可以在你的源文件中包含它:
#includertx51tny.h
2、编程原则
以下是建立RTX51 Tiny程序时必须遵守的原则:
①、确保包含了RTX51TNY.H头文件。
②、不要建立main函数,RTX51 Tiny有自己的mian函数。
③、程序必须至少包含一个任务函数。
④、中断必须有效(EA=1),在临界区如果要禁止中断时一定要小心。参见概述中的中断一节。
⑤、程序必须至少调用一个RTX51 Tiny库函数(象os_wait)。否则,连接起将不包含RTX51 Tiny库。
⑥、Task 0是程序中首先要执行的函数,必须在任务0中调用os_create_task 函数以运行其余任务。
⑦、任务函数必须是从不退出或返回的。任务必须用一个while(1)或类似的结构重复。用os_delete_task函数停止运行的任务。
⑧、必须在uvison中指定RTX51 Tiny,或者在连接器命令行中指定。更多技术文档参见keil软件知识库。
3、定义任务
??? 实时或多任务应用是由一个或多个执行具体操作的任务组成的,RTX51 Tiny支持最多16个任务。
任务就是一个简单的C函数,返回类型为void,参数列表为void,并且用_task_声明函数属性。例如:
void func (void)_task_task_id
这里,func是任务函数的名字,task_id是从0到15的一个任务ID号。
下面的例子定义函数job0编号为0的任务。该任务使一个计数器递增并不断重复。
void job0(void)_task_0
{
??? while(1)
{
????? Counter0++;
???? }
}
附注:
l??????? 所有的任务都应该是无限循环,任务一定不能返回。
l??????? 任务不能返回一个函数值,它们的返回类型必须是void。
l??????? 不能对一个任务传递参数,任务的形参必须是void。
l??????? 每个任务必须赋予一个唯一的,不重复的ID。
l??????? 为了最小化RTX51 Tiny的存储器需求,从0开始对任务进行顺序编号。
二、编译和连接
有两种方法编译和连接RTX51 Tiny应用程序。
l??????? 用uvison集成开发环境
l??????? 用命令行工具
1、命令行工具
RTX51 Tiny已经完全集成到了C51编译语言中,这使得生成RTX51 Tiny应
用非常容易。建立RTX51 Tiny程序只需编写C函数,无需使用汇编。
从命令行编译RTX51 Tiny程序…
按常规方式调用编译器,无需特别的编译指示。例如:
C51? RTXPROG.C? DEBUG? OBJECTEXTEND
产生的RTXPROG.OBJ文件中包含C代码和定义的RTX51 Tiny任务。
从命令行连接RTX51 Tiny程序:
l??????? 在连接器命令行内指定RTX51TNY指示
l??????? 在目标文件列表中包含RTX_CONF.OBJ文件(如果改变了配置)
例如:BL51? RTPROG.OBJ, RTX_CONF.OBJ? RTX51TNY
RTX51TNY指示命令连接器连接RTPROG.OBJ和TX_CONF.OBJ并且包含RTX51 Tiny库。这样就建立了RTX51 Tiny程序。
附注:
l??????? 不要在RTX51 Tiny程序中建立mian函数,只建立任务函数就可以。main函数包含在RTX51 Tiny库中,它启动操作系统和任务0。如果在程序中包含了main函数,将产生一个连接错误指示有多个main被定义。
l??????? 程序中至少建立一个任务函数。
l??????? 必须至少调用一个RTX51 Tiny函数(象os_wait或os_create_task),这样,连接器才会包含RTX51 Tiny库。
2、uvison集成开发环境
用uvison建立RTX51 Tiny程序。
1)????? 打开目标对话框选项(从project菜单选择Options for Target)。
2)????? 选择目标标签。
3)??
您可能关注的文档
最近下载
- 浅析卡尔斯塔米茨的《bE大调第七协奏曲》的曲式特点和演奏技巧.docx VIP
- 台威变频器T3000说明书.pdf
- 2023崇左幼儿师范高等专科学校教师招聘考试真题题库.docx VIP
- 数控机床夹具设计本科设计论文(论文).doc VIP
- 北京小米科技责任有限公司员工激励机制分析.docx
- 2023年崇左幼儿师范高等专科学校教师招聘考试笔试试题及答案解析.docx
- prominent普罗名特-操作手册-操作说明书-干粉投加系统Ultromat® TD 18.20-30.20-38.20.pdf
- 5s管理病区护理.pptx
- Midea 美的 BG-DC41洗碗机 说明书.pdf
- 新能源发电设备行业研究:分布式光伏专题:并网消纳压力不足惧,高基数仍有大空间.docx VIP
文档评论(0)