ERC32 Ada Technical Summary: For mission-critical applications using the ERC32 spacecraft computer | ||
---|---|---|
Prev | Chapter 3. Language-Related Issues | Next |
ERC32 Ada supports all of the implementation-dependent features of Ada 95 Reference Manual Section 13 that have a useful meaning in an embedded system.
In particular:
The pragma Pack is supported.
Length clauses are supported, including the following:
Size specification for types
Small specification for fixed point types, using arbitrary values
Storage_Size specification for tasks
Enumeration representation clauses are supported.
Record representation clauses are supported.
Alignment clauses are supported (up to the maximum data object size).
Address clauses are supported for constants and variables.
The pragma Interface is supported.
Unchecked programming is supported.
The predefined package Machine_Code is supported.
The following are not supported:
interrupt entries for tasks
address clauses for subprograms, packages or tasks
the predefined packages Ada.Unchecked_Deallocation and Unchecked_Deallocation
the predefined package System.Storage_Pools
the predefined package Ada.Streams
Table 3-4 specifies values from the predefined package System.
The predefined type Address is 32 bits in size, and the unit of storage addressed is an 8-bit byte. The value of the null address is zero. Address is declared in the visible part of package System, so that address expressions may contain numeric literals.