Skip to content

Instantly share code, notes, and snippets.

@hduffddybz
Created June 1, 2015 05:42
Show Gist options
  • Save hduffddybz/b69b8b85097b63a75e6e to your computer and use it in GitHub Desktop.
Save hduffddybz/b69b8b85097b63a75e6e to your computer and use it in GitHub Desktop.
test case for rms
#include <rtthread.h>
#define THREAD_STACK_SIZE 512
#define THREAD_TIMESLICE 3
#define PERIOD1 25
#define PERIOD2 15
#define PERIOD3 18
#define PERIOD4 20
#define PERIOD 20
#define WCET1 4
#define WCET2 4
#define WCET3 4
static rt_rms_t rms1 = RT_NULL, rms2 = RT_NULL, rms3 = RT_NULL, rms4 = RT_NULL, rms5 = RT_NULL, rms6 = RT_NULL ,rms7 =RT_NULL
,rms8 = RT_NULL, rms9 = RT_NULL, rms10 = RT_NULL, rms11 = RT_NULL, rms12 = RT_NULL;
static void rms1_entry(void *parameter)
{
rt_uint32_t i = 0;
while(1)
{
// rt_kprintf("rms1_entry works!, %d\n", rt_tick_get());
rt_rms_end_cycle();
for(i = 0; i < 1000000; i++)
;
// rt_kprintf("rms1_end!, %d\n", rt_tick_get());
}
}
static void rms2_entry(void *parameter)
{
rt_uint32_t i = 0;
while(1)
{
// rt_kprintf("rms2_entry works!, %d\n", rt_tick_get());
for(i = 0; i < 1000000; i++)
;
// rt_kprintf("rms2_end!, %d\n", rt_tick_get());
rt_rms_end_cycle();
}
}
// static void rms3_entry(void *parameter)
// {
// rt_kprintf("rm3 aperiodic tasks\n");
// }
// static void rms4_entry(void *parameter)
// {
// rt_kprintf("rm4 aperiodic tasks\n");
// }
static void rms5_entry(void *parameter)
{
rt_uint32_t i = 0;
while(1)
{
// rt_kprintf("rms5_entry works!, %d\n", rt_tick_get());
for(i = 0; i < 1000000; i++)
;
// rt_kprintf("rms5_end!, %d\n", rt_tick_get());
rt_rms_end_cycle();
}
}
static void rms6_entry(void *parameter)
{
rt_uint32_t i = 0;
while(1)
{
// rt_kprintf("rms6_entry works!, %d\n", rt_tick_get());
for(i = 0; i < 1000000; i++)
;
// rt_kprintf("rms6_end!, %d\n", rt_tick_get());
rt_rms_end_cycle();
}
}
// static void rms7_entry(void *parameter)
// {
// rt_uint32_t i = 0;
// while(1)
// {
// rt_kprintf("rms7_entry works!, %d\n", rt_tick_get());
// for(i = 0; i < 250000; i++)
// ;
// rt_kprintf("rms7_end!, %d\n", rt_tick_get());
// rt_rms_end_cycle();
// }
// }
// static void rms8_entry(void *parameter)
// {
// rt_uint32_t i = 0;
// while(1)
// {
// rt_kprintf("rms8_entry works!, %d\n", rt_tick_get());
// for(i = 0; i < 250000; i++)
// ;
// rt_kprintf("rms8_end!, %d\n", rt_tick_get());
// rt_rms_end_cycle();
// }
// }
// static void rms9_entry(void *parameter)
// {
// rt_uint32_t i = 0;
// while(1)
// {
// rt_kprintf("rms9_entry works!, %d\n", rt_tick_get());
// for(i = 0; i < 250000; i++)
// ;
// rt_kprintf("rms9_end!, %d\n", rt_tick_get());
// rt_rms_end_cycle();
// }
// }
// static void rms10_entry(void *parameter)
// {
// rt_uint32_t i = 0;
// while(1)
// {
// rt_kprintf("rms10_entry works!, %d\n", rt_tick_get());
// for(i = 0; i < 250000; i++)
// ;
// rt_kprintf("rms10_end!, %d\n", rt_tick_get());
// rt_rms_end_cycle();
// }
// }
// static void rms11_entry(void *parameter)
// {
// rt_uint32_t i = 0;
// while(1)
// {
// rt_kprintf("rms11_entry works!, %d\n", rt_tick_get());
// for(i = 0; i < 250000; i++)
// ;
// rt_kprintf("rms11_end!, %d\n", rt_tick_get());
// rt_rms_end_cycle();
// }
// }
// static void rms12_entry(void *parameter)
// {
// rt_uint32_t i = 0;
// while(1)
// {
// rt_kprintf("rms12_entry works!, %d\n", rt_tick_get());
// for(i = 0; i < 250000; i++)
// ;
// rt_kprintf("rms12_end!, %d\n", rt_tick_get());
// rt_rms_end_cycle();
// }
// }
int rt_application_init()
{
rms1 = rt_rms_create("rms1", rms1_entry, RT_NULL,
THREAD_STACK_SIZE, THREAD_TIMESLICE, PERIOD1, WCET1);
if(rms1 != RT_NULL)
rt_rms_startup(rms1);
rms2 = rt_rms_create("rms2", rms2_entry, RT_NULL,
THREAD_STACK_SIZE, THREAD_TIMESLICE, PERIOD2, WCET2);
if(rms2 != RT_NULL)
rt_rms_startup(rms2);
// rms3 = rt_rms_create("rms3", rms3_entry, RT_NULL,
// THREAD_STACK_SIZE, THREAD_TIMESLICE, 15, 0);
// if(rms3 != RT_NULL)
// rt_rms_startup(rms3);
//
// rms4 = rt_rms_create("rms4", rms4_entry, RT_NULL,
// THREAD_STACK_SIZE, THREAD_TIMESLICE, 15, 0);
// if(rms4 != RT_NULL)
// rt_rms_startup(rms4);
rms5 = rt_rms_create("rms5", rms5_entry, RT_NULL,
THREAD_STACK_SIZE, THREAD_TIMESLICE, PERIOD3, WCET3);
if(rms5 != RT_NULL)
rt_rms_startup(rms5);
rms6 = rt_rms_create("rms6", rms6_entry, RT_NULL,
THREAD_STACK_SIZE, THREAD_TIMESLICE, PERIOD4, WCET3);
if(rms6 != RT_NULL)
rt_rms_startup(rms6);
//
// rms7 = rt_rms_create("rms7", rms7_entry, RT_NULL,
// THREAD_STACK_SIZE, THREAD_TIMESLICE, PERIOD + 4, WCET);
// if(rms7 != RT_NULL)
// rt_rms_startup(rms7);
//
// rms8 = rt_rms_create("rms8", rms8_entry, RT_NULL,
// THREAD_STACK_SIZE, THREAD_TIMESLICE, PERIOD + 5, WCET);
// if(rms8 != RT_NULL)
// rt_rms_startup(rms8);
// rms9 = rt_rms_create("rms9", rms9_entry, RT_NULL,
// THREAD_STACK_SIZE, THREAD_TIMESLICE, PERIOD + 6, WCET);
// if(rms9 != RT_NULL)
// rt_rms_startup(rms9);
//
// rms10 = rt_rms_create("rms10", rms10_entry, RT_NULL,
// THREAD_STACK_SIZE, THREAD_TIMESLICE, PERIOD + 7, WCET);
// if(rms10 != RT_NULL)
// rt_rms_startup(rms10);
//
// rms11 = rt_rms_create("rms11", rms11_entry, RT_NULL,
// THREAD_STACK_SIZE, THREAD_TIMESLICE, PERIOD + 8, WCET);
// if(rms11 != RT_NULL)
// rt_rms_startup(rms11);
//
// rms12 = rt_rms_create("rms12", rms12_entry, RT_NULL,
// THREAD_STACK_SIZE, THREAD_TIMESLICE, PERIOD + 9, WCET);
// if(rms12 != RT_NULL)
// rt_rms_startup(rms12);
//
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment