Intel® Integrated Performance Primitives (Intel® IPP) for Microcontrollers are a set of the performance building blocks for the signal and data processing applications for x86-compatible microcontrollers. The article provide demonstrate how to add Intel IPP functions into the application with the Intel IPP example code. It uses the QMSI based application as the example. For the zephyr application code, it can use the similar steps to add Intel IPP functions:
Building an Intel IPP Example Code
- Download the example code. This code uses ippsqStdDev functions to compute the standard deviation of a vector.
- Launch the Intel® System Studio 2016 for Microcontrollers Eclipse* Environment.
- Create a new project for the example code:
Open the <New Intel® Project> in the Project Explorer. Select the target “developer board”, and project type (Intel® QMSI, or Zephyer), and select “Hello World” Examples. - Copy the code in “smpl_stddev_ipp.c” file into the "main.c" file in the project.
- Review the code to learn how IPP functions are added into the application code
The code adds #include <ippsq.h> head file in the project for using IPP IPPM-style functions. The Intel IPP ippsqStdDev_32f/ippsqStdDevQ15_16s_Rz/ippsqStdDevQ31_32s_Rz functions are used to compute the standard deviation of a vector. - Add the library's include path in the Project Properties:
From the Eclipse* menu, go to Project->Properties. In the Properties for hello_world window, go to C/C++ General->Paths and Symbols and select GNU C in the Languages tab, then press the "Add" button:
In the Add directory path window, check the Add to all configurations and Add to all languages boxes
- Add required paths and libraries to the project Makefiles:
Open the app.mk file from the project files list and add the following lines:
LDLIBS +=-lippsq
LDFLAGS += -L $(IPPROOT)/lib
CFLAGS += -I$(IPPROOT)/include
- Build and run your project with the Intel® IPP for Microcontrollers.
Find more Intel IPP Examples
Intel IPP for Microcontrollers provides the rich examples to explain the usage of Intel IPP function. These example are located in several places in installation package. The bellow table provides the summary on these examples:
IPP Sample | Description | Location |
Intel IPP example with QMSI accelerometer app | Using Intel IPP function with QMSI accelerometer sensor code | firmware\bsp\1.1\examples\accel |
Intel IPP getting started example |
Along with Intel IPP library, the package provides several sample files to demonstrate the DSP-style and Intel IPP-style APIs, including the code on computing dot product, vector addition, and computing vector standard deviation. |
firmware\lib\ipp\1.x.x\examples |
Referenced code in the Intel IPP manual |
Intel IPP manual contains code examples for major IPP functions. These examples illustrate IPP functions usage. Check the Intel IPP manual to find these code. |
firmware\lib\ipp\1.1.0\doc\ippm_manual |
Intel IPP smpl_stddev_ipp Example