Verify FIR Filter on Raspberry Pi Hardware
This example shows how to use the Code Replacement Library (CRL) for Raspberry Pi® hardware with DSP blocks. The model uses the FIR filter block to filter two sine waves of different frequencies.
Task 1: Simulate
1. Open the ex_fir_ne10_tut
Simulink model.
2. Change your current folder in MATLAB® to a writable folder.
3. Go to Modeling > Model Settings to open the Configuration Parameters dialog box.
4. Click Hardware Implementation pane, and select Raspberry Pi from the list of Hardware board parameter.
5. Click Apply and OK.
6. On the model tool strip, click Run to start the simulation.
7. Click Stop to end simulation.
Task 2: Setup Model for Code Replacement
1. Under Simulation, click Model Configuration Parameters to open the dialog box.
2. Select the Code Generation category.
3. Clear Generate code only option.
4. In the Build Configuration drop-down list, select Specify.
5. Expand Toolchain details and add assembler flags based on the Raspberry Pi board you use. For example, if you are using Raspberry Pi Model B board, then add -mfpu=neon -mcpu=cortex-a72 after -c. For more information on the ARM Cortex-A Processors supported by Raspberry Pi Hardware, see Supported ARM Cortex-A Processors for Raspberry Pi Hardware.
6. Select Interface under the Code Generation category.
7. Set Code replacement library to GCC ARM Cortex-A.
Task 3: Generate Code
1. Right-click the FIR subsystem. From the drop-down menu that opens, choose C/C++ Code > BuildThis Subsystem. When the Build code for Subsystem dialog box opens, click Build to start generating code.
2. When build finishes processing, a code generation report comes up.
3. Click the FIR.c file. Notice the NE10 library function; ne10_fir_init_float in the initialize function (FIR_initialize). Also, notice the NE10 function; ne10_fir_float_neon in the model step function (FIR_step).
Task 4: Use Processor in the Loop (PIL)
For more information on how to use PIL with Raspberry Pi hardware, see Communicate with Raspberry Pi Hardware.