-%% SYSTLC: Embedded Coder TMF: ert_default_tmf MAKE: make_rtw \
-%% EXTMODE: ext_comm
-%% SYSTLC: Create Visual C/C++ Solution File for the Embedded Coder\
-%% TMF: RTW.MSVCBuild MAKE: make_rtw EXTMODE: ext_comm
+%% SYSTLC: RPP Target TMF: rpp.tmf MAKE: make_rtw EXTMODE: ext_serial_win32_comm
+
+%% Copyright (C) 2013-2015 Czech Technical University in Prague
+%%
+%% Authors:
+%% - Carlos Jenkins <carlos@jenkins.co.cr>
+%%
+%% Permission is hereby granted, free of charge, to any person
+%% obtaining a copy of this software and associated documentation
+%% files (the "Software"), to deal in the Software without
+%% restriction, including without limitation the rights to use,
+%% copy, modify, merge, publish, distribute, sublicense, and/or sell
+%% copies of the Software, and to permit persons to whom the
+%% Software is furnished to do so, subject to the following
+%% conditions:
+
+%% The above copyright notice and this permission notice shall be
+%% included in all copies or substantial portions of the Software.
+
+%% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+%% EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+%% OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+%% NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+%% HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+%% WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+%% FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+%% OTHER DEALINGS IN THE SOFTWARE.
%%
-%%
-%%
+%% File : rpp_rm48_hdk.tlc
+%% Abstract:
+%% Embedded real-time system target file for RM48 HDK target.
%%
-%% Copyright 1994-2011 The MathWorks, Inc.
-%% Abstract: Embedded real-time system target file.
+%% This file is the system target file (STF), or target manifest file.
+%% Functions of the STF include:
%%
+%% - Making the target visible in the System Target File Browser.
+%% - Definition of code generation options for the target (inherited
+%% and target-specific).
+%% - Providing an entry point for the top-level control of the TLC code
+%% generation process.
+%%
+%% References:
+%% rtw_ug.pdf p. 1129 and _1144_
+
%selectfile NULL_FILE
%assign CodeFormat = "Embedded-C"
-
-%assign TargetType = "RT"
%assign Language = "C"
-%if !EXISTS("AutoBuildProcedure")
- %assign AutoBuildProcedure = !GenerateSampleERTMain
-%endif
-
-%% The model_SetEventsForThisBaseRate function is not required for the
-%% VxWorks environment, i.e., when using an operating system.
-%assign SuppressSetEventsForThisBaseRateFcn = (TargetOS == "VxWorksExample")
-%if !EXISTS("InlineSetEventsForThisBaseRateFcn")
- %assign InlineSetEventsForThisBaseRateFcn = TLC_TRUE
-%endif
-%if !EXISTS("SuppressMultiTaskScheduler")
- %assign SuppressMultiTaskScheduler = TLC_TRUE
-%endif
-
-%assign TargetRegistMutexOp = 1
-%assign TargetRegistSynchroOp = 1
-%include "commontargetlib.tlc"
+%assign TargetType = "RT"
+
+%assign AutoBuildProcedure = !GenerateSampleERTMain
+
+%% TODO: Check applicability of this options
+%assign SuppressSetEventsForThisBaseRateFcn = 1
+%assign InlineSetEventsForThisBaseRateFcn = TLC_TRUE
+%assign SuppressMultiTaskScheduler = TLC_TRUE
+
+%assign ::extMode = CompiledModel.ConfigSet.ExtMode
%include "codegenentry.tlc"
-%% The contents between 'BEGIN_RTW_OPTIONS' and 'END_RTW_OPTIONS' in this file
-%% are used to maintain backward compatibility to R13 and preR13 custom target
-%% file only. If you want to use this file as a template to develop your
-%% own system target file, you need to remove the 'CONFIGSET_TARGET_COMPONENT'
-%% section at the end of this file.
-%%
/%
BEGIN_RTW_OPTIONS
oIdx = 1;
- rtwoptions(oIdx).prompt = 'ERT code generation options (1)';
- rtwoptions(oIdx).type = 'Category';
- rtwoptions(oIdx).enable = 'on';
- rtwoptions(oIdx).default = 7; % number of items under this category
- % excluding this one.
- rtwoptions(oIdx).popupstrings = '';
- rtwoptions(oIdx).tlcvariable = '';
- rtwoptions(oIdx).tooltip = '';
- rtwoptions(oIdx).callback = '';
- rtwoptions(oIdx).opencallback = '';
- rtwoptions(oIdx).closecallback = '';
- rtwoptions(oIdx).makevariable = '';
-
- oIdx = oIdx + 1;
-
- rtwoptions(oIdx).prompt = 'MAT-file logging';
- rtwoptions(oIdx).type = 'Checkbox';
- rtwoptions(oIdx).default = 'off';
- rtwoptions(oIdx).tlcvariable = 'MatFileLogging';
- rtwoptions(oIdx).makevariable = 'MAT_FILE';
- rtwoptions(oIdx).callback = 'ert_callback_handler';
- rtwoptions(oIdx).tooltip = sprintf([...
- 'Instrument the generated code to log data to a MATLAB .mat\n',...
- 'file. Deselect this option to reduce ROM.']);
+ rtwoptions(oIdx).prompt = 'RPP Options';
+ rtwoptions(oIdx).type = 'Category';
+ rtwoptions(oIdx).enable = 'on';
+ rtwoptions(oIdx).default = 4; % number of items under this category
+ % excluding this one.
+ rtwoptions(oIdx).popupstrings = '';
+ rtwoptions(oIdx).tlcvariable = '';
+ rtwoptions(oIdx).tooltip = '';
+ rtwoptions(oIdx).callback = '';
+ rtwoptions(oIdx).makevariable = '';
oIdx = oIdx + 1;
- rtwoptions(oIdx).prompt = 'Integer code only';
- rtwoptions(oIdx).type = 'Checkbox';
- rtwoptions(oIdx).default = 'off';
- rtwoptions(oIdx).tlcvariable = 'PurelyIntegerCode';
- rtwoptions(oIdx).makevariable = 'INTEGER_CODE';
- rtwoptions(oIdx).callback = 'ert_callback_handler';
- rtwoptions(oIdx).tooltip = sprintf([...
- 'Selected, raise an error if the generated code contains\n',...
- 'floating point data types, and do not include floating\n',...
- 'point utilities in the code generation runtime libsrc library.']);
-
- oIdx = oIdx + 1;
- rtwoptions(oIdx).prompt = 'Initialize internal data';
- rtwoptions(oIdx).type = 'Checkbox';
- rtwoptions(oIdx).default = 'on';
- rtwoptions(oIdx).tlcvariable = 'ZeroInternalMemoryAtStartup';
- rtwoptions(oIdx).tooltip = sprintf([...
- 'Initialize internal data structures to zero during model\n', ...
- 'registration. Deselecting this option reduces ROM.']);
-
- oIdx = oIdx + 1;
-
- rtwoptions(oIdx).prompt = 'Initialize external I/O data';
- rtwoptions(oIdx).type = 'Checkbox';
- rtwoptions(oIdx).default = 'on';
- rtwoptions(oIdx).tlcvariable = 'ZeroExternalMemoryAtStartup';
- rtwoptions(oIdx).tooltip = sprintf([...
- 'Initialize root I/O data structures to zero during model\n',...
- 'registration. Deselecting this option reduces ROM.']);
-
- oIdx = oIdx + 1;
-
- rtwoptions(oIdx).prompt = 'Terminate function required';
- rtwoptions(oIdx).type = 'Checkbox';
- rtwoptions(oIdx).default = 'on';
- rtwoptions(oIdx).tlcvariable = 'IncludeMdlTerminateFcn';
- rtwoptions(oIdx).makevariable = 'INCLUDE_MDL_TERMINATE_FCN';
- rtwoptions(oIdx).tooltip = sprintf([...
- 'Include a model terminate function.']);
-
- oIdx = oIdx + 1;
-
- % WARNING!
- %
- % NEVER REMOVE THE OPTION CombineOutputUpdateFcns FROM THE UI!
- %
- % REMOVING THE OPTION FROM THE UI RESULTS IN INEFFICIENT GENERATED CODE.
-
- rtwoptions(oIdx).prompt = 'Single output/update function';
- rtwoptions(oIdx).type = 'Checkbox';
- rtwoptions(oIdx).default = 'on';
- rtwoptions(oIdx).tlcvariable = 'CombineOutputUpdateFcns';
- rtwoptions(oIdx).makevariable = 'COMBINE_OUTPUT_UPDATE_FCNS';
- rtwoptions(oIdx).tooltip = sprintf([...
- 'Generate the model output and update routines into a\n',...
- 'single step function.']);
-
- oIdx = oIdx + 1;
-
- rtwoptions(oIdx).prompt = 'Insert block descriptions in code';
- rtwoptions(oIdx).type = 'Checkbox';
- rtwoptions(oIdx).default = 'off';
- rtwoptions(oIdx).tlcvariable = 'InsertBlockDesc';
- rtwoptions(oIdx).tooltip = sprintf([...
- 'Insert the Description field from the Block Properties dialog into the\n', ...
- 'generated C code as a comment. Note that virtual blocks and blocks\n', ...
- 'involved in block reduction optimizations are not included.']);
-
- oIdx = oIdx + 1;
-
- rtwoptions(oIdx).prompt = 'ERT code generation options (2)';
- rtwoptions(oIdx).type = 'Category';
- rtwoptions(oIdx).enable = 'on';
- rtwoptions(oIdx).default = 7; % number of items under this category
-
- oIdx = oIdx + 1;
-
- rtwoptions(oIdx).prompt = 'Create SIL block';
- rtwoptions(oIdx).type = 'Checkbox';
- rtwoptions(oIdx).default = 'off';
- rtwoptions(oIdx).tlcvariable = 'GenerateErtSFunction';
- rtwoptions(oIdx).makevariable = 'GENERATE_ERT_S_FUNCTION';
- rtwoptions(oIdx).tooltip = sprintf([...
- 'Wrap the generated code inside an S-Function block.\n', ...
- 'This allows you to validate the generated code in\n', ...
- 'Simulink.']);
-
- oIdx = oIdx + 1;
- rtwoptions(oIdx).prompt = 'Generate ASAP2 file';
- rtwoptions(oIdx).type = 'Checkbox';
- rtwoptions(oIdx).default = 'off';
- rtwoptions(oIdx).tlcvariable = 'GenerateASAP2';
- rtwoptions(oIdx).makevariable = 'GENERATE_ASAP2';
- rtwoptions(oIdx).tooltip = sprintf([...
- 'Create a ASAM compliant ASAP2 data definition file for the\n',...
- 'generated C code. ASAP2 is a standard interface to production\n',...
- 'systems. The file is used by calibration tools which support\n',...
- 'the standard.']);
-
- oIdx = oIdx + 1;
-
- rtwoptions(oIdx).prompt = 'Initialize floats and doubles to 0.0';
- rtwoptions(oIdx).type = 'Checkbox';
- rtwoptions(oIdx).default = 'on';
- rtwoptions(oIdx).tlcvariable = 'InitFltsAndDblsToZero';
- rtwoptions(oIdx).tooltip = sprintf([...
- 'Control how internal storage for floats and doubles is initialized.\n', ...
- 'When selected, additional code is generated to set float and double\n', ...
- 'storage explicitly to the value 0.0. Otherwise, all internal\n', ...
- 'storage is cleared to the integer bit pattern 0 (that is, all bits\n', ...
- 'are off). If the representation of floating point zero used by your\n', ...
- 'compiler and target CPU is identical to the the integer bit pattern\n', ...
- '0, you can gain efficiency (i.e., less ROM) by not selecting this\n', ...
- 'option.']);
-
- oIdx = oIdx + 1;
-
- rtwoptions(oIdx).prompt = 'Ignore custom storage classes';
- rtwoptions(oIdx).type = 'Checkbox';
- rtwoptions(oIdx).default = 'off';
- rtwoptions(oIdx).tlcvariable = 'IgnoreCustomStorageClasses';
- rtwoptions(oIdx).tooltip = sprintf([...
- 'Treat custom storage classes as ''Auto'' storage class.']);
-
- oIdx = oIdx + 1;
-
- rtwoptions(oIdx).prompt = 'External mode';
- rtwoptions(oIdx).type = 'Checkbox';
- rtwoptions(oIdx).default = 'off';
- rtwoptions(oIdx).tlcvariable = 'ExtMode';
- rtwoptions(oIdx).makevariable = 'EXT_MODE';
- rtwoptions(oIdx).tooltip = sprintf([...
- 'Adds TCP/IP communication support for use with\n',...
- 'Simulink external mode.']);
-
- oIdx = oIdx + 1;
-
- % Reserved for MathWorks internal testing
- rtwoptions(oIdx).prompt = 'External mode testing';
- rtwoptions(oIdx).type = 'NonUI';
- rtwoptions(oIdx).default = '0';
- rtwoptions(oIdx).tlcvariable = 'ExtModeTesting';
- rtwoptions(oIdx).makevariable = 'TMW_EXTMODE_TESTING';
-
- oIdx = oIdx + 1;
-
- rtwoptions(oIdx).prompt = 'Suppress error status in real-time model data structure';
- rtwoptions(oIdx).type = 'Checkbox';
- rtwoptions(oIdx).default = 'off';
- rtwoptions(oIdx).tlcvariable = 'SuppressErrorStatus';
- rtwoptions(oIdx).tooltip = sprintf( ...
- ['By default, the real-time model data structure (rtM)\n', ...
- 'includes an error status field (data type string). This\n', ...
- 'field lets you log and monitor error messages via macros\n', ...
- 'provided for this purpose (see model.h). The error\n', ...
- 'status field is initialized to NULL. If this option is\n', ...
- 'selected, the error status field is not included in rtM.\n', ...
- 'Selecting this option may also cause the real-time\n', ...
- 'object to disappear completely from the generated code.\n', ...
- 'If you do not need to log or monitor error status, select\n', ...
- 'this option.']);
-
- oIdx = oIdx + 1;
-
- rtwoptions(oIdx).prompt = 'Parameter structure';
- rtwoptions(oIdx).type = 'Popup';
- rtwoptions(oIdx).popupstrings = 'Hierarchical|NonHierarchical';
- rtwoptions(oIdx).default = 'Hierarchical';
- rtwoptions(oIdx).tlcvariable = 'InlinedParameterPlacement';
- rtwoptions(oIdx).enable = 'on';
- rtwoptions(oIdx).tooltip = sprintf([...
- 'Hierarchical: Where possible, generate independent\n', ...
- 'parameter data structures for reusable subsystems. \n', ...
- 'NonHierarchical: Generate a single parameter data structure\n', ...
- 'including reusable subsystem level parameters']);
- rtwoptions(oIdx).opencallback = [ ...
- 'obj0Tag = ''Parameter structure_PopupFieldTag'';', ...
- 'obj0 = findobj(DialogFig,''Tag'',obj0Tag);', ...
- 'val = get_param(model, ''RTWInlineParameters'');', ...
- 'set(obj0, ''Enable'', val);', ...
- ];
-
- oIdx = oIdx + 1;
+ rtwoptions(oIdx).prompt = 'C system stack size';
+ rtwoptions(oIdx).type = 'Edit';
+ rtwoptions(oIdx).default = '4096';
+ rtwoptions(oIdx).tlcvariable = 'rppStackSize';
+ rtwoptions(oIdx).makevariable = 'RPP_STACK_SIZE';
+ rtwoptions(oIdx).tooltip = ['Size of the C system stack (in bytes, default 4096).'];
- rtwoptions(oIdx).prompt = 'ERT code generation options (3)';
- rtwoptions(oIdx).type = 'Category';
- rtwoptions(oIdx).enable = 'on';
- rtwoptions(oIdx).default = 6; % number of items under this category
-
oIdx = oIdx + 1;
- rtwoptions(oIdx).prompt = 'Generate an example main program';
- rtwoptions(oIdx).type = 'Checkbox';
- rtwoptions(oIdx).default = 'on';
- rtwoptions(oIdx).tlcvariable = 'GenerateSampleERTMain';
- rtwoptions(oIdx).tooltip = sprintf([...
- 'Generate an example main program demonstrating\n', ...
- 'how to deploy the generated code. The program is\n', ...
- 'generated into ert_main.c.']);
-
- % Enable/disable file name (edit lable and edit field)
- rtwoptions(oIdx).callback = [ ...
- 'DialogFig = get(gcbo,''Parent'');',...
- 'obj0Tag = ''Generate an example main program_CheckboxTag'';', ...
- 'obj1Tag = ''Target operating system_PopupFieldTag'';', ...
- 'obj0 = findobj(DialogFig,''Tag'',obj0Tag);', ...
- 'obj1 = findobj(DialogFig,''Tag'',obj1Tag);', ...
- 'val = get(obj0,''Value'');', ...
- 'if val == 1;val=''on'';else;val=''off'';end;', ...
- 'set(obj1, ''Enable'', val);', ...
- ];
- oIdx = oIdx + 1;
+ rtwoptions(oIdx).prompt = 'C system heap size';
+ rtwoptions(oIdx).type = 'Edit';
+ rtwoptions(oIdx).default = '4096';
+ rtwoptions(oIdx).tlcvariable = 'rppHeapSize';
+ rtwoptions(oIdx).makevariable = 'RPP_HEAP_SIZE';
+ rtwoptions(oIdx).tooltip = ['Size of the C system heap (in bytes, default 4096).'];
- rtwoptions(oIdx).prompt = 'Target operating system';
- rtwoptions(oIdx).type = 'Popup';
- rtwoptions(oIdx).popupstrings = 'BareBoardExample|VxWorksExample';
- rtwoptions(oIdx).default = 'BareBoardExample';
- rtwoptions(oIdx).tlcvariable = 'TargetOS';
- rtwoptions(oIdx).enable = 'on';
- rtwoptions(oIdx).tooltip = sprintf([...
- 'Specify the target operating system. When "BareBoardExample"\n', ...
- 'is selected, the generated ert_main.c contains an example\n', ...
- 'main program, demonstrating how to deploy the generated algorithm\n', ...
- 'code on a bare board (no operating system) real-time target.\n', ...
- 'When "VxWorksExample" is selected, the ert_main.c contains an\n', ...
- 'example main program, demonstrating how to deploy the generated\n', ...
- 'algorithm code on the VxWorks real-time operating system.']);
- % Synchronize with "generating an example main program" option
- rtwoptions(oIdx).opencallback = [ ...
- 'obj0Tag = ''Generate an example main program_CheckboxTag'';', ...
- 'obj1Tag = ''Target operating system_PopupFieldTag'';', ...
- 'obj0 = findobj(DialogFig,''Tag'',obj0Tag);', ...
- 'obj1 = findobj(DialogFig,''Tag'',obj1Tag);', ...
- 'val = get(obj0,''Value'');', ...
- 'if val == 1;val=''on'';else;val=''off'';end;', ...
- 'set(obj1, ''Enable'', val);', ...
- ];
-
oIdx = oIdx + 1;
- rtwoptions(oIdx).prompt = 'Generate reusable code';
- rtwoptions(oIdx).type = 'Checkbox';
- rtwoptions(oIdx).default = 'off';
- rtwoptions(oIdx).tlcvariable = 'MultiInstanceERTCode';
- rtwoptions(oIdx).makevariable = 'MULTI_INSTANCE_CODE';
- rtwoptions(oIdx).tooltip = sprintf([...
- 'Generate reusable/reentrant code. Not selected, the\n',...
- 'generated code statically allocates all necessary\n',...
- 'data and accesses it directly, creating non-reusable\n',...
- 'and non-reentrant code. Selected, non-constant data\n',...
- 'is not allocated for the generated code; rather this\n',...
- 'data must be allocated externally and passed into\n',...
- 'the generated code via function arguments, creating\n',...
- 'reusable and reentrant code.']);
- rtwoptions(oIdx).callback = [ ...
- 'DialogFig = get(gcbo,''Parent'');',...
- 'obj0Tag = ''Generate reusable code_CheckboxTag'';', ...
- 'obj1Tag = ''Reusable code error diagnostic_PopupFieldTag'';', ...
- 'obj2Tag = ''Pass model I/O arguments as structure reference_CheckboxTag'';', ...
- 'obj0 = findobj(DialogFig,''Tag'',obj0Tag);', ...
- 'obj1 = findobj(DialogFig,''Tag'',obj1Tag);', ...
- 'obj2 = findobj(DialogFig,''Tag'',obj2Tag);', ...
- 'val = get(obj0,''Value'');', ...
- 'if val == 1;val=''on'';else;val=''off'';end;', ...
- 'set(obj1, ''Enable'', val);', ...
- 'set(obj2, ''Enable'', val);', ...
- ];
- oIdx = oIdx + 1;
+ rtwoptions(oIdx).prompt = 'Model step task stack size';
+ rtwoptions(oIdx).type = 'Edit';
+ rtwoptions(oIdx).default = '2048';
+ rtwoptions(oIdx).tlcvariable = 'rppModelTaskStack';
+ rtwoptions(oIdx).makevariable = 'RPP_MODEL_TASK_STACK';
+ rtwoptions(oIdx).tooltip = ['Stack size for the model task (in bytes, default 2048).'];
- rtwoptions(oIdx).prompt = 'Pass model I/O arguments as structure reference';
- rtwoptions(oIdx).type = 'Checkbox';
- rtwoptions(oIdx).default = 'off';
- rtwoptions(oIdx).tlcvariable = 'RootIOStructures';
- rtwoptions(oIdx).enable = 'on';
- rtwoptions(oIdx).tooltip = sprintf([...
- 'Specify how the model inputs and outputs are passed\n',...
- 'to the model step functions. Passing by structure\n',...
- 'reference reduces the number of function arguments.\n',...
- 'Selected, the model I/O is passed by structure reference.\n',...
- 'Otherwise, it''s passed as individual arguments.']);
- rtwoptions(oIdx).opencallback = [ ...
- 'obj0Tag = ''Generate reusable code_CheckboxTag'';', ...
- 'obj1Tag = ''Pass model I/O arguments as structure reference_CheckboxTag'';', ...
- 'obj0 = findobj(DialogFig,''Tag'',obj0Tag);', ...
- 'obj1 = findobj(DialogFig,''Tag'',obj1Tag);', ...
- 'val = get(obj0,''Value'');', ...
- 'if val == 1;val=''on'';else;val=''off'';end;', ...
- 'set(obj1, ''Enable'', val);', ...
- ];
-
oIdx = oIdx + 1;
- rtwoptions(oIdx).prompt = 'Reusable code error diagnostic';
- rtwoptions(oIdx).type = 'Popup';
- rtwoptions(oIdx).popupstrings = 'None|Warning|Error';
- rtwoptions(oIdx).default = 'Error';
- rtwoptions(oIdx).tlcvariable = 'MultiInstanceErrorCode';
- rtwoptions(oIdx).enable = 'on';
- rtwoptions(oIdx).tooltip = sprintf([...
- 'Specify the error diagnostic behavior for when\n',...
- 'data defined in the model violates the ability\n',...
- 'to reuse the code.']);
- rtwoptions(oIdx).opencallback = [ ...
- 'obj0Tag = ''Generate reusable code_CheckboxTag'';', ...
- 'obj1Tag = ''Reusable code error diagnostic_PopupFieldTag'';', ...
- 'obj0 = findobj(DialogFig,''Tag'',obj0Tag);', ...
- 'obj1 = findobj(DialogFig,''Tag'',obj1Tag);', ...
- 'val = get(obj0,''Value'');', ...
- 'if val == 1;val=''on'';else;val=''off'';end;', ...
- 'set(obj1, ''Enable'', val);', ...
- ];
-
- oIdx = oIdx + 1;
+ rtwoptions(oIdx).prompt = 'Download compiled binary to RPP.';
+ rtwoptions(oIdx).type = 'Checkbox';
+ rtwoptions(oIdx).default = 'off';
+ rtwoptions(oIdx).tlcvariable = 'rppDownload';
+ rtwoptions(oIdx).makevariable = 'RPP_DOWNLOAD';
+ rtwoptions(oIdx).tooltip = ['Download code to RPP board after build.'];
+ rtwoptions(oIdx).callback = '';
- rtwoptions(oIdx).prompt = 'Target floating point math environment';
- rtwoptions(oIdx).type = 'Popup';
- rtwoptions(oIdx).popupstrings = 'ANSI_C|ISO_C';
- rtwoptions(oIdx).default = 'ANSI_C';
- rtwoptions(oIdx).tlcvariable = 'CodeReplacementLibrary';
- rtwoptions(oIdx).tooltip = sprintf([...
- 'If your target compiler supports the ISO C (ISO/IEC 9899:1999)\n', ...
- 'math library, we recommend selecting the ISO C option and \n', ...
- 'setting your compiler''s ISO C flags. This will generate calls \n', ...
- 'to the ISO C functions wherever possible (for example, sqrtf()\n', ...
- 'instead of sqrt() for single precision data) and ensure that\n', ...
- 'you obtain the best performance your target compiler offers. \n', ...
- 'If your target compiler does not support ISO C math library \n', ...
- 'functions, use the ANSI C (ANSI X3.159-1989) option \n', ...
- '(the default).']);
-
oIdx = oIdx + 1;
- rtwoptions(oIdx).prompt = 'ERT code templates';
- rtwoptions(oIdx).type = 'Category';
- rtwoptions(oIdx).enable = 'on';
- rtwoptions(oIdx).default = 5; % number of items under this category
+ rtwoptions(oIdx).prompt = 'Download compiled binary to SDRAM.';
+ rtwoptions(oIdx).type = 'Checkbox';
+ rtwoptions(oIdx).default = 'off';
+%%if isunix
+%% rtwoptions(oIdx).enable = 'on';
+%%else
+%% rtwoptions(oIdx).enable = 'off';
+%%end
+ rtwoptions(oIdx).enable = 'off';
+ rtwoptions(oIdx).tlcvariable = 'rppDownloadToSDRAM';
+ rtwoptions(oIdx).makevariable = 'RPP_DOWNLOAD_TO_SDRAM';
+ rtwoptions(oIdx).tooltip = ['Download the compiled binary to the SDRAM instead of the internal Flash memory.'];
+ rtwoptions(oIdx).callback = '';
oIdx = oIdx + 1;
- rtwoptions(oIdx).prompt = 'Enable custom file banners';
- rtwoptions(oIdx).type = 'NonUI';
- rtwoptions(oIdx).default = '1';
- rtwoptions(oIdx).tlcvariable = 'ERTCustomFileBanners';
+ rtwoptions(oIdx).prompt = 'Use OpenOCD to download the compiled binary';
+ rtwoptions(oIdx).type = 'Checkbox';
+ rtwoptions(oIdx).default = 'off';
+%%if isunix
+%% rtwoptions(oIdx).enable = 'on';
+%%else
+%% rtwoptions(oIdx).enable = 'off';
+%%end
+ rtwoptions(oIdx).enable = 'off';
+ rtwoptions(oIdx).tlcvariable = 'rppUseOpenOCD';
+ rtwoptions(oIdx).makevariable = 'RPP_USE_OPENOCD';
+ rtwoptions(oIdx).tooltip = ['Use the OpenOCD to download the compiled binary instead of the Ti DSS Generic Loader.'];
+ rtwoptions(oIdx).callback = '';
oIdx = oIdx + 1;
- rtwoptions(oIdx).prompt = 'Source file (.c) banner template';
- rtwoptions(oIdx).type = 'Edit';
- rtwoptions(oIdx).default = 'example_banner.tlc';
- rtwoptions(oIdx).tlcvariable = 'ERTSrcFileBannerTemplate';
- rtwoptions(oIdx).tooltip = sprintf([...
- 'Name of source file (*.c) banner template. The location\n',...
- 'of the specified file must be on the TLC include path. See\n',...
- 'example file MATLAB/rtw/c/tlc/mw/example_banner.tlc.']);
-
- oIdx = oIdx + 1;
- rtwoptions(oIdx).prompt = 'Header file (.h) banner template';
- rtwoptions(oIdx).type = 'Edit';
- rtwoptions(oIdx).default = 'example_banner.tlc';
- rtwoptions(oIdx).tlcvariable = 'ERTHdrFileBannerTemplate';
- rtwoptions(oIdx).tooltip = sprintf([...
- 'Name of header file (*.h) banner template. The location\n',...
- 'of the specified file must be on the TLC include path. See\n',...
- 'example file MATLAB/rtw/c/tlc/mw/example_banner.tlc.']);
+ rtwoptions(oIdx).prompt = 'Print model metadata to SCI at start.';
+ rtwoptions(oIdx).type = 'Checkbox';
+ rtwoptions(oIdx).default = 'on';
+ rtwoptions(oIdx).tlcvariable = 'rppPrintMeta';
+ rtwoptions(oIdx).makevariable = 'RPP_PRINT_META';
+ rtwoptions(oIdx).tooltip = ['Print model metadata (model name, compilation time and TLC version) at the start of the model.'];
+ rtwoptions(oIdx).callback = '';
oIdx = oIdx + 1;
- rtwoptions(oIdx).prompt = 'Customize and create source files';
- rtwoptions(oIdx).type = 'NonUI';
- rtwoptions(oIdx).default = '1';
- rtwoptions(oIdx).tlcvariable = 'ERTCreateCustomFiles';
- oIdx = oIdx + 1;
+ % Configure code generation settings
+ rtwgensettings.BuildDirSuffix = '_rpp';
+ rtwgensettings.Version = '1';
+ rtwgensettings.DerivedFrom = 'ert.tlc';
+ rtwgensettings.SelectCallback = 'rpp_select_callback_handler(hDlg, hSrc)';
- rtwoptions(oIdx).prompt = 'File customization template';
- rtwoptions(oIdx).type = 'Edit';
- rtwoptions(oIdx).default = 'example_file_process.tlc';
- rtwoptions(oIdx).tlcvariable = 'ERTCustomFileTemplate';
- rtwoptions(oIdx).tooltip = sprintf([...
- 'Name of template file to create additional and customize\n',...
- 'existing source files. The location of the specified\n',...
- 'file must be on the TLC include path. See example file\n',...
- 'MATLAB/rtw/c/tlc/mw/example_file_process.tlc.']);
-
- %----------------------------------------%
- % Configure code generation settings %
- %----------------------------------------%
-
- rtwgensettings.BuildDirSuffix = '_ert_rtw';
-
- END_RTW_OPTIONS
- %/
-
-%% The content between 'BEGIN_CONFIGSET_TARGET_COMPONENT' and
-%% 'END_CONFIGSET_TARGET_COMPONENT' is for the MathWorks internal use
-%% only. You must remove this section if you intend to use this file
-%% as a template for your own system target development.
-/%
- BEGIN_CONFIGSET_TARGET_COMPONENT
-
- targetComponentClass = 'Simulink.ERTTargetCC';
-
- END_CONFIGSET_TARGET_COMPONENT
- %/
+ END_RTW_OPTIONS
+%/