DSP_TMS320F28377D_算法加速方法2_添加浮点运算快速补充库rts2800_fpu32_fast_supplement.lib

news2024/12/26 11:02:54

继上一篇博客DSP_TMS320F28377D_算法加速方法1_拷贝程序到RAM运行_江湖上都叫我秋博的博客-CSDN博客之后,本文讲第二种DSP算法加速的方法,该方法的加速效果很明显,但是加速范围仅限于32位浮点数下面这几种函数:

1 工程师的关注点

下面稍微解释一下一些可能有疑问的点

1 电机控制中经常对同一个角度求sin和cos,我的测试程序结果是:1、sin和cos分开算,加速前(不添加这个库) 695.25us; 2、加速后590us; 3、sincos一起算410us。

void sincos(float32 X, float32* PtrSin, float32* PtrCos);

2 atan2是什么意思

float32 atan2 (float32 X, float32 Y)

返回浮点参数X/Y的四象限反正切

3 isqrt是什么意思

float32 isqrt (float32 X)

返回 1.0L/sqrt(X).

4 关于division(除法),我实测试了,div函数的时间是用“/”符号时间的10倍,以后还是直接用“/”符号。 另外,这个库是没有加速效果的。

5 亲测了tan函数,虽然没有包含在官方给的范围内,但是确实有加速效果

2 添加步骤

要添加 rts2800_fpu32_fast_supplement.lib这个库,首先得有这个文件,TI官网下载controlSUITE里面有。

1、把这个文件拷到项目文件夹,必须在一级目录下,放到文件夹下不行,我测试过。

2、

 3、

4

 

步骤可用说是非常简单。不过我还是强调一下,我的测试代码是在28377D上跑的,我的CCS是7.4.0。 C2000系列其他的芯片的操作应该差不多。

关于是否可以方法1叠加

方法一链接:DSP_TMS320F28377D_算法加速方法1_拷贝程序到RAM运行_江湖上都叫我秋博的博客-CSDN博客

答:可以 亲测可叠加!  

中断中是否可用

答:可以 亲测可用!
 

后续会再推出DSP算法加速的方法与大家探讨。感谢您的阅读,如果您有什么优化方法,欢迎留言分享、收藏点赞

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

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

相关文章

CentOS8安装mysql8.0.24

一、下载mysql安装包并解压 执行以下命令: # 创建mysql安装目录 mkdir /usr/local/mysql # 进入mysql安装目录 cd /usr/local/mysql/ # 下载mysql-8.0.24 wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.24-linux-glibc2.12-x86_64.tar.xz # 解压…

防静电出入门禁管理系统的功能和特点

