Overview

DSP library for dsPIC33 Device family compatible with CMSIS-DSP APIs

dspic33-cmsis-dsp is a software library for achieving DSP functionality.

This library provides optimized compute features specifically for dsPIC33 cores.

Functions provided by dspic33-cmsis-dsp library:

  • Basic mathematics
  • Filtering functions
  • Complex mathematics
  • Transforms
  • Matrix
  • Statistics

Functions are provided with datatype: f32, q31.

1 Operating Environment

  • MPLAB® X IDE v6.30 or later
  • MPLAB® XCDSC Compiler v3.31.00 or later
  • Microchip Device Family Pack (DFP) for dsPIC33A - Latest available version recommended

2 Documentation Support

API reference that describes the functions, macros, typedefs, enums, and data structures of the dspic33-cmsis-dsp library with dsPIC33 devices in MPLAB® X IDE is documented in the dspic33-cmsis-dsp Library API Reference.

3 Distribution & Usage

Distribution Mechanism

dspic33-cmsis-dsp library is distributed as a pre-compiled library file along with the corresponding header files, example projects and source files. The library is provided for direct integration into MPLAB® X projects targeting dsPIC33 devices.

Support

Currently, this library supports for only dsPIC33A core devices. Other core devices support will be updated in further releases.

Usage

To use the CMSIS‑DSP‑MCHP library in an MPLAB® X project:

  • Download the dspic33-cmsis-dsp library from its official distribution source.
  • Add the required dspic33-cmsis-dsp library file and header files to the MPLAB® X project.
  • Ensure the project include paths and library paths are correctly configured so the compiler and linker can locate the dspic33-cmsis-dsp library files.

This distribution and usage model allows dspic33-cmsis-dsp library to be integrated seamlessly into existing MPLAB® X–based dsPIC33 applications without additional installation steps.

4 What's New

This is the initial version of dspic33-cmsis-dsp for use with dsPIC33 devices.

5 MISRA C:2012 Compliance Report

The dspic33-cmsis-dsp library for the dsPIC33 device family is developed to align with MISRA‑C:2012 guidelines and is validated against all Mandatory and Required rules where applicable. This helps ensure robust, portable, and maintainable code for industrial and embedded DSP applications.

Full compliance with every MISRA‑C:2012 rule is not always feasible due to the nature of DSP algorithms, performance‑critical implementations, and low‑level, target‑specific optimizations. As a result, selected rule deviations may be present.

A dedicated document provides a detailed list of MISRA‑C:2012 deviations, including the rationale for each deviation in the context of the dspic33-cmsis-dsp library implementation.

Table 5-1. MISRA C Compliance: Deviation list
Rule(Type)File NameDescriptionDeviation Scenario
21.1 (Required)mchp_math_types.h#define and #undef directives shall not be used on a reserved identifier or reserved macro name.

dspic33-cmsis-dsp library redefines standard math type macros to match dsPIC33 architecture requirements, ensuring CMSIS‑DSP API compatibility without affecting application code.

The dspic33-cmsis-dsp library is analyzed using the “MISRA Check” static analysis tool available in MPLAB® X IDE, ensuring consistent and repeatable assessment of MISRA‑C:2012 compliance.