File indexing completed on 2025-05-11 08:24:46
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 #ifdef HAVE_CONFIG_H
0030 #include "config.h"
0031 #endif
0032
0033 #include <tmacros.h>
0034
0035 const char rtems_test_name[] = "SP 74";
0036
0037
0038 rtems_task Init(rtems_task_argument argument);
0039 rtems_task Test_task(rtems_task_argument argument);
0040
0041 rtems_task Test_task(
0042 rtems_task_argument index
0043 )
0044 {
0045 puts( "Successfully yielded it to higher priority task" );
0046
0047 TEST_END();
0048 rtems_test_exit( 0 );
0049 }
0050
0051 rtems_task Init(
0052 rtems_task_argument argument
0053 )
0054 {
0055 rtems_status_code status;
0056 rtems_id id;
0057
0058 TEST_BEGIN();
0059
0060 puts( "Create TA1 at higher priority task" );
0061 status = rtems_task_create(
0062 rtems_build_name( 'T', 'A', '1', ' ' ),
0063 1,
0064 RTEMS_MINIMUM_STACK_SIZE,
0065 RTEMS_DEFAULT_MODES,
0066 RTEMS_DEFAULT_ATTRIBUTES,
0067 &id
0068 );
0069 directive_failed( status, "create 1" );
0070
0071 status = rtems_task_start( id, Test_task, 1 );
0072 directive_failed( status, "start 1" );
0073
0074 puts( "Yield to TA1" );
0075 status = rtems_task_wake_after( RTEMS_YIELD_PROCESSOR );
0076 directive_failed( status, "yield" );
0077
0078 puts( "*** should now get here ***" );
0079 }
0080
0081
0082 #include <bsp.h> /* for device driver prototypes */
0083
0084 #define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
0085 #define CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER
0086
0087 #define CONFIGURE_MAXIMUM_TASKS 3
0088 #define CONFIGURE_INIT_TASK_PRIORITY 2
0089
0090 #define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION
0091
0092 #define CONFIGURE_RTEMS_INIT_TASKS_TABLE
0093
0094 #define CONFIGURE_INIT
0095 #include <rtems/confdefs.h>
0096