| Contents | Index |
#pragma IO-begin
ExternalInputs_mySample mySample_U;
#pragma IO-end
#pragma IO-begin
ExternalOutputs_mySample mySample_Y;
#pragma IO-end
#pragma InData-begin(mySample_B)
BlockIO_mySample mySample_B;
#pragma InData-end
#pragma InData-begin(mySample_DWork)
D_Work_mySample mySample_DWork;
#pragma InData-end
#pragma InData-begin(mySample_M_)
RT_MODEL_mySample mySample_M_;
#pragma InData-end
#pragma InData-begin(mySample_M)
RT_MODEL_mySample *mySample_M = &mySample_M_;
#pragma InData-end
#pragma Parameters-begin
Parameters_mySample mySample_P = {
0.0 , {2.3}
};
#pragma Parameters-end#pragma ExecFunc-begin(mySample_step)
void mySample_step(void)
{
real_T rtb_UnitDelay;
rtb_UnitDelay = mySample_DWork.UnitDelay_DSTATE;
mySubsystem(rtb_UnitDelay, &mySample_B.mySubsystem;,
(rtP_mySubsystem *) &mySample_P.mySubsystem);
mySample_Y.Out1_o = mySample_B.mySubsystem.Gain;
mySample_DWork.UnitDelay_DSTATE = mySample_U.In1;
}
#pragma ExecFunc-end(mySample_step)
#pragma InitTerminate-begin
void mySample_initialize(void)
{
rtmSetErrorStatus(mySample_M, (const char_T *)0);
{
((real_T*)&mySample_B.mySubsystem.Gain)[0] = 0.0;
}
mySample_DWork.UnitDelay_DSTATE = 0.0;
mySample_U.In1 = 0.0;
mySample_Y.Out1_o = 0.0;
mySample_DWork.UnitDelay_DSTATE = mySample_P.UnitDelay_X0;
}
#pragma InitTerminate-endBecause the subsystem specifies a memory section for execution functions that overrides that of the parent model, subsystem code looks like this:
/* File: mySubsystem.c */
#pragma DATA_SEC(mySubsystem, "FAST_RAM")
void mySubsystem(real_T rtu_In1,
rtB_mySubsystem *localB,
rtP_mySubsystem *localP)
{
localB->Gain = rtu_In1 * localP->Gain_Gain;
}If the subsystem had not defined its own memory section for execution functions, but inherited that of the parent model, the subsystem code would have looked like this:
/* File: mySubsystem.c */
#pragma ExecFunc-begin(mySubsystem)
void mySubsystem(real_T rtu_In1,
rtB_mySubsystem *localB,
rtP_mySubsystem *localP)
{
localB->Gain = rtu_In1 * localP->Gain_Gain;
}
#pragma ExecFunc-end(mySubsystem)
![]() | Generated Code with Memory Sections | Memory Section Limitation | ![]() |

Learn more about Simulink through this collection of videos, articles, technical literature and the Getting Started with Simulink Guide.
| © 1984-2012- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |