This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

PIL Execution at the Command Line Using MATLAB Coder

This example shows how to set up a processor-in-the-loop (PIL) execution to verify generated code from a MATLAB® function using MATLAB Coder™ at the command line.

You can use PIL executions to verify generated code that you deploy to the STMicroelectronics® STM32F4-Discovery™ board by using a MATLAB Coder procedure. You can profile algorithm performance and speed of your generated code on the hardware board. To verify generated code, you must have MATLAB Coder and an Embedded Coder® license.

This PIL execution is also available with these hardware support packages.

  • Embedded Coder Support Package for BeagleBone® Black Hardware

  • Embedded Coder Support Package for ARM® Cortex®-A Processors

  • Embedded Coder Support Package for ARM Cortex-M Processors

To set up a PIL execution:

  1. In the Command Window, select the hardware for PIL execution.

    hw = coder.hardware('STM32F4-Discovery')
    
    hw = 
    
      Hardware with properties:
    
                Name: 'STM32F4-Discovery'
        CPUClockRate: 168
          PILCOMPort: 'COM1'
        PILInterface: 'ST-LINK'
  2. Add the hardware to the MATLAB Coder configuration object.

    cfg = coder.config('lib','ecoder',true); 
    cfg.VerificationMode = 'PIL'; 
    cfg.Hardware = hw; 
    

    The memory of the hardware board is limited, and a default value of 20000 is beyond the stack size available in the hardware. We recommend you to set the StackUsageMax value to 512. However, specify an appropriate stack usage based on your algorithm.

    cfg.StackUsageMax = 512;
  3. Generate PIL code for a function, averaging_filter.

    codegen -config cfg averaging_filter -args {zeros(1,16)}

    For more information on the averaging_filter function, see the “Averaging Filter” example in MATLAB Coder Examples (MATLAB Coder).

For another example of PIL verification, see the Processor-in-the-Loop Verification of MATLAB Functions example in the documentation of the Embedded Coder Support Package for STMicroelectronics Discovery Boards.

To install the Embedded Coder Support Package for STMicroelectronics Discovery Boards, see Supported Hardware (Embedded Coder).