原创 RTX的使用---搭建RTX运行的环境

2009-11-17 14:05 4863 10 10 分类: MCU/ 嵌入式
 
    使用RTX之前,先对系统运行的大概流程进行简单的说明。第一步要做的是先配置运行的环境,在MDK中配置运行环境很简单,加入启动汇编代码后,配置好系统时钟,然后对RTX的一些参数进行配置就可以了。然后启动内核,启动内核会创建一个进程。可以在这个进程里创建多个进程并删除自己。这样多个任务就可以按时间片轮询执行了。至于进程间的通信可以通过时间标志、信号量、互斥量、信箱来实现。
    这里先举例说明RTX内核的启动和使用。进程间的通信后续会加上。
1、新建工程,加入启动汇编;

2、加入RTX_Config.c文件,对操作系统进行配置。基础配置包括任务、堆栈大小、堆栈检查、硬件时钟、多任务轮转、空闲任务、用户定时器的配置,高级配置包括硬件资源需求和配置宏。默认的配置系统就能很好的工作,如果要优化堆栈的使用就需要进行一些配置了。

任务:
#define OS_TASKCNT     6            /*处于活动状态的最大任务数*/
#define OS_PRIVCNT     0            /*是否可以用户自定义任务*/

堆栈:
#define OS_STKSIZE     50            /*默认的堆栈大小*/
#define OS_STKCHECK    1            /*激活堆栈检查*/

#define OS_RUNPRIV     0            /*是否运行所有的任务在特权模式*/

用户定时器:
#define OS_TIMERCNT    0            /*指定的用户定时器数目*/

硬件时钟:
#define OS_CLOCK       72000000        /*为选定的时钟指定输入时钟的频率*/
#define OS_TICK        10000        /*指定时间脉冲间隔,单位us*/

多任务轮转
#define OS_ROBIN       1            /*是否激活多任务轮转*/
#define OS_ROBINTOUT   5            /*标识当前运行任务的时间片,当前时间片用完,当前运行任务被终止,下一个任务被重新开始*/

说明: ARM处理器共支持7种处理器模式,其中包括:用户模式、系统模式、管理模式、中止模式、未定义模式、中断模式、快速中断模式。其中管理、中止、未定义、中断、快速中断归属于异常模式。而异常和系统归属于特权模式。

3、在C文件中包含头文件#include <RTL.h>就可以使用RTX的库函数,启动内核了。下面举例说明。
#include <RTL.h>

OS_TID phase_A;                      /* 分配任务ID号: phase_A*/
OS_TID phase_B;                      /* 分配任务ID号: phase_B*/

static U64 stack[800/8];          /*自定义的堆栈大小*/

__task void init(void);            
__task void phase_A(void);           /* 进程函数的声明*/
__task void phase_B(void) ;
 

int main (void)
{                    
      SYS_Init ();                   /* 初始化系统的时钟*/
    os_sys_init (init);            /* 按照默认的配置初始化第一个进程*/
}

/*第一个进程:创建新的线程并删除自己*/
__task void init (void)
{
    phase_A = os_tsk_create (task_A,  0);      /* 使用默认的配置创建一个进程*/
       phase_A = os_tsk_create_user (task_B,0,&stack,sizeof(stack));  /*使用自定义的堆栈创建进程*/
       os_tsk_delete_self ();                 /*删除自己*/
}

__task void task_A(void)
{
    /*编写用户代码*/
}
__task void task_B(void)
{
        /*编写用户代码*/
}


2009-11-17 14:03:56
   

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
10
关闭 站长推荐上一条 /3 下一条