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

📄 sptest.adb

📁 RTEMS (Real-Time Executive for Multiprocessor Systems) is a free open source real-time operating sys
💻 ADB
📖 第 1 页 / 共 5 页
字号:
       end loop;      TEXT_IO.PUT( "TA1 - rate_monotonic_period( STATUS ) - " );      TEXT_IO.PUT_LINE( "TIMEOUT" );      RTEMS.RATE_MONOTONIC_CANCEL( 100, STATUS );      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(         STATUS,         RTEMS.INVALID_ID,         "RATE_MONOTONIC_CANCEL WITH ILLEGAL ID"      );      TEXT_IO.PUT_LINE(         "TA1 - rate_monotonic_cancel - unknown INVALID_ID"      );      RTEMS.RATE_MONOTONIC_CANCEL( 16#10100#, STATUS );      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(         STATUS,         RTEMS.INVALID_ID,         "RATE_MONOTONIC_CANCEL WITH ILLEGAL ID"      );      TEXT_IO.PUT_LINE(         "TA1 - rate_monotonic_cancel - local INVALID_ID"      );      RTEMS.RATE_MONOTONIC_CANCEL( SPTEST.PERIOD_ID( 1 ), STATUS );      TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "RATE_MONOTONIC_CANCEL" );      TEXT_IO.PUT_LINE( "TA1 - rate_monotonic_cancel - SUCCESSFUL" );      RTEMS.RATE_MONOTONIC_PERIOD( SPTEST.PERIOD_ID( 1 ), 5, STATUS );      TEST_SUPPORT.DIRECTIVE_FAILED(         STATUS,         "RATE_MONOTONIC_PERIOD RESTART"      );      RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS );      TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" );      RTEMS.RATE_MONOTONIC_PERIOD( SPTEST.PERIOD_ID( 1 ), 5, STATUS );      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(         STATUS,         RTEMS.TIMEOUT,         "RATE_MONOTONIC_PERIOD TIMED OUT"      );      TEXT_IO.PUT_LINE(          "TA1 - rate_monotonic_period - 5 ticks - TIMEOUT"       );      RTEMS.TASK_START(         SPTEST.TASK_ID( 4 ),         SPTEST.TASK_4'ACCESS,         0,         STATUS      );      TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA4" );      TEXT_IO.PUT_LINE( "TA1 - task_wake_after - yielding to TA4" );      RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS );      TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER (yield)" );      RTEMS.RATE_MONOTONIC_DELETE( 100, STATUS );      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(         STATUS,         RTEMS.INVALID_ID,         "RATE_MONOTONIC_DELETE WITH ILLEGAL ID"      );      TEXT_IO.PUT_LINE(         "TA1 - rate_monotonic_delete - unknown INVALID_ID"      );      RTEMS.RATE_MONOTONIC_DELETE( 16#10100#, STATUS );      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(         STATUS,         RTEMS.INVALID_ID,         "RATE_MONOTONIC_DELETE WITH ILLEGAL ID"      );      TEXT_IO.PUT_LINE(         "TA1 - rate_monotonic_delete - local INVALID_ID"      );      RTEMS.RATE_MONOTONIC_DELETE( SPTEST.PERIOD_ID( 1 ), STATUS );      TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "RATE_MONOTONIC_DELETE" );      TEXT_IO.PUT_LINE(         "TA1 - rate_monotonic_delete - SUCCESSFUL"      );   end SCREEN_10;--PAGE-- --  SCREEN_11--   procedure SCREEN_11   is      BUFFER_ADDRESS_1 : RTEMS.ADDRESS;      BUFFER_ADDRESS_2 : RTEMS.ADDRESS;      BUFFER_ADDRESS_3 : RTEMS.ADDRESS;      STATUS           : RTEMS.STATUS_CODES;   begin      RTEMS.PARTITION_CREATE(         0,         SPTEST.PARTITION_GOOD_AREA'ADDRESS,         128,         40,         RTEMS.DEFAULT_ATTRIBUTES,         SPTEST.JUNK_ID,         STATUS      );      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(         STATUS,         RTEMS.INVALID_NAME,         "PARTITION_CREATE WITH ILLEGAL NAME"      );      TEXT_IO.PUT_LINE( "TA1 - partition_create - INVALID_NAME" );      RTEMS.PARTITION_CREATE(         SPTEST.PARTITION_NAME( 1 ),         SPTEST.PARTITION_GOOD_AREA'ADDRESS,         0,         80,         RTEMS.DEFAULT_ATTRIBUTES,         SPTEST.JUNK_ID,         STATUS      );      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(         STATUS,         RTEMS.INVALID_SIZE,         "PARTITION_CREATE WITH ILLEGAL LENGTH"      );      TEXT_IO.PUT_LINE(         "TA1 - partition_create - length - INVALID_SIZE"      );      RTEMS.PARTITION_CREATE(         SPTEST.PARTITION_NAME( 1 ),         SPTEST.PARTITION_GOOD_AREA'ADDRESS,         128,         0,         RTEMS.DEFAULT_ATTRIBUTES,         SPTEST.JUNK_ID,         STATUS      );      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(         STATUS,         RTEMS.INVALID_SIZE,         "PARTITION_CREATE WITH ILLEGAL BUFFER_SIZE"      );      TEXT_IO.PUT_LINE(          "TA1 - partition_create - buffer size - INVALID_SIZE"       );      RTEMS.PARTITION_CREATE(         SPTEST.PARTITION_NAME( 1 ),         SPTEST.PARTITION_GOOD_AREA'ADDRESS,         128,         256,         RTEMS.DEFAULT_ATTRIBUTES,         SPTEST.JUNK_ID,         STATUS      );      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(         STATUS,         RTEMS.INVALID_SIZE,         "PARTITION_CREATE WITH BUFFER_SIZE > LENGTH"      );      TEXT_IO.PUT_LINE(        "TA1 - partition_create - length < buffer size - INVALID_SIZE"      );      RTEMS.PARTITION_CREATE(         SPTEST.PARTITION_NAME( 1 ),         SPTEST.PARTITION_GOOD_AREA'ADDRESS,         128,         64,         RTEMS.GLOBAL,         SPTEST.JUNK_ID,         STATUS      );      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(         STATUS,         RTEMS.MP_NOT_CONFIGURED,         "PARTITION_CREATE OF GLOBAL"      );      TEXT_IO.PUT_LINE("TA1 - partition_create - MP_NOT_CONFIGURED");      RTEMS.PARTITION_CREATE(         SPTEST.PARTITION_NAME( 1 ),         SPTEST.PARTITION_BAD_AREA'ADDRESS,         128,         64,         RTEMS.DEFAULT_ATTRIBUTES,         SPTEST.JUNK_ID,         STATUS      );      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(         STATUS,         RTEMS.INVALID_ADDRESS,         "PARTITION_CREATE WITH BAD ADDRESS"      );      TEXT_IO.PUT_LINE( "TA1 - partition_create - INVALID_ADDRESS" );      RTEMS.PARTITION_CREATE(         SPTEST.PARTITION_NAME( 1 ),         SPTEST.PARTITION_GOOD_AREA'ADDRESS,         128,         34,         RTEMS.DEFAULT_ATTRIBUTES,         SPTEST.JUNK_ID,         STATUS      );      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(         STATUS,         RTEMS.INVALID_SIZE,         "PARTITION_CREATE WITH UNALIGNED BUFFER_SIZE"      );      TEXT_IO.PUT_LINE( "TA1 - partition_create - INVALID_SIZE" );      RTEMS.PARTITION_DELETE( 100, STATUS );      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(         STATUS,         RTEMS.INVALID_ID,         "PARTITION_DELETE WITH ILLEGAL ID"      );      TEXT_IO.PUT_LINE(         "TA1 - partition_delete - unknown INVALID_ID"      );      RTEMS.PARTITION_DELETE( 16#10100#, STATUS );      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(         STATUS,         RTEMS.INVALID_ID,         "PARTITION_DELETE WITH ILLEGAL ID"      );      TEXT_IO.PUT_LINE(         "TA1 - partition_delete - local INVALID_ID"      );      RTEMS.PARTITION_GET_BUFFER( 100, BUFFER_ADDRESS_1, STATUS );      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(         STATUS,         RTEMS.INVALID_ID,         "PARTITION_GET_BUFFER WITH ILLEGAL ID"      );      TEXT_IO.PUT_LINE( "TA1 - partition_get_buffer - INVALID_ID" );      RTEMS.PARTITION_IDENT(         0,         RTEMS.SEARCH_ALL_NODES,         SPTEST.JUNK_ID,         STATUS      );      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(         STATUS,         RTEMS.INVALID_NAME,         "PARTITION_IDENT WITH ILLEGAL NAME"      );      TEXT_IO.PUT_LINE( "TA1 - partition_ident - INVALID_NAME" );      RTEMS.PARTITION_RETURN_BUFFER( 100, BUFFER_ADDRESS_1, STATUS );      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(         STATUS,         RTEMS.INVALID_ID,         "PARTITION_RETURN WITH ILLEGAL ID"      );      TEXT_IO.PUT_LINE(         "TA1 - partition_return_buffer - INVALID_ID"      );      RTEMS.PARTITION_CREATE(         SPTEST.PARTITION_NAME( 1 ),         SPTEST.PARTITION_GOOD_AREA'ADDRESS,         128,         64,         RTEMS.DEFAULT_ATTRIBUTES,         SPTEST.PARTITION_ID( 1 ),         STATUS      );      TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_CREATE" );      TEXT_IO.PUT_LINE( "TA1 - partition_create - SUCCESSFUL" );      RTEMS.PARTITION_CREATE(         SPTEST.PARTITION_NAME( 1 ),         SPTEST.PARTITION_GOOD_AREA'ADDRESS,         128,         64,         RTEMS.DEFAULT_ATTRIBUTES,         SPTEST.JUNK_ID,         STATUS      );      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(         STATUS,         RTEMS.TOO_MANY,         "PARTITION_CREATE OF TOO MANY"      );      TEXT_IO.PUT_LINE( "TA1 - partition_create - TOO_MANY" );      RTEMS.PARTITION_GET_BUFFER(         SPTEST.PARTITION_ID( 1 ),         BUFFER_ADDRESS_1,         STATUS      );      TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_GET_BUFFER" );      TEXT_IO.PUT_LINE( "TA1 - partition_get_buffer - SUCCESSFUL" );      RTEMS.PARTITION_GET_BUFFER(         SPTEST.PARTITION_ID( 1 ),         BUFFER_ADDRESS_2,         STATUS      );      TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_GET_BUFFER" );      TEXT_IO.PUT_LINE( "TA1 - partition_get_buffer - SUCCESSFUL" );      RTEMS.PARTITION_GET_BUFFER(         SPTEST.PARTITION_ID( 1 ),         BUFFER_ADDRESS_3,         STATUS      );      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(         STATUS,         RTEMS.UNSATISFIED,         "PARTITION_GET_BUFFER UNSATISFIED"      );      TEXT_IO.PUT_LINE( "TA1 - partition_get_buffer - UNSATISFIED" );      RTEMS.PARTITION_DELETE(         SPTEST.PARTITION_ID( 1 ),         STATUS      );      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(         STATUS,         RTEMS.RESOURCE_IN_USE,         "PARTITION_DELETE WITH BUFFERS IN USE"      );      TEXT_IO.PUT_LINE( "TA1 - partition_delete - RESOURCE_IN_USE" );      RTEMS.PARTITION_RETURN_BUFFER(         SPTEST.PARTITION_ID( 1 ),         SPTEST.REGION_GOOD_AREA( 0 )'ADDRESS,  -- NOTE: REGION         STATUS      );      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(         STATUS,         RTEMS.INVALID_ADDRESS,         "PARTITION_RETURN WITH BUFFER ADDRESS OUT OF PARTITION"      );      TEXT_IO.PUT( "TA1 - partition_return_buffer - " );      TEXT_IO.PUT_LINE( "INVALID_ADDRESS - out of range" );      RTEMS.PARTITION_RETURN_BUFFER(         SPTEST.PARTITION_ID( 1 ),         SPTEST.PARTITION_GOOD_AREA( 7 )'ADDRESS,         STATUS      );      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(         STATUS,         RTEMS.INVALID_ADDRESS,         "PARTITION_RETURN WITH BUFFER ADDRESS NOT ON BOUNDARY"      );      TEXT_IO.PUT( "TA1 - partition_return_buffer - " );      TEXT_IO.PUT_LINE( "INVALID_ADDRESS - not on boundary" );   end SCREEN_11;--PAGE-- --  SCREEN_12--   procedure SCREEN_12   is      SEGMENT_ADDRESS_1 : RTEMS.ADDRESS;      SEGMENT_ADDRESS_2 : RTEMS.ADDRESS;      SEGMENT_ADDRESS_3 : RTEMS.ADDRESS;      OFFSET            : RTEMS.UNSIGNED32;      GOOD_FRONT_FLAG   : RTEMS.UNSIGNED32;      GOOD_BACK_FLAG    : RTEMS.UNSIGNED32;      STATUS            : RTEMS.STATUS_CODES;   begin      RTEMS.REGION_CREATE(         0,         SPTEST.REGION_GOOD_AREA'ADDRESS,         16#40#,         32,         RTEMS.DEFAULT_ATTRIBUTES,         SPTEST.JUNK_ID,         STATUS      );      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(         STATUS,         RTEMS.INVALID_NAME,         "REGION_CREATE WITH ILLEGAL NAME"      );      TEXT_IO.PUT_LINE( "TA1 - region_create - INVALID_NAME" );      RTEMS.REGION_CREATE(         SPTEST.REGION_NAME( 1 ),         SPTEST.REGION_BAD_AREA'ADDRESS,         16#40#,         32,         RTEMS.DEFAULT_ATTRIBUTES,         SPTEST.JUNK_ID,         STATUS      );      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(         STATUS,         RTEMS.INVALID_ADDRESS,         "REGION_CREATE WITH ILLEGAL ADDRESS"      );      TEXT_IO.PUT_LINE( "TA1 - region_create - INVALID_ADDRESS" );      RTEMS.REGION_CREATE(         SPTEST.REGION_NAME( 1 ),         SPTEST.REGION_GOOD_AREA'ADDRESS,         16#40#,         34,         RTEMS.DEFAULT_ATTRIBUTES,         SPTEST.JUNK_ID,         STATUS      );      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(         STATUS,         RTEMS.INVALID_SIZE,         "REGION_CREATE WITH ILLEGAL SIZE"      );      TEXT_IO.PUT_LINE( "TA1 - region_create - INVALID_SIZE" );      RTEMS.REGION_CREATE(         SPTEST.REGION_NAME( 1 ),         SPTEST.REGION_GOOD_AREA( SPTEST.REGION_START_OFFSET )'ADDRESS,         SPTEST.REGION_LENGTH,         16#40#,         RTEMS.DEFAULT_ATTRIBUTES,         SPTEST.REGION_ID( 1 ),         STATUS      );      TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_CREATE" );      TEXT_IO.PUT_LINE( "TA1 - region_create - SUCCESSFUL" );      RTEMS.REGION_CREATE(         SPTEST.REGION_NAME( 1 ),         SPTEST.REGION_GOOD_AREA'ADDRESS,         SPTEST.REGION_LENGTH,         16#40#,         RTEMS.DEFAULT_ATTRIBUTES,         SPTEST.JUNK_ID,         STATUS      );      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(         STATUS,         RTEMS.TOO_MANY,         "REGION_CREATE FOR TOO MANY"      );      TEXT_IO.PUT_LINE( "TA1 - region_create - TOO_MANY" );      RTEMS.REGION_DELETE( 100, STATUS );      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(         STATUS,         RTEMS.INVALID_ID,         "REGION_DELETE WITH ILLEGAL ID"      );      TEXT_IO.PUT_LINE( "TA1 - region_delete - unknown INVALID_ID" );      RTEMS.REGION_DELETE( 16#10100#, STATUS );      TEST_SUPPORT.FATAL_DIRECTIVE_STATUS(         STATUS,         RTEMS.INVALID_ID,         "REGION_DELETE WITH ILLEGAL ID"      );      TEXT_IO.PUT_LINE( "TA1 - region_delete - local INVALID_ID" );      

⌨️ 快捷键说明

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