File: /home/oboss/Users/gec/sources/Demonstrator/Data_Handling_System/memory_manager.ads

1     --% Compilation Unit: Memory_Manager
2     --
3     --% Category: Package Declaration
4     --
5     --% Release:  $Name:  $
6     --
7     --% Version:  $Revision: 2.1 $
8     --
9     --% Author:   $Author: gec $
10     --
11     --% Revision Log:
12     --    $Log: memory_manager.ads,v $
13     --    Revision 2.1  2004/02/13 16:16:37  gec
14     --    Merged results of Demonstrator development on to main OBOSS trunk.
15     --
16     --    Revision 1.1.2.2  2003/12/12 12:10:49  gec
17     --    Updated Data Handling System application process according to 'OBOSS-III Demonstrator Test Case Specification'.
18     --
19     --    Revision 1.1.2.1  2003/12/10 10:12:55  gec
20     --    Restructured Data Handling System application process using child
21     --+    packages.
22     --
23     --
24     --% Project: OBOSS
25     --
26     --% Copyright (C) 2003 by Terma A/S
27     --  Proprietary and intellectual rights of Terma A/S, Denmark,
28     --  are involved in the subject-matter of this material and
29     --  all manufacturing, reproduction, use, disclosure, and
30     --  sales rights pertaining to such subject-matter are
31     --  expressly reserved. This material is submitted for a
32     --  specific purpose as agreed, and the recipient by
33     --  accepting this material agrees that this material will
34     --  not be used, copied, or reproduced in whole or in part
35     --  nor its contents revealed in any manner or to any person,
36     --  except to meet the purpose for which it was submitted and
37     --  subject to the terms of the agreement.
38     --
39     --% Target Dependencies:
40     --    None
41     --% Compiler Dependencies:
42     --    None
43     
44     --~-----------------------------------------------------------------------------
45     
46     with Memory_Management_Types;
47     with Data_Handling_System.Parameters;
48     with ISO_Checksum;
49     package Memory_Manager is
50     
51        --% Library Package:
52        --    Description
53        --% Active Tasks:
54        -->   task_name - Category
55        --% Passive Tasks:
56        -->   task_name - Description
57     
58        --% Library Package:
59        --    Interface to the memory blocks administered by the Memory_Manager
60        --+    process
61        --% Active Tasks:
62        -->   None
63        --% Passive Tasks:
64        -->   None
65     
66        --% Subprogram:
67        --    Routine for writing data at a given memory block and a given start
68        --+    address within that block.
69        --% Parameter Constraints:
70        -->   None
71        --% Exceptions Raised:
72        -->   Memory_Management_Types.Access_Outside_Memory_Area - raised when
73        --+    trying to write outside the memory block
74        -->   Memory_Management_Types.No_Write_Access - raised when trying to write
75        --+    to a memory block without write access
76        -->   Memory_Management_Types.Unknown_Memory_Access_Error - raised when the
77        --+    write operation results in an unknown external error
78        procedure Write_Data
79              (Memory_Def
80                   : in     Data_Handling_System.Parameters.Memory_Management.
81                     Memory_ID;
82               Absolute_Address : in     Memory_Management_Types.Start_Address;
83               Data_Val : in     Memory_Management_Types.Data);
84     
85        --% Subprogram:
86        --    Routine for reading data at a given memory block and a given start
87        --+    address within that block and with a given length.
88        --% Parameter Constraints:
89        -->   None
90        --% Exceptions Raised:
91        -->   Memory_Management_Types.Access_Outside_Memory_Area - raised when
92        --+    trying to read outside the memory block
93        -->   Memory_Management_Types.No_Read_Access - raised when trying to read
94        --+    from a memory block without read access
95        -->   Memory_Management_Types.Unknown_Memory_Access_Error - raised when the
96        --+    read operation results in an unknown external error
97        procedure Read_Data
98              (Memory_Def
99                   : in     Data_Handling_System.Parameters.Memory_Management.
100                     Memory_ID;
101               Absolute_Address : in     Memory_Management_Types.Start_Address;
102               Data_Val :    out Memory_Management_Types.Data);
103     
104        --% Subprogram:
105        --    Routine for calculating the ISO checksum for data at a given memory
106        --+    block and a given start address within that block and with a given
107        --+    length.
108        --% Parameter Constraints:
109        -->   None
110        --% Exceptions Raised:
111        -->   Memory_Management_Types.Access_Outside_Memory_Area - raised when
112        --+    trying to calculate a checksum for data outside the memory block
113        -->   Memory_Management_Types.No_Read_Access - raised when trying to read
114        --+    from a memory block without read access
115        -->   Memory_Management_Types.Unknown_Memory_Access_Error - raised when the
116        --+    checksum calculation results in an unknown external error
117        function Calculate_ISO_Checksum
118              (Memory_Def
119                   : in     Data_Handling_System.Parameters.Memory_Management.
120                     Memory_ID;
121               Absolute_Address : in     Memory_Management_Types.Start_Address;
122               Length : in     Memory_Management_Types.Data_Length)
123              return ISO_Checksum.Checksum_Type;
124     
125     end Memory_Manager;
126     
127     --~-----------------------------------------------------------------------------
128