Main Content

Target Environment Services

Target platform and custom services supplement tasks performed by an operating system to support the execution of applications and components. Service code insulates application code from target implementations. Platform services can consist of:

  • Scheduling and task execution services

  • Communication services, including support for device driver, send-receive, client-server, message-trigger and data transfer communication

  • Auxiliary services, such as timer, nonvolatile memory, parameter tuning, and measurement services

Custom services include specialized device drivers and middleware.

This figure and the table that follows identify services with which embedded system application and component code typically interact.

Sampling of target services provided by a target execution environment

SchedulerSelects a task to execute based on a sample time (period or offset) or an event and execution order. Goals of the service include maximizing throughput, minimizing wait time, minimizing latency, maximizing fairness, and meeting deadlines.
ReceiverReceives input data from applications or components, nonvolatile memory, or the target environment.
SenderSends output data to applications or components, nonvolatile memory, or the target environment.
Data transferHandles sharing of data between callable functions. The service takes complete ownership of the shared data, including the setting of initial values.
Nonvolatile memoryReads data from and writes data to nonvolatile memory.
TimerImplements aspects to time, such as a clock tick with a specific tick resolution.
Parameter tuningEnables access to and the ability to change parameter values while algorithm code executes.
MeasurementEnables access to and the ability read signal data while algorithm code executes.

When designing a model, in addition to aspects of the algorithm, consider how the application or component will interact with the target environment services. The interaction occurs through generated code interfaces. For the code generator to produce interface code that can interact with a service, you must provide the code generator with information about the target environment interface requirements, such as the service function name and data access method. Model inports, for example, represent requests to a target platform receiver service. You inform the code generator about how to generate interface code for the service requests by mapping the inports to a defined code interface.

Related Topics