Main Content

soc.sdk.Deployer Class

Namespace: soc.sdk

Application deployment configuration

Description

Use the soc.sdk.Deployer class to define the tool and software used to deploy generated code to a hardware board.

Creation

deployerObj = Deployer(name) creates a Deployer object and sets the Name property to name.

Properties

expand all

Name of the Deployer object, specified as a character vector.

Example: 'MyDeployer'

Attributes:

GetAccess
public
SetAccess
immutable

Data Types: char

Toolchain objects, specified as an soc.sdk.Toolchain object or cell array of soc.sdk.Toolchain objects. The Deployer object uses the objects in this property to compile generated code into an executable. Use the addNewToolchain and removeToolchain methods to add or remove Toolchain objects, respectively.

Example: {'toolchainObj'}

Attributes:

GetAccess
public
SetAccess
public

Data Types: cell

Loader objects for the hardware, specified as a cell array of soc.sdk.Loader objects. Use the addNewLoader and removeLoader methods to add or remove Loader objects, respectively.

Example: {loaderObj}

Attributes:

GetAccess
public
SetAccess
private

Data Types: cell array

Files to include in generated main.c or main.cpp file using the #include directive, specified as a cell array of file names.

Example: {'blapp_support.h'}

Attributes:

GetAccess
public
SetAccess
public

Data Types: cell

MATLAB function to invoke after code is generated, specified as a character vector. The specified function requires this signature.

function onAfterCodeGen(hCS,buildInfo)
% Add code to be called after code generation.
end

In this signature, the buildInfo argument is an RTW.BuildInfo build information object, and the hCS argument is the coder configuration object.

Example: 'onAfterCodeGen'

Attributes:

GetAccess
public
SetAccess
public

Data Types: char

MATLAB function to invoke at start of build, specified as a character vector. The specified function requires this signature.

function onBuildEntry(hCS, buildInfo)
% Add here code to be called after code generation.
end

In this signature, the buildInfo argument is an RTW.BuildInfo build information object, and the hCS argument is the coder configuration object.

Example: 'onBuildEntry'

Attributes:

GetAccess
public
SetAccess
public

Data Types: char

Source code functions that initialize hardware, specified as a cell array of C/C++ source code functions that initialize hardware. Each function is called from the generated main file. Functions are assumed to take no input arguments.

Example: {'stm32f4xx_init_board()'}

Attributes:

GetAccess
public
SetAccess
public

Data Types: cell array

Placeholder to be replaced by a complete argument during code generation, specified as a cell array of token structures. Each token structure contains two fields: Name and Value. In the generated code, Name becomes a string in form $(NAME) that gets replaced during code generation by the Value string. You must set Value as one of these options.

  • Empty string – In this case, you must define an environment variable with the corresponding name (that is, SOME_NAME).

  • MATLAB function – The build process evaluates the function when the process encounters the token.

  • String – The string replaces Name.

For example, the following code shows the addition of the token with Name of MY_PI_VALUE. During code generation, MY_PI_VALUE will be replaced by the value 3.1415926.

deployerObj = soc.sdk.Deployer('MyDeployer');
token.Name = 'MY_PI_VALUE';
token.Value = '3.1415926';
deployerObj.Tokens = {token}
deployerObj = 

  Deployer with properties:

               SynthesisTools: {}
             BitstreamLoaders: {}
                         Name: 'MyDeployer'
                   Toolchains: {}
                      Loaders: {}
             MainIncludeFiles: {}
                       Tokens: {[1×1 struct]}
                BuildEntryFcn: ''
              AfterCodeGenFcn: ''
    HardwareInitializationFcn: {}

Attributes:

GetAccess
public
SetAccess
public

Data Types: cell

Methods

expand all

Version History

Introduced in R2019b