STM32F4使用FPU/DSP核心启用与测试

news/2024/10/18 16:54:18/

STEP1、下载DSP库


具体链接如下:
https://www.st.com/en/embedded-software/stsw-stm32065.html?dl=9w6sdOSAKySFxBhN764Stg%3D%3D%2CIS1vzyA84KLAefK%2B0DawUl0FScREpiT6AdC3qFjIMJnCIgXIwr82G2XUFo6w43Wp5L5CUyrX3vZAoaHRE3nsTmRsArV3hnQOEgX73SKt8ss1vGrLlfXT24jUzDKvQoj0H4L2gBSZsUj3urRJVJbHG4DQFKfuPFNFVrLwAU%2BPiDijkoKerSTrWWYmm3p2HQVKGYnsx1PSiEhTwxxCtypyEyQ%2FF7Njoo91y8R1335R3mnkBMltxzkHazjuDUv70bqgF4Ag6Udlq%2FU%2BbwPnADU8bDIeFoajhGZqQ%2FVQKXnNRD1%2BX5QlTirHwE70z30iCggOevNWRUSduoDbL%2BfDrst3MpnbBMp8fS%2BnjdyzoMIr38s%3D&mkt_tok=ODU2LVBWUC03MTUAAAGSp9OfinR1c6wipFSEfUyersIL-3429o1xMWtufKm-UMHocChwATGGEfRPL7x0CqUGeHCOi81u1lnfvAqPgQYD0u3BcNopl_yaR7adaGH1cw#get-software

STEP2、移植到工程

下载完成后就是en.stsw这么一个压缩包。

  • 1、找到如图路径,拷贝lib & .h文件到工程
    在这里插入图片描述
    在这里插入图片描述

  • 2、相信这一步大家都会(lib以及头文件正确的路径包含)
    在这里插入图片描述

  • 3、添加Define (, ARM_MATH_CM4)
    在这里插入图片描述

  • 4、勾选mirolib 和 single precision
    在这里插入图片描述

  • 5、全局搜索stm32f411xe.h头文件中,添加宏定义 __FPU_PRESENT , __FPU_USED 并且赋值为1
    在这里插入图片描述

  • 6、编译测试
    测试代码中添加了sin运算的API,并且添加arm_math的头文件即可,编译测试。
    在这里插入图片描述

STEP3、说明书

  • 打开如下路径的index.html ,将是这个API的全套说明文档,用于翻阅查询的。
    在这里插入图片描述
    在这里插入图片描述

STEP4、测试结果对比matlab

matlab测试 矩阵B/A的结果

在这里插入图片描述

stm32f4测试结果打印

			// 测试代码float32_t dataA[]={1,25,3,2,31,4,3,43,51};float32_t dataA_[9]={0};arm_matrix_instance_f32 A,A_;A.numRows =3;A.numCols =3;A.pData = dataA;A_.numRows =3;A_.numCols =3;A_.pData = dataA_;float32_t dataB[]={1,5,8};float32_t dataC[3]={0};arm_matrix_instance_f32 B,C;B.numRows =1;B.numCols =3;B.pData = dataB;C.numRows =1;C.numCols =3;C.pData = dataC;// 求逆arm_mat_inverse_f32(&A,&A_);// B/A = Carm_mat_mult_f32(&B,&A_,&C);// 打印结果printf("C = ");for(int i=0;i<3;i++){printf(" %f ",C.pData[i]);}printf("\r\n");

在这里插入图片描述


http://www.ppmy.cn/news/1432227.html

相关文章

PSAvatar:一种基于点的可变形形状模型,用于3D高斯溅射的实时头部化身创建

PSAvatar: A Point-based Morphable Shape Model for Real-Time Head Avatar Creation with 3D Gaussian Splatting PSAvatar&#xff1a;一种基于点的可变形形状模型&#xff0c;用于3D高斯溅射的实时头部化身创建 Zhongyuan Zhao1,2, Zhenyu Bao1,2, Qing Li1, Guoping Qiu3,…

uthash哈希库使用详解(增删改查和遍历,示例代码)

在C语言中&#xff0c;标准库并没有提供哈希表的实现&#xff0c;因此很多开发者需要自己实现哈希表&#xff0c;这通常是一个复杂且容易出错的过程。幸运的是&#xff0c;有像uthash这样的开源库可以帮助我们简化这一过程。本文将对uthash的使用进行详尽的讲解&#xff0c;包括…

开发语言漫谈-脚本语言

前面讲的都称之为编程语言&#xff0c;就是做系统用的。还有一大类称之为脚本语言的语言&#xff0c;这类语言数量极多&#xff0c;大部分程序员用不上&#xff0c;也不关心&#xff0c;这是系统维护人员专用的邻域。这个定义其实也很不准确&#xff0c;不必较真。更准确的来讲…

傅立叶变换与拉普拉斯变换的区别与联系?

傅里叶变换和拉普拉斯变换都是信号处理中的重要工具&#xff0c;它们有以下几个主要区别&#xff1a; 定义域&#xff1a;傅里叶变换是在频率域&#xff08;即虚轴&#xff09;上定义的&#xff0c;而拉普拉斯变换在复平面上的特定区域内定义。 适用范围&#xff1a;傅里叶变换…

Ubuntu22.04 + ROS2 Humble配置Moveit2环境

Ubuntu22.04 ROS2 Humble配置Moveit2环境 文章目录 Ubuntu22.04 ROS2 Humble配置Moveit2环境1.Ubuntu22.04配置ROS22.二进制安装Moveit23.配置Moveit的官方教程3.1安装rosdep3.2下载moveit的tutorials3.3安装中间件Middleware 4.启动测试用例Reference 环境配置&#xff1a; …

keytool证书工具详解(二)

JDK自带的keytool证书工具详解 一、生成证书 keytool -genkey -alias tomcat -keyalg RSA -keystore D:/tomcat.keystore -keypass 123456 -storepass 123456 -dname "CN=xingming,OU=danwei,O=zuzhi,L=shi,ST=sheng,C=CN" keytool -genkey -alias tomcat -keyalg …

Oracle删除数据库的步骤【谨慎操作】

在创建数据库的时候,有创建就会有删除,删除数据库的工作需要很多必要的条件 删除数据库会把所有库的数据文件、控制文件、日志文件等物理文件通通给删除掉!!!! 这时候你就可以跑路了。。。。。 1、模拟测试,创建一个测试库 -- 创建临时表空间 [root@cdp1 sql]#cat /d…

聚道云一键打通金蝶宁波银行,财务效率暴涨10倍!

客户介绍&#xff1a; 某农资有限公司是一家集农资贸易、仓储物流、农机服务为一体的大型企业。随着业务规模的不断扩大&#xff0c;传统的手动财务操作模式已难以满足其需求。公司急需寻找一种方法&#xff0c;将金蝶财务软件与宁波银行对接&#xff0c;实现资金流转自动化和…