coder - Open MATLAB
Coder app - MATLAB ([original](http://www.mathworks.com/access/helpdesk/help/coder/ref/coder.html)) ([raw](?raw))
Syntax
Description
coder
opens the MATLAB® Coder™ app. To create a project, on the Select Source Files page, provide the entry-point file names. The app creates a project with a default name that is the name of the first entry-point file. To open an existing project, on the app toolbar, click , and then click .
If the Embedded Coder® product is installed, when the app creates a project, it enables Embedded Coder features. When Embedded Coder features are enabled, code generation requires an Embedded Coder license. To disable Embedded Coder features, in the project build settings, on theAll Settings tab, underAdvanced, set Use Embedded Coder features toNo
.
coder [projectname](#bt261ix-1-projectname)
opens the MATLAB Coder app using the existing project namedprojectname.prj
.
coder -open [projectname](#bt261ix-1-projectname)
opens the MATLAB Coder app using the existing project namedprojectname.prj
.
coder -build [projectname](#bt261ix-1-projectname)
builds the existing project named projectname.prj
.
coder -new [projectname](#bt261ix-1-projectname)
opens the MATLAB Coder app creating a project named projectname.prj
. If the Embedded Coder product is installed, the app creates the project with Embedded Coder features enabled. To disable these features, in the project build settings, on the All Settings tab, underAdvanced, set Use Embedded Coder features toNo
.
coder -ecoder false -new [projectname](#bt261ix-1-projectname)
opens theMATLAB Coder app creating a project named projectname.prj
. The app creates the project with Embedded Coder features disabled even if the Embedded Coder product is installed.
coder -tocode [projectname](#bt261ix-1-projectname) -script [scriptname](#bt261ix-1-scriptname)
converts the existing project named projectname.prj
to the equivalent script of MATLAB commands. The script is named scriptname
.
- If
scriptname
exists,coder
overwrites it. - The script reproduces the project build configuration in a configuration object and builds the project. The script:
- Creates a configuration object named
cfg
. - Defines the variable
ARGS
for function input types. - Defines the variable
GLOBALS
for global data initial values. - Runs the
codegen
command. When you run the script, the entry-point functions that are arguments tocodegen
must be on the search path.
- Creates a configuration object named
cfg
,ARGS
, andGLOBALS
appear in the base workspace only after you run the script.
If the project includes automated fixed-point conversion,coder
generates two scripts:
- A script
scriptname
that contains the MATLAB commands to:- Create a code configuration object that has the same settings as the project.
- Run the
codegen
command to convert the fixed-point MATLAB function to a fixed-point C function.
- A script whose file name is a concatenation of the name specified by
scriptname
and the generated fixed-point file name suffix specified by the project file. Ifscriptname
specifies a file extension, the script file name includes the file extension. For example, ifscriptname
ismyscript.m
and the suffix is the default value_fixpt
, the script name ismyscript_fixpt.m
.
This script contains the MATLAB commands to:- Create a floating-point to fixed-point conversion configuration object that has the same fixed-point conversion settings as the project.
- Run the
codegen
command to convert the floating-point MATLAB function to a fixed-point MATLAB function.
For a project that includes fixed-point conversion, before converting the project to scripts, complete the Test Numerics step of the fixed-point conversion process.
coder -tocode [projectname](#bt261ix-1-projectname)
converts the existing project named projectname.prj
to the equivalent script of MATLAB commands. It writes the script to the Command Window.
coder -toconfig [projectname](#bt261ix-1-projectname)
exports the code configuration settings stored in a MATLAB Coder project file to a code configuration object. Executing this command returns a code configuration object corresponding to projectname
. For more information on which code configuration object is returned for different project file settings, see Share Build Configuration Settings.
[cfg](#mw%5F78d5bbb9-cc12-4d94-8dfc-8c2f1aa380db) = coder('-toconfig','[projectname](#bt261ix-1-projectname)')
returns a configuration object that contains the code configuration settings stored in aMATLAB Coder project file. Executing this command returns a code configuration objectcfg
corresponding to projectname
. For more information on which code configuration object is returned for different project file settings, see Share Build Configuration Settings.
Examples
Open an existing MATLAB Coder project
Open the MATLAB Coder app using the existing MATLAB Coder project named my_coder_project
.
coder -open my_coder_project
Build a MATLAB Coder project
Build the MATLAB Coder project named my_coder_project
.
coder -build my_coder_project
Create a MATLAB Coder project
Open the MATLAB Coder app and create a project named my_coder_project
.
coder -new my_coder_project
Convert a MATLAB Coder project to a MATLAB script
Convert the MATLAB Coder project named my_coder_project.prj
to the MATLAB script named myscript.m
.
coder -tocode my_coder_project -script my_script.m
Create code configuration object from MATLAB Coder project
Define a MATLAB function, myadd
, that returns the sum of two values.
function y = myadd(u,v) %#codegen y = u + v; end
Create a MATLAB Coder project myadd.prj
:
- Open the MATLAB Coder app. Specify
myadd
as the entry point function. - On the Define Inputs Types page, specify
u
andv
as double scalars. - On the Generate Code page, set to
MEX
. Leave other project file settings with their default values.
At the MATLAB command line, run this command:
cfg = coder('-toconfig','myadd.prj');
The code generator creates a coder.MexCodeConfig object cfg
that contains the code configuration settings stored in myadd.prj
.
Inspect the properties of cfg
.
cfg =
Description: 'class MexCodeConfig: MEX configuration objects with C code.'
Name: 'MexCodeConfig'
-------------------------------- Report -------------------------------
GenerateReport: true
LaunchReport: false
ReportInfoVarName: ''
ReportPotentialDifferences: false
------------------------------- Debugging -----------------------------
EchoExpressions: true
EnableDebugging: false
EnableMexProfiling: false
---------------------------- Code Generation --------------------------
ConstantInputs: 'CheckValues'
EnableJIT: false
FilePartitionMethod: 'MapMFileToCFile'
GenCodeOnly: false
HighlightPotentialRowMajorIssues: true
PostCodeGenCommand: ''
PreserveArrayDimensions: false
RowMajor: false
TargetLang: 'C'
------------------------ Language And Semantics -----------------------
CompileTimeRecursionLimit: 50
ConstantFoldingTimeout: 40000
EnableDynamicMemoryAllocation: true
DynamicMemoryAllocationThreshold: 65536
EnableAutoExtrinsicCalls: true
EnableRuntimeRecursion: true
EnableVariableSizing: true
ExtrinsicCalls: true
GlobalDataSyncMethod: 'SyncAlways'
InitFltsAndDblsToZero: true
PreserveVariableNames: 'None'
SaturateOnIntegerOverflow: true
------------------------- C++ Language Features -----------------------
CppNamespace: ''
----------------- Safety (disable for faster execution) ---------------
IntegrityChecks: true
ResponsivenessChecks: true
---------------- Function Inlining and Stack Allocation ---------------
InlineStackLimit: 4000
InlineThreshold: 10
InlineThresholdMax: 200
StackUsageMax: 200000
----------------------------- Optimizations ---------------------------
EnableMemcpy: true
EnableOpenMP: true
MemcpyThreshold: 64
------------------------------- Comments ------------------------------
GenerateComments: true
MATLABSourceComments: false
------------------------------ Custom Code ----------------------------
CustomHeaderCode: ''
CustomInclude: ''
CustomInitializer: ''
CustomLibrary: ''
CustomSource: ''
CustomSourceCode: ''
CustomTerminator: ''
ReservedNameArray: ''
Input Arguments
projectname
— Name of MATLAB Coder project
project name
Name of MATLAB Coder project that you want to create, open, or build. The project name must not contain spaces.
scriptname
— Name of script file
script name
Name of script that you want to create when using the -tocode
option with the -script
option. The script name must not contain spaces.
Output Arguments
cfg
— Code configuration object
coder.MexCodeConfig
| coder.CodeConfig
| coder.EmbeddedCodeConfig
Code configuration object that contains the configuration settings stored in aMATLAB Coder project file.
Limitations
- The
coder
function is not supported in MATLAB Online™.
Tips
- If you are sharing an Embedded Coder license, use
coder -ecoder false -new projectname
to create a project that does not require this license. If the Embedded Coder product is installed, the app creates the project with Embedded Coder features disabled. When these features are disabled, code generation does not require an Embedded Coder license. To enable Embedded Coder features, in the project build settings, on theAll Settings tab, underAdvanced, set Use Embedded Coder features toYes
. - Creating a project or opening an existing project causes other MATLAB Coder or Fixed-Point Converter projects to close.
- If your installation does not include the Embedded Coder product, the Embedded Coder settings do not show. However, values for these settings are saved in the project file. If you open the project in an installation that includes the Embedded Coder product, you see these settings.
- A Fixed-Point Converter project opens in the Fixed-Point Converter app. To convert the project to a MATLAB Coder project, in the Fixed-Point Converter app:
- Click
and select Reopen project as.
- Select
MATLAB Coder
.
- Click
Alternatives
- On the Apps tab, in the Code Generation section, click MATLAB Coder.
- Use the codegen function to generate code at the command line.
Version History
Introduced in R2011a