setTflCSemaphoreEntryParameters
Set specified parameters for semaphore entry in code replacement table
Description
Examples
This example shows how to use the
                        setTflCSemaphoreEntryParameters function to set specified
                    parameters for a code replacement table entry for a semaphore initialization
                    replacement.
sem_entry = RTW.TflCSemaphoreEntry; sem_entry.setTflCSemaphoreEntryParameters( ... 'Key', 'RTW_SEM_INIT', ... 'Priority', 100, ... 'ImplementationName', 'mySemCreate', ... 'ImplementationHeaderFile', 'mySem.h', ... 'ImplementationSourceFile', 'mySem.c', ... 'GenCallback', 'RTW.copyFileToBuildDir', ... 'SideEffects', true);
Input Arguments
The hEntry is a handle to a code replacement
                        library semaphore entry previously returned by
                                hEntry =
                            RTW.TflCSemaphoreEntry;
Example: sem_entry
Example: 'Key','RTW_SEM_INIT'
Name-Value Arguments
Specify optional pairs of arguments as
      Name1=Value1,...,NameN=ValueN, where Name is
      the argument name and Value is the corresponding value.
      Name-value arguments must appear after other arguments, but the order of the
      pairs does not matter.
    
      Before R2021a, use commas to separate each name and value, and enclose 
      Name in quotes.
    
Example: 'Key','RTW_SEM_INIT'
The AcceptExprInput value flags the code
                            generator that the implementation function described by this entry
                            accepts expression inputs. The default value is true
                            if ImplType equals FCN_IMPL_FUNCT
                            and false if ImplType equals
                                FCN_IMPL_MACRO.
If the value is true, expression inputs are
                            integrated into the generated code in a form similar to this
                            form:
rtY.Out1 = mySin(rtU.In1 + rtU.In2);
If the value is false, a temporary variable is
                            generated for the expression input:
real_T rtb_Sum; rtb_Sum = rtU.In1 + rtU.In2; rtY.Out1 = mySin(rtb_Sum);
Example: 'AcceptExprInput',true
The AdditionalHeaderFiles value specifies
                            additional header files for a code replacement table entry. The
                            character vectors or string array can include tokens. For example, in
                            the token $mytoken$, mytoken is a
                            variable defined as a character vector or string scalar in the
                                MATLAB® workspace or as a MATLAB function in the search path that returns a character
                            vector.
Example: 'AdditionalHeaderFiles',{}
The AdditionalIncludePaths value specifies
                            the full path of additional include paths for a code replacement entry.
                            The character vectors or string array can include tokens. For example,
                            in the token $mytoken$, mytoken is
                            a variable defined as a character vector or string scalar in the
                                MATLAB workspace or as a MATLAB function in the search path that returns a character
                            vector.
Example: 'AdditionalIncludePaths',{}
The AdditionalLinkObjs value specifies
                            additional link objects for a code replacement table entry. The
                            character vectors or string array can include tokens. For example, in
                            the token $mytoken$, mytoken is a
                            variable defined as a character vector or string scalar in the
                                MATLAB workspace or as a MATLAB function in the search path that returns a character
                            vector.
Example: 'AdditionalLinkObjs',{}
The AdditionalLinkObjsPaths value specifies
                            the full path of additional link object paths for a code replacement
                            entry. The character vectors or string array can include tokens. For
                            example, in the token $mytoken$,
                                mytoken is a variable defined as a character
                            vector or string scalar in the MATLAB workspace or as a MATLAB function in the search path that returns a character
                            vector.
Example: 'AdditionalLinkObjsPaths',{}
The AdditionalSourceFiles value specifies
                            additional source files for a code replacement table entry. The
                            character vectors or string array can include tokens. For example, in
                            the token $mytoken$, mytoken is a
                            variable defined as a character vector or string scalar in the
                                MATLAB workspace or as a MATLAB function in the search path that returns a character
                            vector.
Example: 'AdditionalSourceFiles',{}
The AdditionalSourcePaths value specifies
                            the full path of additional source paths for a code replacement entry.
                            The character vectors or string array can include tokens. For example,
                            in the token $mytoken$, mytoken is
                            a variable defined as a character vector or string scalar in the
                                MATLAB workspace or as a MATLAB function in the search path that returns a character
                            vector. The default is {}.
Example: 'AdditionalSourcePaths',{}
The AdditionalCompileFlags value specifies
                            additional flags required to compile the source files defined for a code
                            replacement table entry.
Example: 'AdditionalCompileFlags',{}
The AdditionalLinkFlags value specifies
                            additional flags required to link the compiled files for a code
                            replacement table entry.
Example: 'AdditionalLinkFlags',{}
The GenCallback specifies a callback that
                            follows code generation. If you specify
                                'RTW.copyFileToBuildDir', and if this function
                            entry is matched and used, the function
                                RTW.copyFileToBuildDir is called after code
                            generation. This callback function copies additional header, source, or
                            object files that you have specified for this function entry to the
                            build folder.
