The DSP Library for dsPIC33C DSCs is a comprehensive suite of Digital Signal Processing (DSP) functions designed to facilitate the development of high-performance signal processing applications. By utilizing pre-built functions which are optimized to take advantage of the dsPIC33C DSC architecture, you can substantially decrease your development time while improving the efficiency and precision of your signal processing tasks.
The DSP ISA support in the dsPIC33C family includes specialized instructions for DSP tasks. These instructions are optimized for operations such as single cycle multiply-accumulate (MAC), and the library leverages these instructions for efficient execution of algorithms.
List of Supported Mathematical and Signal Processing Functions:
DSP Library Usage in C Code Applications
The DSP library for dsPIC33C devices comes pre-installed with the MPLAB® XC-DSC compiler, located at its install directory. The DSP libraries for dsPIC33C devices are bundled with the MPLAB XC-DSC compiler. Within the respective install directory, the library and its related files can be found at:
Building An Application with the DSP Library
Building an application which utilizes the DSP Library requires only two files: dsp.h and libdsp-elf.a. dsp.h is a header file which provides all the function prototypes, #defines and typedefs used by the library. libdsp-elf.a is the archived library file which contains all the individual object files for each library function.
(See the MPLAB® XC-DSC Libraries Reference Manual)
Title | Product |
Title |
---|---|---|
dsPIC33CK512MP708
ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC
|
dsPIC33CK512MP708 | ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC |
dsPIC33CK512MP706
ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC
|
dsPIC33CK512MP706 | ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC |
dsPIC33CK512MP710
ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC
|
dsPIC33CK512MP710 | ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC |
dsPIC33CK64MC102
100 MHz High Performance DSC
|
dsPIC33CK64MC102 | 100 MHz High Performance DSC |
dsPIC33CK64MP506
100MHz High-Performance DSC
|
dsPIC33CK64MP506 | 100MHz High-Performance DSC |
dsPIC33CK512MP705
ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC
|
dsPIC33CK512MP705 | ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC |
dsPIC33CK64MP103
100MHz High-Performance DSC
|
dsPIC33CK64MP103 | 100MHz High-Performance DSC |
dsPIC33CK64MP508
100MHz High-Performance DSC
|
dsPIC33CK64MP508 | 100MHz High-Performance DSC |
dsPIC33CK256MC102
100 MHz High Performance DSC
|
dsPIC33CK256MC102 | 100 MHz High Performance DSC |
dsPIC33CK256MC105
100 MHz High Performance DSC
|
dsPIC33CK256MC105 | 100 MHz High Performance DSC |
dsPIC33CK256MC502
100 MHz High Performance DSC
|
dsPIC33CK256MC502 | 100 MHz High Performance DSC |
dsPIC33CK64MC105
100 MHz High Performance DSC
|
dsPIC33CK64MC105 | 100 MHz High Performance DSC |
dsPIC33CK64MC103
100 MHz High Performance DSC
|
dsPIC33CK64MC103 | 100 MHz High Performance DSC |
dsPIC33CH128MP203
Dual Core, Two DSCs on One Chip
|
dsPIC33CH128MP203 | Dual Core, Two DSCs on One Chip |
dsPIC33CH128MP503
Dual Core, Two DSCs on One Chip
|
dsPIC33CH128MP503 | Dual Core, Two DSCs on One Chip |
dsPIC33CH128MP202
Dual Core, Two DSCs on One Chip
|
dsPIC33CH128MP202 | Dual Core, Two DSCs on One Chip |
dsPIC33CK64MP203
100MHz High-Performance DSC
|
dsPIC33CK64MP203 | 100MHz High-Performance DSC |
dsPIC33CK256MP606
100 MHz Single-Core DSC
|
dsPIC33CK256MP606 | 100 MHz Single-Core DSC |
dsPIC33CK128MP205
100MHz High-Performance DSC
|
dsPIC33CK128MP205 | 100MHz High-Performance DSC |
dsPIC33CK64MP502
100MHz High-Performance DSC
|
dsPIC33CK64MP502 | 100MHz High-Performance DSC |
dsPIC33CK128MP202
100MHz High-Performance DSC
|
dsPIC33CK128MP202 | 100MHz High-Performance DSC |
dsPIC33CK32MP505
100MHz High-Performance DSC
|
dsPIC33CK32MP505 | 100MHz High-Performance DSC |
dsPIC33CH128MP208
Dual Core, Two DSCs on One Chip
|
dsPIC33CH128MP208 | Dual Core, Two DSCs on One Chip |
dsPIC33CK32MP503
100MHz High-Performance DSC
|
dsPIC33CK32MP503 | 100MHz High-Performance DSC |
dsPIC33CK256MC106
100 MHz High Performance DSC
|
dsPIC33CK256MC106 | 100 MHz High Performance DSC |
dsPIC33CH512MP506
Dual Core, Two DSCs on One Chip
|
dsPIC33CH512MP506 | Dual Core, Two DSCs on One Chip |
dsPIC33CK128MP503
100MHz High-Performance DSC
|
dsPIC33CK128MP503 | 100MHz High-Performance DSC |
dsPIC33CH64MP203
Dual Core, Two DSCs on One Chip
|
dsPIC33CH64MP203 | Dual Core, Two DSCs on One Chip |
dsPIC33CH512MP508
Dual Core, Two DSCs on One Chip
|
dsPIC33CH512MP508 | Dual Core, Two DSCs on One Chip |
dsPIC33CH64MP205
Dual Core, Two DSCs on One Chip
|
dsPIC33CH64MP205 | Dual Core, Two DSCs on One Chip |
dsPIC33CK256MP505
100MHz High-Performance DSC
|
dsPIC33CK256MP505 | 100MHz High-Performance DSC |
dsPIC33CK512MP305
100 MHz Single-Core DSC
|
dsPIC33CK512MP305 | 100 MHz Single-Core DSC |
dsPIC33CK512MP405
ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC
|
dsPIC33CK512MP405 | ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC |
dsPIC33CK256MP506
100MHz High-Performance DSC
|
dsPIC33CK256MP506 | 100MHz High-Performance DSC |
dsPIC33CK256MP605
100 MHz Single-Core DSC
|
dsPIC33CK256MP605 | 100 MHz Single-Core DSC |
dsPIC33CK1024MP406
ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC
|
dsPIC33CK1024MP406 | ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC |
dsPIC33CK256MP508
100MHz High-Performance DSC
|
dsPIC33CK256MP508 | 100MHz High-Performance DSC |
dsPIC33CK1024MP410
ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC
|
dsPIC33CK1024MP410 | ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC |
dsPIC33CK256MP502
100MHz High-Performance DSC
|
dsPIC33CK256MP502 | 100MHz High-Performance DSC |
dsPIC33CH256MP208
Dual Core, Two DSCs on One Chip
|
dsPIC33CH256MP208 | Dual Core, Two DSCs on One Chip |
dsPIC33CK256MP406
ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC
|
dsPIC33CK256MP406 | ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC |
dsPIC33CH512MP205
Dual Core, Two DSCs on One Chip
|
dsPIC33CH512MP205 | Dual Core, Two DSCs on One Chip |
dsPIC33CH128MP506
Dual Core, Two DSCs on One Chip
|
dsPIC33CH128MP506 | Dual Core, Two DSCs on One Chip |
dsPIC33CK64MP206
100MHz High-Performance DSC
|
dsPIC33CK64MP206 | 100MHz High-Performance DSC |
dsPIC33CK64MP105
100MHz High-Performance DSC
|
dsPIC33CK64MP105 | 100MHz High-Performance DSC |
dsPIC33CK256MC506
100 MHz High Performance DSC
|
dsPIC33CK256MC506 | 100 MHz High Performance DSC |
dsPIC33CK256MPT608
100 MHz Secure DSC with Integrated HSM
|
dsPIC33CK256MPT608 | 100 MHz Secure DSC with Integrated HSM |
dsPIC33CK512MPT608
100 MHz Secure DSC with Integrated HSM
|
dsPIC33CK512MPT608 | 100 MHz Secure DSC with Integrated HSM |
dsPIC33CK128MP508
100MHz High-Performance DSC
|
dsPIC33CK128MP508 | 100MHz High-Performance DSC |
dsPIC33CK128MP506
100MHz High-Performance DSC
|
dsPIC33CK128MP506 | 100MHz High-Performance DSC |
dsPIC33CK64MP102
100 MHz Single-Core 16-bit DSC
|
dsPIC33CK64MP102 | 100 MHz Single-Core 16-bit DSC |
dsPIC33CK32MP102
100MHz High-Performance DSC
|
dsPIC33CK32MP102 | 100MHz High-Performance DSC |
dsPIC33CK32MC105
100 MHz High Performance DSC
|
dsPIC33CK32MC105 | 100 MHz High Performance DSC |
dsPIC33CK64MP202
100MHz High-Performance DSC
|
dsPIC33CK64MP202 | 100MHz High-Performance DSC |
dsPIC33CK32MP202
100MHz High-Performance DSC
|
dsPIC33CK32MP202 | 100MHz High-Performance DSC |
dsPIC33CK256MP306
100 MHz Single-Core DSC
|
dsPIC33CK256MP306 | 100 MHz Single-Core DSC |
dsPIC33CK32MP103
100MHz High-Performance DSC
|
dsPIC33CK32MP103 | 100MHz High-Performance DSC |
dsPIC33CK32MP205
100MHz High-Performance DSC
|
dsPIC33CK32MP205 | 100MHz High-Performance DSC |
dsPIC33CH512MP505
Dual Core, Two DSCs on One Chip
|
dsPIC33CH512MP505 | Dual Core, Two DSCs on One Chip |
dsPIC33CH512MP208
Dual Core, Two DSCs on One Chip
|
dsPIC33CH512MP208 | Dual Core, Two DSCs on One Chip |
dsPIC33CK128MP505
100MHz High-Performance DSC
|
dsPIC33CK128MP505 | 100MHz High-Performance DSC |
dsPIC33CK512MP406
ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC
|
dsPIC33CK512MP406 | ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC |
dsPIC33CK512MP306
100 MHz Single-Core DSC
|
dsPIC33CK512MP306 | 100 MHz Single-Core DSC |
dsPIC33CK512MP606
100 MHz Single-Core DSC
|
dsPIC33CK512MP606 | 100 MHz Single-Core DSC |
dsPIC33CK1024MP408
ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC
|
dsPIC33CK1024MP408 | ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC |
dsPIC33CH256MP505
Dual Core, Two DSCs on One Chip
|
dsPIC33CH256MP505 | Dual Core, Two DSCs on One Chip |
dsPIC33CH256MP206
Dual Core, Two DSCs on One Chip
|
dsPIC33CH256MP206 | Dual Core, Two DSCs on One Chip |
dsPIC33CH256MP205
Dual Core, Two DSCs on One Chip
|
dsPIC33CH256MP205 | Dual Core, Two DSCs on One Chip |
dsPIC33CH256MP508
Dual Core, Two DSCs on One Chip
|
dsPIC33CH256MP508 | Dual Core, Two DSCs on One Chip |
dsPIC33CK256MP706
ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC
|
dsPIC33CK256MP706 | ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC |
dsPIC33CK64MP505
100MHz High-Performance DSC
|
dsPIC33CK64MP505 | 100MHz High-Performance DSC |
dsPIC33CK256MP408
ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC
|
dsPIC33CK256MP408 | ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC |
dsPIC33CK128MC505
100 MHz High Performance DSC
|
dsPIC33CK128MC505 | 100 MHz High Performance DSC |
dsPIC33CK1024MP706
ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC
|
dsPIC33CK1024MP706 | ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC |
dsPIC33CK128MC102
100 MHz High Performance DSC
|
dsPIC33CK128MC102 | 100 MHz High Performance DSC |
dsPIC33CK256MP202
100MHz High-Performance DSC
|
dsPIC33CK256MP202 | 100MHz High-Performance DSC |
dsPIC33CK1024MP710
ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC
|
dsPIC33CK1024MP710 | ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC |
dsPIC33CK256MP208
100MHz High-Performance DSC
|
dsPIC33CK256MP208 | 100MHz High-Performance DSC |
dsPIC33CK256MP205
100MHz High-Performance DSC
|
dsPIC33CK256MP205 | 100MHz High-Performance DSC |
dsPIC33CK256MP305
100 MHz Single-Core DSC
|
dsPIC33CK256MP305 | 100 MHz Single-Core DSC |
dsPIC33CH128MP206
Dual Core, Two DSCs on One Chip
|
dsPIC33CH128MP206 | Dual Core, Two DSCs on One Chip |
dsPIC33CH128MP502
Dual Core, Two DSCs on One Chip
|
dsPIC33CH128MP502 | Dual Core, Two DSCs on One Chip |
dsPIC33CH64MP508
Dual Core, Two DSCs on One Chip
|
dsPIC33CH64MP508 | Dual Core, Two DSCs on One Chip |
dsPIC33CH64MP502
Dual Core, Two DSCs on One Chip
|
dsPIC33CH64MP502 | Dual Core, Two DSCs on One Chip |
dsPIC33CH128MP205
Dual Core, Two DSCs on One Chip
|
dsPIC33CH128MP205 | Dual Core, Two DSCs on One Chip |
dsPIC33CH128MP505
Dual Core, Two DSCs on One Chip
|
dsPIC33CH128MP505 | Dual Core, Two DSCs on One Chip |
dsPIC33CK32MC102
100 MHz High Performance DSC
|
dsPIC33CK32MC102 | 100 MHz High Performance DSC |
dsPIC33CK32MC103
100 MHz High Performance DSC
|
dsPIC33CK32MC103 | 100 MHz High Performance DSC |
dsPIC33CK256MP608
100 MHz Single-Core DSC
|
dsPIC33CK256MP608 | 100 MHz Single-Core DSC |
dsPIC33CK256MP308
100 MHz Single-Core DSC
|
dsPIC33CK256MP308 | 100 MHz Single-Core DSC |
dsPIC33CK32MP502
100MHz High-Performance DSC
|
dsPIC33CK32MP502 | 100MHz High-Performance DSC |
dsPIC33CK32MP203
100MHz High-Performance DSC
|
dsPIC33CK32MP203 | 100MHz High-Performance DSC |
dsPIC33CK128MP502
100MHz High-Performance DSC
|
dsPIC33CK128MP502 | 100MHz High-Performance DSC |
dsPIC33CK128MP206
100MHz High-Performance DSC
|
dsPIC33CK128MP206 | 100MHz High-Performance DSC |
dsPIC33CH64MP202
Dual Core, Two DSCs on One Chip
|
dsPIC33CH64MP202 | Dual Core, Two DSCs on One Chip |
dsPIC33CK512MP605
100 MHz Single-Core DSC
|
dsPIC33CK512MP605 | 100 MHz Single-Core DSC |
dsPIC33CK256MP503
100MHz High-Performance DSC
|
dsPIC33CK256MP503 | 100MHz High-Performance DSC |
dsPIC33CK512MP410
ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC
|
dsPIC33CK512MP410 | ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC |
dsPIC33CK512MP608
100 MHz Single-Core DSC
|
dsPIC33CK512MP608 | 100 MHz Single-Core DSC |
dsPIC33CH64MP208
Dual Core, Two DSCs on One Chip
|
dsPIC33CH64MP208 | Dual Core, Two DSCs on One Chip |
dsPIC33CK1024MP405
ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC
|
dsPIC33CK1024MP405 | ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC |
dsPIC33CH64MP506
Dual Core, Two DSCs on One Chip
|
dsPIC33CH64MP506 | Dual Core, Two DSCs on One Chip |
dsPIC33CH256MP506
Dual Core, Two DSCs on One Chip
|
dsPIC33CH256MP506 | Dual Core, Two DSCs on One Chip |
dsPIC33CK256MP405
ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC
|
dsPIC33CK256MP405 | ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC |
dsPIC33CH128MP508
Dual Core, Two DSCs on One Chip
|
dsPIC33CH128MP508 | Dual Core, Two DSCs on One Chip |
dsPIC33CK64MP503
100MHz High-Performance DSC
|
dsPIC33CK64MP503 | 100MHz High-Performance DSC |
dsPIC33CK256MP708
ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC
|
dsPIC33CK256MP708 | ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC |
dsPIC33CK64MP205
100MHz High-Performance DSC
|
dsPIC33CK64MP205 | 100MHz High-Performance DSC |
dsPIC33CK128MC105
100 MHz High Performance DSC
|
dsPIC33CK128MC105 | 100 MHz High Performance DSC |
dsPIC33CK256MC505
100 MHz High Performance DSC
|
dsPIC33CK256MC505 | 100 MHz High Performance DSC |
dsPIC33CK256MC103
100 MHz High Performance DSC
|
dsPIC33CK256MC103 | 100 MHz High Performance DSC |
dsPIC33CK256MC503
100 MHz High Performance DSC
|
dsPIC33CK256MC503 | 100 MHz High Performance DSC |
dsPIC33CK128MC506
100 MHz High Performance DSC
|
dsPIC33CK128MC506 | 100 MHz High Performance DSC |
dsPIC33CK128MP203
100MHz High-Performance DSC
|
dsPIC33CK128MP203 | 100MHz High-Performance DSC |
dsPIC33CK64MP208
100MHz High-Performance DSC
|
dsPIC33CK64MP208 | 100MHz High-Performance DSC |
dsPIC33CK32MP105
100MHz High-Performance DSC
|
dsPIC33CK32MP105 | 100MHz High-Performance DSC |
dsPIC33CK32MP206
100MHz High-Performance DSC
|
dsPIC33CK32MP206 | 100MHz High-Performance DSC |
dsPIC33CK32MP506
100MHz High-Performance DSC
|
dsPIC33CK32MP506 | 100MHz High-Performance DSC |
dsPIC33CK256MP203
100MHz High-Performance DSC
|
dsPIC33CK256MP203 | 100MHz High-Performance DSC |
dsPIC33CH64MP206
Dual Core, Two DSCs on One Chip
|
dsPIC33CH64MP206 | Dual Core, Two DSCs on One Chip |
dsPIC33CK128MP208
100MHz High-Performance DSC
|
dsPIC33CK128MP208 | 100MHz High-Performance DSC |
dsPIC33CK512MP408
ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC
|
dsPIC33CK512MP408 | ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC |
dsPIC33CK512MP308
100 MHz Single-Core DSC
|
dsPIC33CK512MP308 | 100 MHz Single-Core DSC |
dsPIC33CH64MP505
Dual Core, Two DSCs on One Chip
|
dsPIC33CH64MP505 | Dual Core, Two DSCs on One Chip |
dsPIC33CH64MP503
Dual Core, Two DSCs on One Chip
|
dsPIC33CH64MP503 | Dual Core, Two DSCs on One Chip |
dsPIC33CK1024MP705
ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC
|
dsPIC33CK1024MP705 | ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC |
dsPIC33CH512MP206
Dual Core, Two DSCs on One Chip
|
dsPIC33CH512MP206 | Dual Core, Two DSCs on One Chip |
dsPIC33CK256MP410
ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC
|
dsPIC33CK256MP410 | ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC |
dsPIC33CK256MP710
ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC
|
dsPIC33CK256MP710 | ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC |
dsPIC33CK256MP705
ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC
|
dsPIC33CK256MP705 | ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC |
dsPIC33CK128MC106
100 MHz High Performance DSC
|
dsPIC33CK128MC106 | 100 MHz High Performance DSC |
dsPIC33CK128MC103
100 MHz High Performance DSC
|
dsPIC33CK128MC103 | 100 MHz High Performance DSC |
dsPIC33CK128MC503
100 MHz High Performance DSC
|
dsPIC33CK128MC503 | 100 MHz High Performance DSC |
dsPIC33CK128MC502
100 MHz High Performance DSC
|
dsPIC33CK128MC502 | 100 MHz High Performance DSC |
dsPIC33CK1024MP708
ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC
|
dsPIC33CK1024MP708 | ISO 26262-and IEC 61508-Compliant 100 MHz Single-Core DSC |
dsPIC33CK256MP206
100MHz High-Performance DSC
|
dsPIC33CK256MP206 | 100MHz High-Performance DSC |