初识RTX51_TINY实时操作系统

介绍RTX51_TINY:

在偶然的情况下看到了有人在51上运用一款实时操作系统,怀着好奇的心态去了解一下。它的大名叫:RTX51,有两个版本TINY和FULL,本文章主要对tiny版本做一个简单的介绍。RTX51 Tiny是一个非抢占或多优先级的实时操作系统,是一个平级的时间片轮询实时操作系统,所有的任务平等运行。

搭建准备工作:

首先要使用这个操作系统需要做一些前期准备:keil4 C51,一块51开发板。在keil C51上需要做些配置,在魔术棒中Target中operating System中设置RTX51_tiny,main.c文件引用#include“rtx51tny.h”,编译发现** FATAL ERROR L257: RTX51-TINY REQUIRES UPGRADE TO PK51*这个错误的话,原因在破解软件时选择了不带有操作系统的版本注册,此时可以用管理员身份打开keil4 C51中file中license management,点击之前注册的license,进行Uninstall按钮删除注册好的,再重新利用注册机重新注册,选择如下图中的MDK版本注册即可编译通过。

简单代码示例:

准备好前期工作,就开始进行编写代码了,这里引用一个简单的灯任务的调度过程。

#include "rtx51tny.h"
#include <reg52.h>

sbit led0 = P2^0;
sbit led1 = P2^1;
sbit led2 = P2^2;

/* 在CONF_TINY.A51中可配置INT_CLOCK来决定中断使用的周期数也就是时间片,在12HZH的晶振下,INT_CLOCK EQU 10000为10ms,TIMESHARING EQU 5表示任务的时间片最大为50ms */

/* os_create_task(task_id); 创建task_id号任务 
   os_delete_task(task_id); 删除task_id号任务 */		
void main_job() _task_ 0   
{   
	os_create_task(1);//task1   
		
	os_create_task(2);//task2   
		
	os_create_task(3);//task3  
		
	os_delete_task(0);//delet task0  
}   
  
/* os_wait(typ, ticks,dummy); typ有三个选项K_SIG(启动信号),K_TMO(超时信号),K_IVL(周期信号)或是组合使用。ticks为等待的滴答时间,设置为10的话就是基准时间片*10,dummy未使用,默认设置为0* */
void led0_job() _task_ 1    
{     
	led0 = 0;
	for (;;)   	
	{   
		led0 = !led0; 
		os_wait(K_TMO,100,0); //延时1s
	}    
}   
  
void led1_job() _task_ 2    
{   	
	led1 = 0;
	for (;;)   
	{  	
  	    led1 = !led1;	
		os_wait(K_TMO,150,0);  	//延时1.5s	
	}   
}  

void led2_job() _task_ 3    
{   
	led2 = 0;
	for (;;)   
	{   
		led2 = !led2; 		
		os_wait(K_TMO,150,0);	//延时1.5s
	}   
}  

在传统的C语言程序入口都是从main函数作为入口,而RTX51_TINY构建的应用程序没有main函数,是从任务0开始执行的。整体代码结构和其他RTOS的线程创建相似:由创建的第一个任务中去创建其余任务后删除自身任务。RTX51_TINY的程序用标准的C语言构造,由Keil C51 C编译器编译。用户可以很容易的定义任务函数,而不需要进行复杂的栈和变量结构配置,只需包含一个指定的头文件(rtx51tny.h),RTX51_TINY使用定时器0,定时器0中断,和寄存器组1.如果在程序中使用了定时器0,则RTX51_TINY将不能正常运行。

  • 10
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 《rtx51_tiny高级编程.pdf》是一本关于RTX51_Tiny高级编程的书籍。RTX51_Tiny是基于Intel 8051单片机的一种低成本实时操作系统。本书主要介绍了如何利用RTX51_Tiny实现高级编程技术。 该书首先对RTX51_Tiny的基本概念进行了解释,并介绍了其基本组成和工作原理。然后,书中详细介绍了如何使用RTX51_Tiny的任务管理机制,包括任务的创建、删除、挂起和恢复等。此外,还介绍了如何利用消息队列、信号量和互斥量等机制实现任务间的通信和同步。 除此之外,书中还介绍了如何使用RTX51_Tiny的定时器和时钟功能,实现任务的定时调度和时序控制。同时,还介绍了中断处理和异常处理的机制和技巧。 在高级编程方面,该书介绍了如何优化程序的性能和资源利用率。通过使用RTX51_Tiny提供的工具和API,可以进行任务的优先级调整、资源管理和内存管理等操作,提高程序的效率和可靠性。 此外,本书还介绍了如何进行调试和错误处理,包括使用调试工具和技巧、处理异常情况和错误码等。 总的来说,《rtx51_tiny高级编程.pdf》是一本全面而深入的关于RTX51_Tiny高级编程的指南,对于想要学习和应用RTX51_Tiny的开发者来说是一本宝贵的参考资料。 ### 回答2: 对于RTX51_Tiny高级编程.pdf,它是一本与嵌入式系统开发相关的高级编程指南。RTX51_Tiny是一个实时操作系统内核,常用于51系列单片机的开发。本书主要介绍了如何使用RTX51_Tiny进行高级编程。 该书包含了以下几个方面的内容: 首先,介绍了RTX51_Tiny的概念和架构。阅读者可以了解它的基本原理和特点,以及与其他操作系统内核的比较。 其次,详细讲解了RTX51_Tiny的编程接口和常用函数。这些函数包括任务管理、中断处理、时间管理、信号量等等,通过这些函数的使用,开发者可以轻松构建复杂的实时系统。 此外,书中还详细介绍了如何使用RTX51_Tiny进行任务调度和系统优化。通过合理的任务安排和系统配置,可以提高系统的响应速度和性能。 最后,书中还提供了一些示例代码和实际应用案例,帮助读者更好地理解和应用所学知识。这些案例涵盖了不同领域的嵌入式系统开发,包括通信、控制、数据处理等等。 总而言之,RTX51_Tiny高级编程.pdf是一本全面而实用的嵌入式系统开发指南。它适合那些已经掌握了51系列单片机基础知识,并希望深入学习和应用RTX51_Tiny的开发者。通过学习本书,读者可以更好地理解和掌握RTX51_Tiny的高级编程技巧,提升嵌入式系统开发的能力。 ### 回答3: 《rtx51_tiny高级编程.pdf》是一本关于RTX51_Tiny高级编程的电子书。RTX51_Tiny是一种用于8051系列单片机的实时操作系统(RTOS),它提供了一些高级功能和特性,可以帮助开发者更好地管理和控制嵌入式系统。 该电子书内容详实,通过阅读可以学习到RTX51_Tiny的设计原理、使用方法和相关编程技巧。书中首先介绍了RTX51_Tiny的基础知识,如任务、信号量、消息和邮箱等。然后讲解了如何在嵌入式系统中实现多任务并行执行、任务间的同步与通信等重要概念。 此外,书中还涵盖了一些常用的编程案例和技巧,例如如何在RTX51_Tiny环境下实现定时器、中断服务例程、任务切换等。这些案例和技巧可以帮助开发者更好地理解和应用RTX51_Tiny,提高系统的可靠性和性能。 总之,这本《rtx51_tiny高级编程.pdf》是一本对于学习和应用RTX51_Tiny操作系统非常有价值的电子书,适合那些对嵌入式系统开发和实时操作系统有兴趣的开发者阅读和参考。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值