Example: 'GenCallback',''
The ImplementationHeaderFile value
                            specifies the name of the header file that declares the implementation
                            function. The character vector or string scalar can include tokens. For
                            example, in the token $mytoken$,
                                mytoken is a variable defined as a character
                            vector or string scalar in the MATLAB workspace or as a MATLAB function in the search path that returns a character
                            vector.
Example: 'ImplementationHeaderFile','<math.h>'
The ImplementationHeaderPath value
                            specifies the full path to the implementation header file. The character
                            vector or string scalar can include tokens. For example, in the token
                                $mytoken$, mytoken is a
                            variable defined as a character vector or string scalar in the
                                MATLAB workspace or as a MATLAB function in the search path that returns a character
                            vector.
Example: 'ImplementationHeaderPath',''
The ImplementationName value specifies the
                            name of the implementation function, which can match or differ from the
                                Key name.
Example: 'ImplementationName','sqrt'
The ImplementationSourceFile value
                            specifies the name of the implementation source file. The character
                            vector or string scalar can include tokens. For example, in the token
                                $mytoken$, mytoken is a
                            variable defined as a character vector or string scalar in the
                                MATLAB workspace or as a MATLAB function in the search path that returns a character
                            vector.
Example: 'ImplementationSourceFile',''
The ImplementationSourcePath value
                            specifies the full path to the implementation source file. The character
                            vector or string scalar can include tokens. For example, in the token
                                $mytoken$, mytoken is a
                            variable defined as a character vector or string scalar in the
                                MATLAB workspace or as a MATLAB function in the search path that returns a character
                            vector.
Example: 'ImplementationSourcePath',''
The ImplType value specifies the type of
                            table entry. Use FCN_IMPL_FUNCT for function or
                                FCN_IMPL_MACRO for macro.
Example: 'ImplType','FCN_IMPL_FUNCT'
The Key value specifies the key for the
                            operator to replace. The name must match a function name listed in Code You Can Replace from MATLAB Code or Code You Can Replace From Simulink Models.
Example: 'Key','RTW_OP_ADD'
The Priority value specifies the search
                            priority of the function entry, relative to other entries of the same
                            function name and conceptual argument list within this table. Highest
                            priority is 0, and lowest priority is 100. The default is 100. If the
                            table provides two implementations for a function, the implementation
                            with the higher priority shadows the one with the lower priority.
Example: 'Priority',100
The RoundingModes value specifies one or
                            more rounding modes supported by the implementation function.
Example: 'RoundingModes',{'RTW_ROUND_UNSPECIFIED'}
The SaturationMode value specifies the
                            saturation mode supported by the implementation function.
Example: 'SaturationMode','RTW_SATURATE_UNSPECIFIED'
The SideEffects value flags the code
                     generator not to optimize away the implementation function described by this
                     entry. This parameter applies to implementation functions that return
                        void but are not to be optimized away, such as a
                        memcpy implementation or an implementation function
                     that accesses global memory values. For those implementation functions only,
                     you must include this parameter and specify the value
                     true.
Example: 'SideEffects',false
The StoreFcnReturnInLocalVar value flags
                            the code generator that the return value of the implementation function
                            described by this entry must be stored in a local variable regardless of
                            other expression folding settings. If the value is
                                false, other expression folding settings
                            determine whether the return value is folded. Storing function returns
                            in a local variable can increase the clarity of generated code. This
                            example shows code generated with expression folding:
void sw_step(void)
{
    if (ssub(sadd(sw_U.In1, sw_U.In2), sw_U.In3) <= 
        smul(ssub(sw_U.In4, sw_U.In5),sw_U.In6)) {  
      sw_Y.Out1 = sw_U.In7;  
    } else {
       sw_Y.Out1 = sw_U.In8;  
    }
}With StoreFcnReturnInLocalVar set to
                                true, the generated code is potentially easier to
                            understand and debug:
void sw_step(void)
{  
    real32_T rtb_Switch;  
    real32_T hoistedExpr;
    ......  
    rtb_Switch = sadd(sw_U.In1, sw_U.In2);
    rtb_Switch = ssub(rtb_Switch, sw_U.In3);
    hoistedExpr = ssub(sw_U.In4, sw_U.In5); 
    hoistedExpr = smul(hoistedExpr, sw_U.In6);  
    if (rtb_Switch <= hoistedExpr) {
       sw_Y.Out1 = sw_U.In7;  
    } else { 
       sw_Y.Out1 = sw_U.In8;  
    }
}Example: 'StoreFcnReturnInLocalVar',false
Version History
Introduced in R2013a
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Seleziona un sito web
Seleziona un sito web per visualizzare contenuto tradotto dove disponibile e vedere eventi e offerte locali. In base alla tua area geografica, ti consigliamo di selezionare: .
Puoi anche selezionare un sito web dal seguente elenco:
Come ottenere le migliori prestazioni del sito
Per ottenere le migliori prestazioni del sito, seleziona il sito cinese (in cinese o in inglese). I siti MathWorks per gli altri paesi non sono ottimizzati per essere visitati dalla tua area geografica.
Americhe
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)