防静电出入门禁管理系统是一种应用于电子设备生产、仓储物流等领域的门禁系统,旨在防止静电对于设备和产品的损害和干扰。该系统主要包括以下几个方面的功能和特点: 1. 门禁控制功能:通过在入口设置读卡器或生物识别设备(如指纹、…

Java处理 CDT时区转换CST时区

例如:夏令营时间(“Sat Aug 01 00:00:00 CDT 1987”) //TODO CDT时区转换CST时区Date date new Date(value);TimeZone cdtTZ TimeZone.getTimeZone("America/Chicago");TimeZone cstTZ TimeZone.getTimeZone("America/Mexi…

SQL server数据库-定制查询-指定查询列/行、结果排序和Like模糊查询

本篇讲述进阶查询方法,如有语句不明确,可跳转本文专栏学习基础语法 1、指定列查询 特点 只会显示你输入的列的数据,会根据你输入的顺序进行显示,可以自定义查询显示时的列名 (1)只会显示你输入的列的数…

解析msvcp100.dll丢失的原因及修复方法,教你快速解决的方案

msvcp100.dll文件的丢失,其实也是属于dll丢失的其中一种,因为它是dll文件,大家记住,只要是后缀是dll的文件那么它就是dll文件,只要丢失了dll文件,那么其解决的方法都是大同小异的,唯一不同的是&…

分布式集群——jdk配置与zookeeper环境搭建

系列文章目录 分布式集群——jdk配置与zookeeper环境搭建 分布式集群——搭建Hadoop环境以及相关的Hadoop介绍 文章目录 系列文章目录 前言 一 zookeeper介绍与环境配置 1.1 zookeeper的学习 1.2 Zookeeper的主要功能 1.2.1 znode的节点类型 1.2.2 zookeeper的实现 …

【数据同步】如何快速同步第三方平台数据?

文章目录 前言1. 如何快速同步历史数据?2. 如何使用SFTP?2.1 账号权限控制2.2 统一数据格式2.3 使用job同步数据 3. 增量数据如何处理?4. 如何校验数据一致性? 前言 最近知识星球中有位小伙伴问了我一个问题:如何快速…

Navicat16连接Oracle报错:Oracle library is not loaded

1、有时候我们在用navicat的时候连接oracle的时候,它会提示我们Oracle library is not loaded,这时候我们要首先验证本机上是否已安装oracle的客户端,如果已安装客户段,navicat中的oci.dll选择我们安装的客户段的oci.dll文件 2、…

【C进阶】深度剖析数据在内存中的存储

目录 一、数据类型的介绍 1.类型的意义: 2.类型的基本分类 二、整形在内存中的存储 1.原码 反码 补码 2.大小端介绍 3.练习 三、浮点型在内存中的存储 1.一个例子 2.浮点数存储规则 一、数据类型的介绍 前面我们已经学习了基本的内置类型以及他们所占存储…

PyTorch 深度学习实践 第10讲刘二大人

总结: 1.输入通道个数 等于 卷积核通道个数 2.卷积核个数 等于 输出通道个数 1.单通道卷积 以单通道卷积为例,输入为(1,5,5),分别表示1个通道,宽为5,高为5。假设卷积核大小为3x3&#xff0c…

直线模组选型的参考要素有哪些?

直线模组在自动化行业领域使用广泛,在不同设备运用直线模组,相对来说区别还是比较大的,而选择直线模组也是有很多要素决定的,因此懂得直线模组的选型也是至关重要的。 很多人都觉得选型是比较困难的,尤其是对于公司采购…

Ansible学习笔记10

1、在group1的被管理机里的mariadb里创建一个abc库; 1) 然后我们到agent主机上进行检查: 可以看到数据库已经创建成功。 再看几个其他命令: #a组主机重启mysql,并设置开机自启 ansible a -m service -a "namemy…

Java中异或操作和OTP算法

最近在研究加密算法,发现异或操作在加密算法中用途特别广,也特别好用。下面以Java语言为例,简单记录一下异或操作,以及在算法中的使用,包括常用的OTP算法。 一,异或操作特征 1, 相同出0&#…

二分类问题使用rmse训练会是什么结果

通常情况下,使用均方根误差(RMSE,Root Mean Square Error)来训练二分类问题可能并不是最优选择,因为RMSE通常用于衡量连续值的预测误差,而不是分类问题。二分类问题更常用的衡量标准是交叉熵损失&#xff0…

行业追踪,2023-08-30

自动复盘 2023-08-30 凡所有相,皆是虚妄。若见诸相非相,即见如来。 k 线图是最好的老师,每天持续发布板块的rps排名,追踪板块,板块来开仓,板块去清仓,丢弃自以为是的想法,板块去留让…

java八股文面试[数据库]——MySql聚簇索引和非聚簇索引索引区别

聚集索引和非聚集索引 聚集索引和非聚集索引的根本区别是表记录的排列顺序和与索引的排列顺序是否一致。 1、聚集索引 聚集索引表记录的排列顺序和索引的排列顺序一致(以InnoDB聚集索引的主键索引来说,叶子节点中存储的就是行数据,行数据在…

使用errors.Wrapf()代替log.Error()

介绍不同语言的错误处理机制: Error handling patterns[1] Musings about error handling mechanisms in programming languages[2] 项目中 main调func1,func1调取func2... 这样就会出现很多的 if err ! nil { log.Printf()} , 在Kibana上查看时会搜到多条日志, 需要…

解决iPad故障问题的三种重置方式:出厂恢复、软重置和强制重启

这篇文章解释了如何重新启动iPad,以及如果它没有响应,如何强制它重新启动。它还包括如何重置iPad的其他选项。 一、重启iPad的最简单方法(所有型号) 基本的重新启动是最容易做到的,也是遇到硬件问题时应该尝试的第一件事。该过程不会删除你的数据或设置。请执行以下步骤…

源码编译安装opencv4.6.0,别的版本也行

1.下载opencv4.6.0 系统: ubuntu 1804 64位点我下载opencv 4.6.0 https://codeload.github.com/opencv/opencv/zip/refs/tags/4.6.0 2.编译安装opencv4.6.0 进入到下载目录下: unzip -qo opencv-4.6.0.zip -d ./ cd opencv-4.6.0 mkdir build cd build cmake -D…