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.

 채택된 답변

Kaustubha Govind
Kaustubha Govind 2011년 8월 8일

1 개 추천

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

TAB
TAB 2011년 8월 9일
Thanks,
Naini Dawar
Naini Dawar 2017년 3월 14일
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 2019년 2월 15일
편집: Guilherme T Silva 2019년 2월 15일
You can try the Localizable storage class:

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Simulink Coder에 대해 자세히 알아보기

태그

질문:

TAB
2011년 8월 8일

편집:

2019년 2월 15일

Community Treasure Hunt

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

Start Hunting!

Translated by