STM32F407: CMSIS-DSP库的移植(基于源码)

news2024/10/5 21:19:01

上一篇:STM32F407: CMSIS-DSP库的移植(基于库文件)-CSDN博客

1. 拷贝源码

仿照官方源码目录,新建一个source目录:\Drivers\CMSIS\DSP\Source

将所有源文件拷贝过来,如下:

然后在每个目录下新建一个总的c文件,包含同个目录下的其他所有源文件,比如BasicMathFunctions下新建一个BasicMathFunctions.c:

其内容如下:

#include "arm_abs_f32.c"

#include "arm_abs_q7.c"

#include "arm_abs_q15.c"

#include "arm_abs_q31.c"

#include "arm_add_f32.c"

#include "arm_add_q7.c"

#include "arm_add_q15.c"

#include "arm_add_q31.c"

#include "arm_dot_prod_f32.c"

#include "arm_dot_prod_q7.c"

#include "arm_dot_prod_q15.c"

#include "arm_dot_prod_q31.c"

#include "arm_mult_f32.c"

#include "arm_mult_q7.c"

#include "arm_mult_q15.c"

#include "arm_mult_q31.c"

#include "arm_negate_f32.c"

#include "arm_negate_q7.c"

#include "arm_negate_q15.c"

#include "arm_negate_q31.c"

#include "arm_offset_f32.c"

#include "arm_offset_q7.c"

#include "arm_offset_q15.c"

#include "arm_offset_q31.c"

#include "arm_scale_f32.c"

#include "arm_scale_q7.c"

#include "arm_scale_q15.c"

#include "arm_scale_q31.c"

#include "arm_shift_q7.c"

#include "arm_shift_q15.c"

#include "arm_shift_q31.c"

#include "arm_sub_f32.c"

#include "arm_sub_q7.c"

#include "arm_sub_q15.c"

#include "arm_sub_q31.c"

其他目录下类似(详细过程略)。

注:比较新的库版本,已经自带了这个文件,就不需要去做这份工作了,如果是移植比较旧的版本,就需要去做这部分的工作。

2. 关联KEIL工程

新建目录:Drivers/CMISIS/DSP,将包含各自源码的总文件添加进来。

注:要把库文件移掉(现在是直接使用源码)。

3. 测试

跟库文件移植同样的测例。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1201525.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

模拟退火算法MATLAB实现

介绍 算法试图随着控制参数T的降低,使目标函 数值f(内能E)也逐渐降低,直至趋于全局最 小值(退火中低温时的最低能量状态),算法 工作过程就像固体退火过程一样。 Metropolis准则——–以概率接受…

如何有效的保护Windows登录 安当加密

为了有效保护Windows安全登录,以下是一些建议: 使用强密码:强密码是保护Windows登录安全的重要措施之一。确保密码包含大写字母、小写字母、数字和特殊字符,长度至少为8位,并且不要使用容易猜到的单词或短语。启用多因…

树与二叉树作业

1. 已知一个二叉树的中序遍历序列和后序遍历序列,求这棵树的前序遍历序列 【问题描述】 已知一个二叉树的中序遍历序列和后序遍历序列,求这棵树的前序遍历序列。 【输入形式】 一个树的中序遍历序列 该树后序遍历序列,中间用空格分开。输…

pta 高空坠球 Python3

皮球从某给定高度自由落下,触地后反弹到原高度的一半,再落下,再反弹,……,如此反复。问皮球在第n次落地时,在空中一共经过多少距离?第n次反弹的高度是多少? 输入格式: 输入在一行中…

c语言-数据结构-栈和队列的实现和解析

目录 一、栈 1、栈的概念 1.2 栈的结构 2、栈的创建及初始化 3、压栈操作 4、出栈操作 5、显示栈顶元素 6、显示栈空间内元素的总个数 7、释放栈空间 8、测试栈 二、队列 1、队列的概念 1.2 队列的结构 2、队列的创建及初始化 3、入队 4、出队 5、显示队头、队…

matlab背景部分最小化算法人脸检测

1、内容简介 略 18-可以交流、咨询、答疑 matlab背景部分最小化算法人脸检测 2、内容说明 matlab人脸检测 matlab人脸检测,背景部分最小化算法 3、仿真分析 略. 4、参考论文 略 链接:https://pan.baidu.com/s/1yQ1yDfk-_Qnq7tGpa23L7g 提取码&…

CCLink转Modbus TCP网关_CCLINK参数配置

