Supported MATLAB Functions with CMSIS Library for ARM Cortex-A Processors
The Embedded Coder® Support Package for ARM® Cortex®-A Processors provides a code replacement library (CRL) ARM Cortex-A CMSIS to generate calls to CMSIS-DSP library optimized for ARM Cortex-A processors.
For more information on 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
half
data type.If you encounter situations where the ARM Cortex-A CMSIS CRL does not provide code replacements due to the input vector length being below the threshold, you can enable CMSIS function generation for all input lengths. To do this, set the environment variable
DISABLE_ARMCORTEXA_CMSIS_CRL_THRESHOLDS
to true using the following command:setenv('DISABLE_ARMCORTEXA_CMSIS_CRL_THRESHOLDS',true)
Basic Math Operations
Operation | Wrappers calling CMSIS Function | Supported data types | Input/Output specifications | Replaced MATLAB® function or operator |
---|---|---|---|---|
Elementwise real addition |
|
|
| plus |
Real vector offset |
| |||
Elementwise real subtraction |
|
|
| minus |
Elementwise 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 | Function name | Supported data types | Input/Output specifications | Replaced MATLAB function or operator |
---|---|---|---|---|
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 |
|