ERT code generation customization

I want to customize the code generated by ERT target, but i dont know where to start. One of my customization requirement is -- ERT packs the external inputs & outputs in structure in generated code as below
/* External inputs (root inport signals with auto storage) */
typedef struct {
uint8_T U8_Num1; /* '<Root>/U8_Num1' */
uint8_T U8_Num2; /* '<Root>/U8_Num2' */
} ExternalInputs_cmp;
/* External outputs (root outports fed by signals with auto storage) */
typedef struct {
uint16_T U16_ProductOut; /* '<Root>/U16_ProductOut' */
boolean_T B_CompRes; /* '<Root>/B_CompRes' */
} ExternalOutputs_cmp;
I want to use external ips and ops names (eg. U8_Num1 and U8_Num2) as global variable in my code. So generated code should process them as it is
uint8_T U8_Num1; /* '<Root>/U8_Num1' */
uint8_T U8_Num2; /* '<Root>/U8_Num2' */
I want to know which TLCs should be modified and how? Can someone help? Thanks.

 Risposta accettata

Kaustubha Govind
Kaustubha Govind il 8 Ago 2011

1 voto

You shouldn't need to modify TLC files to do this. You only have to specify the right storage class for your input/output signals. See Interfacing Signals to External Code for documentation.
Here's what you should do:
  1. Right click on an input/signal signal (make sure you click on the signal - not inport/outport block)
  2. Select "Signal Properties"
  3. In the dialog window, enter a name (eg. U8_Num1) for "Signal Name"
  4. In the "Code Generation" tab, select storage class as ImportedExtern or ExportedGlobal (for ImportedExtern, you need to provide a header with the declarations)
  5. The generated datatype is the same as the one specified on the inport/outport block

3 Commenti

TAB
TAB il 9 Ago 2011
Thanks,
how can we create local variables. I need the variable to be declared locally in the same function rather than being the extern.
Guilherme T Silva
Guilherme T Silva il 15 Feb 2019
Modificato: Guilherme T Silva il 15 Feb 2019
You can try the Localizable storage class:

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Simulink Coder in Centro assistenza e File Exchange

Prodotti

Tag

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by