Supported MATLAB Functions with CMSIS Library for ARM Cortex-A Processors
Embedded Coder® Support Package for ARM® Cortex®-A Processors provides a code replacement library (CRL), ARM Cortex-A CMSIS, to generate calls to the CMSIS-DSP library optimized for ARM Cortex-A processors.
For more information on the CMSIS-DSP library, see https://github.com/ARM-software/CMSIS-DSP.
Note
ARM Cortex-A CMSIS CRL supports both 32-bit and 64-bit ARM Cortex-A architectures.
Only 64-bit ARM Cortex-A architectures support the
halfdata type.When the ARM Cortex-A CMSIS CRL does not provide code replacements because the input vector length is below the threshold, you can enable CMSIS function generation for all input lengths. To enable this option, set the environment variable
DISABLE_ARMCORTEXA_CMSIS_CRL_THRESHOLDSto true using the following command:setenv('DISABLE_ARMCORTEXA_CMSIS_CRL_THRESHOLDS','true')To generate optimized code, thresholds are introduced . Forcing CMSIS function generation for all input lengths using this command can degrade performance.
Basic Math Operations
| Operation | Wrappers Calling CMSIS Function | Supported Data Types | Input/Output Specifications | Replaced MATLAB® Function or Operator |
|---|---|---|---|---|
| Element-wise real addition |
|
|
| plus |
| Real vector offset |
| |||
| Element-wise real subtraction |
|
|
| minus |
| Element-wise real multiplication |
|
|
Fixed-point real element-wise multiplication:
| |
| Real vector scale |
| mpy (Fixed-Point Designer) | ||
| Real absolute |
|
|
| abs |
| Real dot product |
|
|
Fixed-point real dot product:
| dot |
| Vector log real |
|
|
| log |
| Vector exponential real |
|
|
| exp |
Complex Math Operations
| Operation | Wrappers Calling CMSIS Function | Supported Data Types | Input/Output Specifications | Replaced MATLAB Function or Operator |
|---|---|---|---|---|
| Complex dot product |
|
|
| dot |
| Complex-by-complex multiplication |
|
|
| mtimes |
| Complex-by-real multiplication |
|
|
| mtimes |
Matrix Operations
| Operation | Wrappers Calling CMSIS Function | Supported Data Types | Input/Output Specifications | Replaced MATLAB Function or Operator |
|---|---|---|---|---|
| Matrix multiplication |
|
|
| mtimes |
| Complex matrix multiplication |
|
|
| mtimes |
| Matrix transpose |
|
|
| transpose |
| Complex matrix transpose |
|
|
| ctranspose |
| Matrix-by-vector multiplication | neon_mv_mul_u8x16 | uint8 |
| mtimes |
neon_mv_mul_u16x8 | uint16 |
| ||
neon_mv_mul_u32x4 | uint32 |
| ||
| Matrix-by-matrix multiplication | neon_mm_mul_u16x8 | uint16 |
| |
neon_mm_mul_u32x4 | uint32 |
|
See Also
Supported Simulink Blocks with CMSIS Library for ARM Cortex-A Processors