#define T1_PER 7
#define T2_PER 10
#define T1_SERVER 0
-#define T2_SERVER 0
+#define T2_SERVER 2
-void test_loop ( unsigned int id, rtems_name name, unsigned int period_length, unsigned int max_j, uint32_t server)
+rtems_asr overrun_handler (rtems_signal_set signals) {
+ printf("SIGNAL kill you \n");
+}
+
+void test_loop ( unsigned int id, rtems_name name, unsigned int period_length, unsigned int max_j, uint32_t server, rtems_asr_entry handler)
{
rtems_id period;
rtems_status_code status;
}
max_i = 1000;
- edf_deadline_init(period_length, server, NULL);
+ edf_deadline_init(period_length, server, handler);
while ( 1 ) {
edf_next_period();
if (rtems_rate_monotonic_period(period,period_length)==RTEMS_TIMEOUT)
{
rtems_name name;
name = rtems_build_name( 'P', 'E', 'R', 'A' );
- test_loop(1, name, T1_PER,T1_DUR,T1_SERVER);
+ test_loop(1, name, T1_PER,T1_DUR,T1_SERVER, NULL);
}
{
rtems_name name;
name = rtems_build_name( 'P', 'E', 'R', 'B' );
- test_loop(2, name, T2_PER,T2_DUR,T2_SERVER);
+ test_loop(2, name, T2_PER,T2_DUR,T2_SERVER, overrun_handler);
}