⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sptest.adb

📁 RTEMS (Real-Time Executive for Multiprocessor Systems) is a free open source real-time operating sys
💻 ADB
📖 第 1 页 / 共 5 页
字号:
      RTEMS.CLOCK_SET( TIME, STATUS );      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(         STATUS,         RTEMS.INVALID_CLOCK,         "CLOCK_SET WITH INVALID SECOND"      );      TEXT_IO.PUT_LINE( " - INVALID_CLOCK" );      TIME := ( 1988, 2, 5, 8, 30, 45, TEST_SUPPORT.TICKS_PER_SECOND + 1 );      TEST_SUPPORT.PRINT_TIME( "TA1 - clock_set - ", TIME, "" );      RTEMS.CLOCK_SET( TIME, STATUS );      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(         STATUS,         RTEMS.INVALID_CLOCK,         "CLOCK_SET WITH INVALID TICKS PER SECOND"      );      TEXT_IO.PUT_LINE( " - INVALID_CLOCK" );      TIME := ( 1988, 2, 5, 8, 30, 45, 0 );      TEST_SUPPORT.PRINT_TIME( "TA1 - clock_set - ", TIME, "" );      RTEMS.CLOCK_SET( TIME, STATUS );      TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET SUCCESSFUL" );      TEXT_IO.PUT_LINE( " - SUCCESSFUL" );-- task_wake_when      TIME := ( 1988, 2, 5, 8, 30, 48, TEST_SUPPORT.TICKS_PER_SECOND + 1 );      TEXT_IO.PUT( "TA1 - task_wake_when - TICK INVALID - " );      TEXT_IO.PUT_LINE( "sleep about 3 seconds" );      RTEMS.TASK_WAKE_WHEN( TIME, STATUS );      TEST_SUPPORT.DIRECTIVE_FAILED(         STATUS,         "TASK_WAKE_WHEN WITH INVALID TICKS PER SECOND"      );      TEXT_IO.PUT( "TA1 - task_wake_when - TICK INVALID - " );      TEXT_IO.PUT_LINE( "woke up SUCCESSFUL" );      TIME := ( 1961, 2, 5, 8, 30, 48, 0 );      TEST_SUPPORT.PRINT_TIME( "TA1 - task_wake_when - ", TIME, "" );      RTEMS.TASK_WAKE_WHEN( TIME, STATUS );      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(         STATUS,         RTEMS.INVALID_CLOCK,         "TASK_WAKE_WHEN WITH INVALID YEAR"      );      TEXT_IO.PUT_LINE( " - INVALID_CLOCK" );      TIME := ( 1988, 2, 5, 25, 30, 48, 0 );      TEST_SUPPORT.PRINT_TIME( "TA1 - task_wake_when - ", TIME, "" );      RTEMS.TASK_WAKE_WHEN( TIME, STATUS );      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(         STATUS,         RTEMS.INVALID_CLOCK,         "TASK_WAKE_WHEN WITH INVALID HOUR"      );      TEXT_IO.PUT_LINE( " - INVALID_CLOCK" );      RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS );      TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET SUCCESSFUL" );      TEST_SUPPORT.PRINT_TIME( "TA1 - current time - ", TIME, "" );      TEXT_IO.NEW_LINE;      TIME.MONTH := 1;      TEST_SUPPORT.PRINT_TIME( "TA1 - task_wake_when - ", TIME, "" );      RTEMS.TASK_WAKE_WHEN( TIME, STATUS );      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(         STATUS,         RTEMS.INVALID_CLOCK,         "TASK_WAKE_WHEN BEFORE CURRENT TIME"      );      TEXT_IO.PUT_LINE( " - INVALID_CLOCK" );   end SCREEN_2;--PAGE-- --  SCREEN_3--   procedure SCREEN_3   is      TASK_NAME : RTEMS.NAME;      STATUS    : RTEMS.STATUS_CODES;   begin      TASK_NAME := 1;      RTEMS.TASK_CREATE(         0,         1,         2048,         RTEMS.DEFAULT_MODES,         RTEMS.DEFAULT_ATTRIBUTES,         SPTEST.JUNK_ID,         STATUS      );      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(         STATUS,         RTEMS.INVALID_NAME,         "TASK_CREATE WITH ILLEGAL NAME"      );      TEXT_IO.PUT_LINE(          "TA1 - task_create - INVALID_NAME"      );      RTEMS.TASK_CREATE(         TASK_NAME,         1,         RTEMS.CONFIGURATION.WORK_SPACE_SIZE,         RTEMS.DEFAULT_MODES,         RTEMS.DEFAULT_ATTRIBUTES,         SPTEST.JUNK_ID,         STATUS      );      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(         STATUS,         RTEMS.UNSATISFIED,         "TASK_CREATE WITH A STACK SIZE LARGER THAN THE WORKSPACE"      );      TEXT_IO.PUT_LINE(         "TA1 - task_create - stack size - UNSATISFIED"      );      RTEMS.TASK_CREATE(         SPTEST.TASK_NAME( 2 ),         4,         2048,         RTEMS.DEFAULT_MODES,         RTEMS.DEFAULT_ATTRIBUTES,         SPTEST.TASK_ID( 2 ),         STATUS      );      TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" );      TEXT_IO.PUT_LINE(         "TA1 - task_create - TA2 created - SUCCESSFUL"      );      RTEMS.TASK_SUSPEND( SPTEST.TASK_ID( 2 ), STATUS );      TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND OF TA2" );      TEXT_IO.PUT_LINE(         "TA1 - task_suspend - suspend TA2 - SUCCESSFUL"      );      RTEMS.TASK_SUSPEND( SPTEST.TASK_ID( 2 ), STATUS );      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(         STATUS,         RTEMS.ALREADY_SUSPENDED,         "TASK_SUSPEND ON SUSPENDED TA2"      );      TEXT_IO.PUT_LINE(         "TA1 - task_suspend - suspend TA2 - ALREADY_SUSPENDED"      );      RTEMS.TASK_RESUME( SPTEST.TASK_ID( 2 ), STATUS );      TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_RESUME OF TA2" );      TEXT_IO.PUT_LINE(         "TA1 - task_resume - TA2 resumed - SUCCESSFUL"      );      RTEMS.TASK_CREATE(         SPTEST.TASK_NAME( 3 ),         4,         2048,         RTEMS.DEFAULT_MODES,         RTEMS.DEFAULT_ATTRIBUTES,         SPTEST.TASK_ID( 3 ),         STATUS      );      TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA3" );      TEXT_IO.PUT_LINE(         "TA1 - task_create - TA3 created - SUCCESSFUL"      );      RTEMS.TASK_CREATE(         SPTEST.TASK_NAME( 4 ),         4,         2048,         RTEMS.DEFAULT_MODES,         RTEMS.DEFAULT_ATTRIBUTES,         SPTEST.TASK_ID( 4 ),         STATUS      );      TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA4" );      TEXT_IO.PUT_LINE(         "TA1 - task_create - 4 created - SUCCESSFUL"      );      RTEMS.TASK_CREATE(         SPTEST.TASK_NAME( 5 ),         4,         2048,         RTEMS.DEFAULT_MODES,         RTEMS.DEFAULT_ATTRIBUTES,         SPTEST.TASK_ID( 5 ),         STATUS      );      TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA5" );      TEXT_IO.PUT_LINE(         "TA1 - task_create - 5 created - SUCCESSFUL"      );      RTEMS.TASK_CREATE(         SPTEST.TASK_NAME( 6 ),         4,         2048,         RTEMS.DEFAULT_MODES,         RTEMS.DEFAULT_ATTRIBUTES,         SPTEST.TASK_ID( 6 ),         STATUS      );      TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA6" );      TEXT_IO.PUT_LINE(         "TA1 - task_create - 6 created - SUCCESSFUL"      );      RTEMS.TASK_CREATE(         SPTEST.TASK_NAME( 7 ),         4,         2048,         RTEMS.DEFAULT_MODES,         RTEMS.DEFAULT_ATTRIBUTES,         SPTEST.TASK_ID( 7 ),         STATUS      );      TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA7" );      TEXT_IO.PUT_LINE(         "TA1 - task_create - 7 created - SUCCESSFUL"      );      RTEMS.TASK_CREATE(         SPTEST.TASK_NAME( 8 ),         4,         2048,         RTEMS.DEFAULT_MODES,         RTEMS.DEFAULT_ATTRIBUTES,         SPTEST.TASK_ID( 8 ),         STATUS      );      TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA8" );      TEXT_IO.PUT_LINE(         "TA1 - task_create - 8 created - SUCCESSFUL"      );      RTEMS.TASK_CREATE(         SPTEST.TASK_NAME( 9 ),         4,         2048,         RTEMS.DEFAULT_MODES,         RTEMS.DEFAULT_ATTRIBUTES,         SPTEST.TASK_ID( 9 ),         STATUS      );      TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA9" );      TEXT_IO.PUT_LINE(         "TA1 - task_create - 9 created - SUCCESSFUL"      );      RTEMS.TASK_CREATE(         SPTEST.TASK_NAME( 10 ),         4,         2048,         RTEMS.DEFAULT_MODES,         RTEMS.DEFAULT_ATTRIBUTES,         SPTEST.TASK_ID( 10 ),         STATUS      );      TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA10" );      TEXT_IO.PUT_LINE(         "TA1 - task_create - 10 created - SUCCESSFUL"      );      RTEMS.TASK_CREATE(         TASK_NAME,         4,         2048,         RTEMS.DEFAULT_MODES,         RTEMS.DEFAULT_ATTRIBUTES,         SPTEST.JUNK_ID,         STATUS      );      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(         STATUS,         RTEMS.TOO_MANY,         "TASK_CREATE FOR TOO MANY TASKS"      );      TEXT_IO.PUT_LINE( "TA1 - task_create - 11 - TOO_MANY" );      RTEMS.TASK_CREATE(         TASK_NAME,         4,         2048,         RTEMS.DEFAULT_MODES,         RTEMS.GLOBAL,         SPTEST.JUNK_ID,         STATUS      );      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(         STATUS,         RTEMS.MP_NOT_CONFIGURED,         "TASK_CREATE OF GLOBAL TASK IN SINGLE CPU SYSTEM"      );      TEXT_IO.PUT_LINE( "TA1 - task_create - MP_NOT_CONFIGURED" );   end SCREEN_3;--PAGE-- --  SCREEN_4--   procedure SCREEN_4   is      EVENT_OUT : RTEMS.EVENT_SET;      TIME      : RTEMS.TIME_OF_DAY;      STATUS    : RTEMS.STATUS_CODES;   begin      RTEMS.EVENT_RECEIVE(         RTEMS.EVENT_16,         RTEMS.NO_WAIT,         RTEMS.NO_TIMEOUT,         EVENT_OUT,         STATUS      );      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(         STATUS,         RTEMS.UNSATISFIED,         "EVENT_RECEIVE UNSATISFIED (ALL)"      );      TEXT_IO.PUT_LINE(         "TA1 - event_receive - UNSATISFIED ( all conditions )"      );      RTEMS.EVENT_RECEIVE(         RTEMS.EVENT_16,         RTEMS.NO_WAIT + RTEMS.EVENT_ANY,         RTEMS.NO_TIMEOUT,         EVENT_OUT,         STATUS      );      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(         STATUS,         RTEMS.UNSATISFIED,         "EVENT_RECEIVE UNSATISFIED (ANY)"      );      TEXT_IO.PUT_LINE(         "TA1 - event_receive - UNSATISFIED ( any conditions )"      );      TEXT_IO.PUT_LINE( "TA1 - event_receive - timeout in 3 seconds" );      RTEMS.EVENT_RECEIVE(         RTEMS.EVENT_16,         RTEMS.DEFAULT_OPTIONS,         3 * TEST_SUPPORT.TICKS_PER_SECOND,         EVENT_OUT,         STATUS      );      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(         STATUS,         RTEMS.TIMEOUT,         "EVENT_RECEIVE AFTER 3 SECOND TIMEOUT"      );      TEXT_IO.PUT_LINE(         "TA1 - event_receive - woke with TIMEOUT"      );      RTEMS.EVENT_SEND(         100,         RTEMS.EVENT_16,         STATUS      );      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(         STATUS,         RTEMS.INVALID_ID,         "EVENT_SEND WITH ILLEGAL ID"      );      TEXT_IO.PUT_LINE(         "TA1 - event_send - INVALID_ID"      );      TEXT_IO.PUT_LINE(          "TA1 - task_wake_after - sleep 1 second - SUCCESSFUL"       );      RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS );      TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER (1 SECOND)" );      TIME := ( 1988, 2, 5, 8, 30, 45, 0 );      TEST_SUPPORT.PRINT_TIME( "TA1 - clock_set - ", TIME, "" );      RTEMS.CLOCK_SET( TIME, STATUS );      TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET SUCCESSFUL" );      TEXT_IO.PUT_LINE( " - SUCCESSFUL" );   end SCREEN_4;--PAGE-- --  SCREEN_5--   procedure SCREEN_5   is      STATUS         : RTEMS.STATUS_CODES;   begin      RTEMS.SEMAPHORE_CREATE(         0,         1,         RTEMS.DEFAULT_ATTRIBUTES,         RTEMS.NO_PRIORITY,         SPTEST.JUNK_ID,         STATUS      );      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(         STATUS,         RTEMS.INVALID_NAME,         "SEMAPHORE_CREATE WITH ILLEGAL NAME"      );      TEXT_IO.PUT_LINE( "TA1 - semaphore_create - INVALID_NAME" );      RTEMS.SEMAPHORE_CREATE(         SPTEST.SEMAPHORE_NAME( 1 ),         1,         RTEMS.DEFAULT_ATTRIBUTES,         RTEMS.NO_PRIORITY,         SPTEST.SEMAPHORE_ID( 1 ),         STATUS      );      TEST_SUPPORT.DIRECTIVE_FAILED(         STATUS,         "SEMAPHORE_CREATE SUCCESSFUL"      );      TEXT_IO.PUT_LINE( "TA1 - semaphore_create - 1 - SUCCESSFUL" );      RTEMS.SEMAPHORE_CREATE(         SPTEST.SEMAPHORE_NAME( 2 ),         1,         RTEMS.BINARY_SEMAPHORE,         RTEMS.NO_PRIORITY,         SPTEST.SEMAPHORE_ID( 2 ),         STATUS      );      TEST_SUPPORT.DIRECTIVE_FAILED(         STATUS,         "SEMAPHORE_CREATE SUCCESSFUL"      );      TEXT_IO.PUT_LINE( "TA1 - semaphore_create - 2 - SUCCESSFUL" );      loop         RTEMS.SEMAPHORE_CREATE(            SPTEST.SEMAPHORE_NAME( 3 ),            1,            RTEMS.DEFAULT_ATTRIBUTES,            RTEMS.NO_PRIORITY,            SPTEST.JUNK_ID,            STATUS         );         exit when not RTEMS.ARE_STATUSES_EQUAL( STATUS, RTEMS.SUCCESSFUL );      end loop;      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(         STATUS,         RTEMS.TOO_MANY,         "SEMAPHORE_CREATE OF TOO MANY"      );      TEXT_IO.PUT_LINE( "TA1 - semaphore_create - 3 - TOO_MANY" );      RTEMS.SEMAPHORE_CREATE(         SPTEST.SEMAPHORE_NAME( 1 ),         1,         RTEMS.INHERIT_PRIORITY + RTEMS.BINARY_SEMAPHORE + RTEMS.FIFO,         RTEMS.NO_PRIORITY,         SPTEST.JUNK_ID,         STATUS      );      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(         STATUS,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -