你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【STM32U3 评测】2.U3C5开启FPU测试FFT

[复制链接]
jundao721 发布时间:2026-5-28 17:06
      为了和后续的HSP加速运算进行对比,先测试一下U3C5的FPU进行简单的正弦函数FFT计算的状况。
还是先从Cubemx这个工具开始。有两种方式使用DSP library。一种是下载库,然后移植到项目里,一种是在Cubemx里配置DSP library。如图1所示:
2-3.png
图1

左边栏中X-CUBE-ALGOBUILD,选择,并勾选DSP library。生成项目。
然后使用VSCODE打开项目,编写FFT实现函数。主要代码如下所示:
  1.   arm_rfft_fast_init_f32(&fft_handler, FFT_SIZE);
  2.   GenerateSineWave();
  3.   uint32_t start = DWT->CYCCNT;
  4.   arm_rfft_fast_f32(&fft_handler, input, fft_output, 0);
  5.   arm_cmplx_mag_f32(fft_output, magnitude, FFT_SIZE / 2);
  6.   uint32_t end = DWT->CYCCNT;
  7.   volatile uint32_t cycles = end - start;
  8.   printf("FFT computation took %lu cycles\r\n", cycles);
复制代码

在gcc-arm-none-eabi.cmake 中有


set(TARGET_FLAGS "-mcpu=cortex-m33 -mfpu=fpv5-sp-d16 -mfloat-abi=hard ")


表示编译器已经按硬件FPU方式生成浮点指令。
编译,Debug,观察左边Variables 中时间变量circles 的时间数值,包括观察FFT后峰值是否在bin 10的位置。测试结果如图2所示:
2-1.png
图2
从测试结果看和预期相同。

收藏 评论0 发布时间:2026-5-28 17:06

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版