Main Content

Processor Software

Design and develop the software for the embedded processor component of an SoC application

Create Simulink® models of the software in an SoC application. Encapsulate the algorithms as a collection of timer-driven and event-driven task subsystems. Define the timing and duration characteristics for tasks.

Blocks

expand all

Task ManagerCreate and manage task executions in Simulink model
Proxy TaskA placeholder for a task in your application
Task ManagerCreate and manage task executions in Simulink model
Testbench TaskAn external timer-driven task load on your SoC processor application
Event SourceSimulate and playback recorded task events
Interprocess Data ChannelModel interprocessor data channel between two processors
Interprocess Data ReadReceive messages from another processor using interprocess communication channel
Interprocess Data WriteSend messages to another processor using interprocessor data write

Functions

socTaskTimesPlot histogram of the task durations from a recorded Simulation Data Inspector run
socHardwareUsageGenerate processor core usage statistics from a recorded Simulation Data Inspector run

Simulink Configuration Parameters

Tools

Task MappingMap tasks in the SoC to interrupt service routines on the hardware board
Task Execution ReportDisplay summary of task execution performance and core usage metrics following model simulation or execution on processor
Simulation Data InspectorInspect and compare data and simulation results to validate and iterate model designs

Topics

Design

What is Task Execution?

Learn the SoC Blockset™ definition of task execution and task life-cycle in a processor.

Timer-Driven Task

Create Simulink models with timer-driven task subsystems.

Event-Driven Tasks

Create Simulink models with event driven task subsystems.

Task Duration

Set the execution time or duration of a task in Task Manager block.

Kernel Latency

Specify the kernel response time or latency to start a task execution instance.

Value and Caching of Task Subsystem Signals

Signals entering and exiting task subsystems can capture Task Manager block.

Multiprocessor Execution

Configure and run SoC models to simulate a multiprocessor architecture with independent processes.

Run Multiprocessor Models in External Mode

Run an multiprocessor SoC model in external mode running on separate processors on the hardware board.

Interprocess Data Communication via Dedicated Hardware Peripheral

Data communication methods between two or more processes within a single processor or across multiple connected processors.

Simulation

Task Overruns and Countermeasures

Simulation of task execution experiencing overruns and countermeasures available to either prevent or mitigate overruns.

Task Priority and Preemption

Use Task Manager block to set task priorities and define task execution order with preemption.

Multiprocessor Execution

Configure and run SoC models to simulate a multiprocessor architecture with independent processes.

Data Logging Techniques

Techniques to log processor data from SoC hardware boards.

Task Execution Playback Using Recorded Data

Replay task execution timing using recorded task timing data from previous simulations or processors.

Build and Measurement

Code Generation of Software Tasks

Mapping between tasks in an SoC application model and threads in generated code.

Code Instrumentation Profiler

Use code instrumentation profiling to measure task execution timing on an SoC device.

Kernel Instrumentation Profiler

Use kernel instrumentation profiling to measure task execution timing on an SoC device.

Recording Tasks for Use in Simulation

Task execution timing data and statistics recorded during simulation or from hardware.

PIL Simulation (SoC Blockset Support Package for Texas Instruments C2000 Processors)

Processor-in-the-Loop (PIL) simulation techniques for Texas Instruments hardware board.

Visualization

Task Visualization in Simulation Data Inspector

Visualize the timing and execution states of tasks in the Simulation Data Inspector.

Multicore Execution and Core Visualization

Configure and visualize task execution for single and multicore processor systems.

Featured Examples