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