2015年10月19日 星期一

How To Enable CMSIS-DSP On STM32F4

1. 在IAR官網上有看到介紹CMSIS-DSP的內容, 本文主要是根據其內容進行測試的sample code.
     硬體上是使用STM32F401 Discovery Board + Logic Analyzer


2. IAR官網的CMSIS-DSP連結如下:
    IAR CMSIS-DSP Link

3. CMSIS-DSP Library Enable Flow:

  • Copy CMSIS folder into your project.
  • Set the CMSIS-DSP Library option in the General Option->Library Configuration page.
  • Define the appropriate Preprocessor MACRO depending on the target processor in the application.
    • ARM_MATH_CM4
    • ARM_MATH_MATRIX_CHECK
    • ARM_MATH_ROUNDING
    • __FPU_PRESENT
    • __FPU_USED


    4.main.c程式流程及量測方法:

    • 在需要使用到CMSIS-DSP Library的程式裡面需要include <arm_math.h>
    • 從範例程式中可以看到主要是比較有無使用CMSIS-DSP Lib在做square function的時間差異
    • 本範例是利用GPIOD13搭配Logic Analyzer來量測兩者的時間差異


    • Logic Analyzer的波形上可以看到:
      • 使用CMSIS-DSP Library的sqrt function的執行時間為0.5usec.
      • 不使用CMSIS-DSP Library, 使用內建math.h的執行時間為8usec(A1-A2).
      • 兩者之間的時間差異倍數: 8usec/0.5usec = 16.

    5. 完整測試範例下載連結如下:
        STM32F401-DiscoveryBoard-CMSIS-DSP-Example








    沒有留言:

    張貼留言