File indexing completed on 2025-05-11 08:24:35
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041 #ifdef HAVE_CONFIG_H
0042 #include "config.h"
0043 #endif
0044
0045 #define CONFIGURE_INIT
0046 #include "system.h"
0047
0048 rtems_task Init(
0049 rtems_task_argument argument
0050 )
0051 {
0052 rtems_status_code status;
0053 rtems_time_of_day time;
0054 char c;
0055
0056 printf(
0057 "\n\n*** TEST 1 -- NODE %" PRIu32 " ***\n",
0058 rtems_object_get_local_node()
0059 );
0060
0061 if ( rtems_object_get_local_node() != 1 ) c = 'S';
0062 else c = 'M';
0063
0064 Task_name[ 1 ] = rtems_build_name( c, 'A', '1', ' ' );
0065 Task_name[ 2 ] = rtems_build_name( c, 'A', '2', ' ' );
0066 Task_name[ 3 ] = rtems_build_name( c, 'A', '3', ' ' );
0067
0068 build_time( &time, 12, 31, 1988, 9, 0, 0, 0 );
0069 status = rtems_clock_set( &time );
0070 directive_failed( status, "rtems_clock_set" );
0071
0072 puts( "Creating task 1 (Global)" );
0073 status = rtems_task_create(
0074 Task_name[ 1 ],
0075 1,
0076 RTEMS_MINIMUM_STACK_SIZE,
0077 RTEMS_DEFAULT_MODES,
0078 RTEMS_GLOBAL,
0079 &Task_id[ 1 ]
0080 );
0081 directive_failed( status, "rtems_task_create of Task 1" );
0082
0083 puts( "Creating task 2 (Global)" );
0084 status = rtems_task_create(
0085 Task_name[ 2 ],
0086 1,
0087 RTEMS_MINIMUM_STACK_SIZE,
0088 RTEMS_TIMESLICE,
0089 RTEMS_GLOBAL,
0090 &Task_id[ 2 ]
0091 );
0092 directive_failed( status, "rtems_task_create of Task 2" );
0093
0094 puts( "Creating task 3 (Local)" );
0095 status = rtems_task_create(
0096 Task_name[ 3 ],
0097 1,
0098 RTEMS_MINIMUM_STACK_SIZE,
0099 RTEMS_DEFAULT_MODES,
0100 RTEMS_DEFAULT_ATTRIBUTES,
0101 &Task_id[ 3 ]
0102 );
0103 directive_failed( status, "rtems_task_create of Task 3" );
0104
0105 status = rtems_task_start( Task_id[ 1 ], Test_task, 0 );
0106 directive_failed( status, "rtems_task_start of Task 1" );
0107
0108 status = rtems_task_start( Task_id[ 2 ], Test_task, 0 );
0109 directive_failed( status, "rtems_task_start of Task 2" );
0110
0111 status = rtems_task_start( Task_id[ 3 ], Test_task, 0 );
0112 directive_failed( status, "rtems_task_start of Task 3" );
0113
0114 rtems_task_exit();
0115 }