|
@@
-26,7
+26,7
|
|
26
|
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
|
26
|
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
|
27
|
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
|
27
|
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
|
28
|
|
|
28
|
|
|
29
|
#define CONFIGURE_MAXIMUM_TASKS 20
|
|
29
|
#define CONFIGURE_MAXIMUM_TASKS 21 // number of tasks concurrently active including INIT
|
|
30
|
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
|
|
30
|
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
|
|
31
|
#define CONFIGURE_EXTRA_TASK_STACKS (3 * RTEMS_MINIMUM_STACK_SIZE)
|
|
31
|
#define CONFIGURE_EXTRA_TASK_STACKS (3 * RTEMS_MINIMUM_STACK_SIZE)
|
|
32
|
#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 32
|
|
32
|
#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 32
|
|
@@
-34,7
+34,7
|
|
34
|
#define CONFIGURE_INIT_TASK_MODE (RTEMS_DEFAULT_MODES | RTEMS_NO_PREEMPT)
|
|
34
|
#define CONFIGURE_INIT_TASK_MODE (RTEMS_DEFAULT_MODES | RTEMS_NO_PREEMPT)
|
|
35
|
#define CONFIGURE_INIT_TASK_ATTRIBUTES (RTEMS_DEFAULT_ATTRIBUTES | RTEMS_FLOATING_POINT)
|
|
35
|
#define CONFIGURE_INIT_TASK_ATTRIBUTES (RTEMS_DEFAULT_ATTRIBUTES | RTEMS_FLOATING_POINT)
|
|
36
|
#define CONFIGURE_MAXIMUM_DRIVERS 16
|
|
36
|
#define CONFIGURE_MAXIMUM_DRIVERS 16
|
|
37
|
#define CONFIGURE_MAXIMUM_PERIODS 5
|
|
37
|
#define CONFIGURE_MAXIMUM_PERIODS 5 // [hous] [load] [avgv]
|
|
38
|
#define CONFIGURE_MAXIMUM_TIMERS 5 // [spiq] [link] [spacewire_reset_link]
|
|
38
|
#define CONFIGURE_MAXIMUM_TIMERS 5 // [spiq] [link] [spacewire_reset_link]
|
|
39
|
#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 5
|
|
39
|
#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 5
|
|
40
|
#ifdef PRINT_STACK_REPORT
|
|
40
|
#ifdef PRINT_STACK_REPORT
|
|
@@
-357,6
+357,7
void create_names( void ) // create all
|
|
357
|
*/
|
|
357
|
*/
|
|
358
|
|
|
358
|
|
|
359
|
// task names
|
|
359
|
// task names
|
|
|
|
|
360
|
Task_name[TASKID_AVGV] = rtems_build_name( 'A', 'V', 'G', 'V' );
|
|
360
|
Task_name[TASKID_RECV] = rtems_build_name( 'R', 'E', 'C', 'V' );
|
|
361
|
Task_name[TASKID_RECV] = rtems_build_name( 'R', 'E', 'C', 'V' );
|
|
361
|
Task_name[TASKID_ACTN] = rtems_build_name( 'A', 'C', 'T', 'N' );
|
|
362
|
Task_name[TASKID_ACTN] = rtems_build_name( 'A', 'C', 'T', 'N' );
|
|
362
|
Task_name[TASKID_SPIQ] = rtems_build_name( 'S', 'P', 'I', 'Q' );
|
|
363
|
Task_name[TASKID_SPIQ] = rtems_build_name( 'S', 'P', 'I', 'Q' );
|
|
@@
-379,6
+380,7
void create_names( void ) // create all
|
|
379
|
|
|
380
|
|
|
380
|
// rate monotonic period names
|
|
381
|
// rate monotonic period names
|
|
381
|
name_hk_rate_monotonic = rtems_build_name( 'H', 'O', 'U', 'S' );
|
|
382
|
name_hk_rate_monotonic = rtems_build_name( 'H', 'O', 'U', 'S' );
|
|
|
|
|
383
|
name_avgv_rate_monotonic = rtems_build_name( 'A', 'V', 'G', 'V' );
|
|
382
|
|
|
384
|
|
|
383
|
misc_name[QUEUE_RECV] = rtems_build_name( 'Q', '_', 'R', 'V' );
|
|
385
|
misc_name[QUEUE_RECV] = rtems_build_name( 'Q', '_', 'R', 'V' );
|
|
384
|
misc_name[QUEUE_SEND] = rtems_build_name( 'Q', '_', 'S', 'D' );
|
|
386
|
misc_name[QUEUE_SEND] = rtems_build_name( 'Q', '_', 'S', 'D' );
|
|
@@
-568,6
+570,14
int create_all_tasks( void ) // create a
|
|
568
|
RTEMS_DEFAULT_ATTRIBUTES | RTEMS_FLOATING_POINT, &Task_id[TASKID_HOUS]
|
|
570
|
RTEMS_DEFAULT_ATTRIBUTES | RTEMS_FLOATING_POINT, &Task_id[TASKID_HOUS]
|
|
569
|
);
|
|
571
|
);
|
|
570
|
}
|
|
572
|
}
|
|
|
|
|
573
|
if (status == RTEMS_SUCCESSFUL) // AVGV
|
|
|
|
|
574
|
{
|
|
|
|
|
575
|
status = rtems_task_create(
|
|
|
|
|
576
|
Task_name[TASKID_AVGV], TASK_PRIORITY_AVGV, RTEMS_MINIMUM_STACK_SIZE,
|
|
|
|
|
577
|
RTEMS_DEFAULT_MODES,
|
|
|
|
|
578
|
RTEMS_DEFAULT_ATTRIBUTES | RTEMS_FLOATING_POINT, &Task_id[TASKID_AVGV]
|
|
|
|
|
579
|
);
|
|
|
|
|
580
|
}
|
|
571
|
|
|
581
|
|
|
572
|
return status;
|
|
582
|
return status;
|
|
573
|
}
|
|
583
|
}
|
|
@@
-723,6
+733,13
int start_all_tasks( void ) // start all
|
|
723
|
BOOT_PRINTF("in INIT *** Error starting TASK_HOUS\n")
|
|
733
|
BOOT_PRINTF("in INIT *** Error starting TASK_HOUS\n")
|
|
724
|
}
|
|
734
|
}
|
|
725
|
}
|
|
735
|
}
|
|
|
|
|
736
|
if (status == RTEMS_SUCCESSFUL) // AVGV
|
|
|
|
|
737
|
{
|
|
|
|
|
738
|
status = rtems_task_start( Task_id[TASKID_AVGV], avgv_task, 1 );
|
|
|
|
|
739
|
if (status!=RTEMS_SUCCESSFUL) {
|
|
|
|
|
740
|
BOOT_PRINTF("in INIT *** Error starting TASK_AVGV\n")
|
|
|
|
|
741
|
}
|
|
|
|
|
742
|
}
|
|
726
|
if (status == RTEMS_SUCCESSFUL) // DUMB
|
|
743
|
if (status == RTEMS_SUCCESSFUL) // DUMB
|
|
727
|
{
|
|
744
|
{
|
|
728
|
status = rtems_task_start( Task_id[TASKID_DUMB], dumb_task, 1 );
|
|
745
|
status = rtems_task_start( Task_id[TASKID_DUMB], dumb_task, 1 );
|