package xdc.runtime |
|
Basic runtime support for RTSC programs
The modules and interfaces in the
xdc.runtime package form the "core"
RTSC target runtime support library which provides basic system services
required by virtually all applications.
[
more ... ]
package xdc.runtime [2, 1, 0] {
// Interface for supporting filtering of Log events by detail level
// Interface implemented by all gate providers
// Interface to heap functions
// Common instance params
// Interface to service Log events
// Base interface for all modules
// Interface to core system functions
// Timestamp Client Interface
// Timestamp provider interface
// Runtime assertion manager
// Default attributes inherited by all target modules
// Diagnostics manager
// Runtime error manager
// Critical section support
// Growth-only based heap implementation
// Malloc/free based heap implementation
// Event logging manager
// A logger which stores Log events in a buffer
// A logger that passes events to a user supplied callback function
// A logger which routes events to the System_printf function
// Configuration "stand-in" for application code
// Static and run-time memory manager
// Register modules that are not statically configured
// Startup reset function manager
// The Rta module contains target and configuration code for providing RTA
support
// The xdc.runtime startup bootstrap
// ISystemSupport implementation for user callback functions
// Basic system services
// Runtime text handling services
// Timestamp services
// Basic constants and types
}
DETAILS
The modules and interfaces in the xdc.runtime package form the "core"
RTSC target runtime support library which provides basic system services
required by virtually all applications.
Since this package's services are intended to be available to any
C/C++ client, this package does not contain any pre-compiled libraries.
Instead, this package provides complete sources which are built and
supplied by a target-specific package named by the
rts parameter of the target used to build
the client sources. This "indirection" make it possible for new targets
to be added by interested parties whithout ever having to update this
package.
The functionality provided by this package can be roughly partitioned
into four categories:
- Diagnostics and Logs
- Memory Management
- Concurrency Support
- Startup and Shutdown
DIAGNOSTICS AND LOGS
This package provides for diagnostics with a set of modules that operate
together to configure and implement diagnostics.
The modules can be partitioned into three groups: modules that
generate events, a module that allows precise control over when
(or if) various events are generated, and modules that manage the
output or display of the events.
Assert,
Error, and
Log provide methods that
are added to source code and generate events. The
Diags module
provides both configuration and runtime methods to selectively enable or
disable different types of events on a per module basis. Finally,
LoggerBuf,
LoggerSys and
LoggerCallback are
simple alternative implementations of the
ILogger event "handler"
interface. You can provide more sophisticated or platform-specific
implementations of
ILogger without making any changes to code that
uses
Assert,
Log,
Error, or
Diags.
The diagnostics and logger modules include the following:
- Assert - Add integrity checks to the code.
- Diags - Manage a module's diagnostics mask.
- Error - Raise error events.
- Log - Generate log events in realtime.
- LoggerBuf - A logger using a buffer for log events.
- LoggerCallback - A logger using user defined callback function
for log events.
- LoggerSys - A logger using printf for log events.
- Types - Define diagnostics configuration parameters.
- Timestamp - Simple timestamp service
MEMORY MANAGEMENT
The memory management modules include the following:
- Memory - module used by clients to allocate and free memory
- HeapMin - Deterministic implementation that minimizes code
size footprint by not supporting reuse of allocated
memory.
- HeapStd - Implementation that builds atop ANSI C malloc()
and free()
CONCURRENCY SUPPORT
The concurency support modules include the following:
- Gate - module used by clients to serialize access to
shared data structures
- GateNull - "null" implementation for applications that
don't need serialization; e.g., single threaded
applications
STARTUP AND SHUTDOWN
The system startup and shutdown support modules include:
- Reset - Manages platform-specific startup initialization
before main() is called
- Startup - Manages "portable" startup initialization before
main() is called
- System - In addition to other basic services (such as
printf), this module provides an atexit
capability that allows modules to cleanly exit
during normal application terminiation.
- SysCallback - Implementation of ISystemSupport
that calls back user defined functions.
- SysMin - Minimal implementation of ISystemSupport
required by the System module, suitable for
deeply embedded applications.
- SysStd - Implementation of ISystemSupport
that relies on ANSI C Standard I/O Library
functions.
generated on Sat, 17 Nov 2018 00:29:26 GMT