CCLink转Modbus TCP网关(XD-ETHCL20),具有CCLINK主从站功能。主要用途是将各种MODBUS-TCP设备接入到CCLINK总线中。它可以作为从站连接到CCLINK总线上,也可以作为主站或从站连接到MODBUS-MTP总线上。 1、 配置网关的CCLINK参数&am…

kr 第三阶段(九)64 位逆向

X64 汇编程序 64 位与 32 位的区别 更大的内存 64 位 CPU 与 32 位 CPU 的区别 引脚根数: x86 程序:20 根x64 程序:52 根,实际寻址的有 48 根,所以最大内存是 0~256T 寻址区间: x86 程序:0x0…

触摸屏【威纶通】

威纶通: cMT-FHDX-920编程软件: EBproV6.08.02.500_20230828 新建工程: 文件》新建 常用》系统参数 新增设备服务 编程: 目录树》11》新增常用》元件 按钮 标签: 文本信息

MySQL主从环境搭建

MySQL主从环境搭建 主机MySQL配置 修改主机配置文件 vim /etc/my.cnf主要是在my.cnf配置文件中增加以下内容: #主服务器唯一ID server-id1 #启用二进制日志 log-binmysql-bin # 设置不要复制的数据库(可设置多个) binlog-ignore-dbmysql binlog-ignore-dbinform…

【Python】二维码和条形码的识别

我主要的问题就在于无法识别图片 注意事项: 1、从文件中加载图像的时候注意图片尽量用英文来命名,因为中文无法识别到图片 2、使用绝对地址的时候要用两个双斜杠,因为用一个会被识别为Unicode 转义,但是并没有后续的合法 Unico…

联邦学习研究综述笔记

联邦学习 联邦学习的定义:联邦学习是一种分布式机器学习架构,包含多个客户端(参与者)和一个聚合服务器。客服端(参与方):在本地使用自己的私有数据训练模型,训练完成之后将模型的参…

外中断的应用

前言 软件基础操作参考这篇博客: LED数码管的静态显示与动态显示(KeilProteus)-CSDN博客https://blog.csdn.net/weixin_64066303/article/details/134101256?spm1001.2014.3001.5501实验一:P1口上接8个LED灯,在外部…

人机交互复习专题

第一章概述 1.1人机交互的概念与理解 人机交互的概念与理解 人机交互是人与机器进行交互的操作方式,即用户与机器互相传递信息的媒介。好的人机交互界面美观且通俗易懂、操作简单有引导功能,使用户感受到愉快、有兴趣,从而提升使用效率。 美…

使用Nodejs搭建简单的Web网页并实现公网访问

目录 前言 1. 安装Node.js环境 2. 创建Node.js应用 3. 安装Cpolar内网穿透实现公网访问Nodejs服务 3.1 注册cpolar账号 3.2 下载cpolar客户端 3.3 创建隧道映射本地端口 4. 固定公网远程地址 前言 Node.js是建立在谷歌Chrome的JavaScript引擎(V8引擎)的Web应用程序框架…

单链表(6)

删除第一个val的值(考试重点) 思路:例如删除val值为3的数据,直接让数据2的p->next指向数据4就可以了。 所以删除必须依赖前驱。也就是要写删除函数,则先要完成返回key的前驱地址的函数 也就是先知道前驱地址&#…

代码随想录第五十一天 | 动态规划 买卖股票:含冷冻期 的多状态 买卖股票问题(309);包含手续费 的买卖股票问题(贪心,动态规划)(714)

1、含冷冻期 的多状态 买卖股票问题 1.1 leetcode 309:最佳买卖股票时机含冷冻期 第一遍代码 运用之前二维dp数组的方法,第二个维度大小为2,对应持有,不持有 dp[1][0] max(dp[0][0], -prices[1]);注意要考虑只有一天的情况 dp[…

Python---字典的增、删、改、查操作

字典的增操作 基本语法: 字典名称[key] value 注:如果key存在则修改这个key对应的值;如果key不存在则新增此键值对。 案例:定义一个空字典,然后添加name、age以及address这样的3个key # 1、定义一个空字典 person {…

阿里云国际站:密钥管理服务

文章目录 一、密钥管理服务的概念 二、密钥管理服务的功能 三、密钥管理服务的优势 一、密钥管理服务的概念 密钥管理服务KMS(Key Management Service)是您的一站式密钥管理和数据加密服务平台、一站式凭据安全管理平台,提供简单、可靠、…

creo之混合和扫描混合

案例一:杯子 步骤: 在top平面画一个草图圆角矩形: 然后形状–》混合 然后绘制新增的截面2: 用中心线将圆分割成八分,因为底部的圆角矩形是八份线段组成,所以我们要和他一样分成八份:先画中心线…