Main Content


Add parameters to code generation objective



addParam(objective, param, value) adds the specified parameter to the objective and defines the value of the parameter that the Code Generation Advisor verifies in Check model configuration settings against code generation objectives.


collapse all

Create a custom objective named Reduced RAM Example that runs checks and verifies parameter values to confirm that the model is configured to reduce the RAM used by the generated code.

Create a file sl_customization.m to contain a callback function that creates the custom objective.

function sl_customization(cm)
%SL_CUSTOMIZATION objective customization callback

objCustomizer = cm.ObjectiveCustomizer;
index = objCustomizer.addCallbackObjFcn(@addObjectives);


Create and configure the objective in the addObjectives function. Set the name of the objective and add checks and parameters to verify. Then register the objective in the Code Generation Advisor.

function addObjectives

% Create the custom objective
obj = rtw.codegenObjectives.Objective('ex_ram_1');
setObjectiveName(obj, 'Reduce RAM Example');

% Add parameters to the objective
addParam(obj, 'InlineParams', 'on');
addParam(obj, 'BooleanDataType', 'on');
addParam(obj, 'OptimizeBlockIOStorage', 'on');
addParam(obj, 'EnhancedBackFolding', 'on');
addParam(obj, 'BooleansAsBitfields', 'on');

% Add additional checks to the objective
% The Code Generation Advisor automatically includes 'Check model
% configuration settings against code generation objectives' in every
% objective.
addCheck(obj, 'mathworks.codegen.CodeInstrumentation');
addCheck(obj, 'mathworks.codegen.UseRowMajorAlgorithm');

%Register the objective


Input Arguments

collapse all

Code generation objective, specified as a rtw.codegenObjectives.Objective object.

Name of parameter to add to the objective, specified as a character vector or string scalar.

Parameter value to verify in the Code Generation Advisor, specified as a character vector or string scalar.

Version History

Introduced in R2009a