Created
June 1, 2015 05:42
-
-
Save hduffddybz/b69b8b85097b63a75e6e to your computer and use it in GitHub Desktop.
test case for rms
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#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