MATLAB: Am I not able to see calls to “arm_fir” in generated code when using ARM Cortex-M support packages for Embedded Coder and DSP System Toolbox

armcmsiscortex-mcrldspmatlab coder

I'm unable to observe any CMSIS code when generating code for the dsp.FIRFilter system object. Ihave the Embedded Coder support package for ARM Cortex-M Processors as well as the DSP System Toolbox support package for ARM Cortex-M Processors.
When I use the following example – https://www.mathworks.com/help/supportpkg/armcortexmdst/examples/verify-fir-filter-on-arm-cortex-m-processor-in-matlab.html, I observe calls to functions like "arm_fir_…". So I can confirm that the support package does indeed work, but when I try to generate code for my customer function, I don't see any calls to functions from the ARM (CMSIS) library.
How do I generate code that contains calls to "arm_fir_"?

Best Answer

In your code, please consider making the dsp.FIRFilter object persistent. If this object is not made persistent, MATLAB Coder optimizes out the variable and there will be no calls made to "arm_fir". Please also note that, as of MATLAB R2019a, the DSP System Toolbox support package for ARM Cortex-M Processors is no longer required to generate CMSIS code. It is sufficient to use the Embedded Coder support package for ARM Cortex-M Processors.