ccs读取dat文件c语言程序,TMS320DM642学习----第六篇(CCS中.dat文件类型详解)

1、如下为.dat文件中文件头的基本格式:

MagicNumber Format StartingAddress PageNum Length [NewFormat]

下面是分别的解释:

MagicNumber:1651.

Format:a number from 1 to 4, indicating the format of the samples in the file. This number represents a data format:

(1) - hexadecimal,

(2) - integer

(3) - long

(4) - float

(9) - Use new scheme

StartingAddress:starting address of the block that was saved.

PageNum:page number the block was taken from.

Length:number of samples in the block.

NewFormat:Format (9); the new scheme. This is optional when usign the legacy formats 1 - 4

如下例子中的数据:

1 1651 2 8cc0 0 1a70c2 793 744 745 676 ...7 ...

第一行的数据为:1651 2 8cc0 0 1a70c

1651标志着这是TI的.dat文件的格式。

2表示了这个文件中的数据是整数格式的,比如第二行的数据79是interger的格式。

8cc0表示这段数据Load Memory到CCS软件的过程中,是加载到0x8cc0对应的地址上的。

0表示这段数据将加载到page0的位置上。

1a70c表示这段数据的总长度为0x1a70c(Hex) = 108300(Decimal)

2、创建图像对应的.dat文件:

如下的图片,转换为190*190大小的图片,并生成对应的.dat文件.

422185080035633441d64e58b4ebb654.png

Code(文件名称:_dat_create.py):

1 importcv22 importglob3 Path = glob.glob('*.jpg')4 count =05 for Pic inPath:6 I =cv2.imread(Pic)7 res = cv2.resize(I,(190,190),interpolation=cv2.INTER_CUBIC)8 Name = "Test" +str(count)9 cv2.imwrite(Name + ".png",res)10 fid = open(Name + ".dat",'w')11 fid.write('1651 2 8cc0 0 1a70c'+'\n')12 width,height = res.shape[:2]13 for channel in range(3):14 for row inrange(height):15 for col inrange(width):16 fid.write(str(res[row][col][channel])+'\n')17 count += 1

将上述代码以及要处理的图片拷贝到同一个目录下,双击运行python脚本文件即可生成:

4a35c7ef69e581f17875eb6b0b61f000.png

我们可以通过修改代码中的190*190的图像尺寸来生成不同的图像数据,并生成对应的.dat文件。

3、创建音频对应的.dat文件:

如下链接中的单音音源sin.wav,生成对应的.dat文件.

Code(文件名Audio2Dat.py):

1 from scipy.io.wavfile importwrite, read2 importnumpy as np3 importmath4 importglob5 importsys6 importos7

8 INT16_FAC = (2**15)-1

9 INT32_FAC = (2**31)-1

10 INT64_FAC = (2**63)-1

11 norm_fact = {'int16':INT16_FAC, 'int32':INT32_FAC, 'int64':INT64_FAC,'float32':1.0,'float64':1.0}12

13 defwavread(filename):14 """

15 Read a sound file and convert it to a normalized floating point array16 filename: name of file to read17 returns fs: sampling rate of file, x: floating point array18 """

19 if (os.path.isfile(filename) == False): #raise error if wrong input file

20 print("Input file does not exist. Make sure you computed the analysis/synthesis")21

22 fs, x =read(filename)23

24 if (len(x.shape) !=1): #raise error if more than one channel

25 raise ValueError("Audio file should be mono")26

27 if (fs !=44100): #raise error if more than one channel

28 raise ValueError("Sampling rate of input sound should be 44100")29

30 #scale down and convert audio into floating point number in range of -1 to 1

31 x = np.float32(x)/norm_fact[x.dtype.name]32 returnfs, x33

34 path = glob.glob('*.wav')35 count = 1

36 for p inpath:37 fs, dat =wavread(str(p))38

39 fid = open(str(count)+'.dat','w')40 #flie·Magic=1651 X=9 data·StartAddress=0x80000000 X=0 data·Number(Hex)=0x7a120 X=5

41 fid.write('1651 9 80000000 0 7a120 5'+'\n')42 for i indat:43 fid.write(str(i)+'\n')44 fid.close()45 count += 1

将上述代码以及要处理的图片拷贝到同一个目录下,双击运行python脚本文件即可生成.dat文件:

54d25d701550f8b7a2d7264dea0015de.png

结果如下:

1 1651 9 80000000 0 7a120 5

2 0.0

3 0.05011866

4 0.10004042

5 0.14956915

6 0.19851027

7 ...8 ...

参考内容:

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

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

相关文章

阿里开发者招聘节 | 面试题06-07: MySQL的数据如何恢复到任意时间点

为帮助开发者们提升面试技能、有机会入职阿里,云栖社区特别制作了这个专辑——阿里巴巴资深技术专家们结合多年的工作、面试经验总结提炼而成的面试真题这一次将陆续放出(面试题官方参考答案将在专辑结束后统一汇总分享,点此进入答题并围观他…

通过接口操作MyBatis及数据库配置文件

优点: 不用每次实例化SqlSession配置优于硬编码减少sql书写错误的概率规范代码,面向接口服务 文章目录一、回顾二、如何通过接口操作MyBatis2.1. 文件结构2.2. 依赖jar包2.3. 表结构2.4. mybatis配置文件2.5. db配置文件2.6. 获取SqlSession工具类2.7. 基…

厉害!中国AI企业50强榜单!看完员工待遇,网友:我酸了!

有自媒体说,现在各大国对AI的部署,就像对“核武器”的部署一样,这份脑力和智力的比拼,超级大国都绝对不能输。在最近,赛迪研究院就发布了「2019人工智能企业综合实力100强名单」,BAT毫无疑问霸榜&#xff0…

蚂蚁金服SOFA开源负责人鲁直:不只是中间件,未来会开源更多

近日,技术媒体Linux中国的创始人王兴宇对蚂蚁金服SOFA开源负责人鲁直,就SOFA 5、ServiceMesh、Serverless、Seata等技术内容进行了探讨,以下为专访文章。 虽然我和鲁直在微信上已经联系很久了,但这还是第一次见面。交谈中&#x…

c语言 已知某系统在通信联络中,数据结构(习题)..doc

数据结构(习题).题1.1数据结构在计算机内存中的表示是指———。A.数据的存储结构 B.数据元素C.数据的逻辑结构 D.数据元素之间的关系题1.2从逻辑上可把数据结构分为——。A.动态结构和静态结构 B.顺序结构和链式结构C.线性结构和…

log4j2.xml 配置文件详解

文章目录一、log4j2介绍二、配置文件节点解析三、需要的Maven依赖四、最简配置五、较全面的配置补充一、log4j2介绍 log4j 2.x版本不再支持像1.x中的.properties后缀的文件配置方式,2.x版本配置文件后缀名只能为".xml",".json"或者".jsn&…

Redis radix tree源码解析

Redis实现了不定长压缩前缀的radix tree,用在集群模式下存储slot对应的的所有key信息。本文将详述在Redis中如何实现radix tree。 核心数据结构 raxNode是radix tree的核心数据结构,其结构体如下代码所示: typedef struct raxNode {uint32…

针对提高48V 配电性能的诸多思考!

作者:Phil Davies 众所周知配电网络 (PDN) 是所有电源系统的主干部分,但随着系统电源需求的不断上升,传统 PDN 承受着提供足够性能的巨大压力。 对于功耗和热管理而言,主要有两种方法可以改善 PDN 对电源系统性能的影响&#x…

Apache Cassandra static column 介绍与实战

假设我们有这样的场景:我们想在 Cassandra 中使用一张表记录用户基本信息(比如 email、密码等)以及用户状态更新。我们知道,用户的基本信息一般很少会变动,但是状态会经常变化,如果每次状态更新都把用户基本…

android线性布局快捷键,【整理】Android图形界面知识学习与总结之:Linear Layout线性布局...

【背景】之前已经学习了:现在接着去学习:整理如下:Linear Layout1.LinearLayout是一个视图组合2.LinearLayout中的子视图只能已单个方向排列,要么是水平,要么是垂直;4.所有如果是垂直的列表,则每…

linux查看openssh和openssl版本命令

查看openssh版本命令 ssh -V查看openssl版本命令 openssl version

TensorFlow 2.0+Keras 防坑指南

TensorFlow 2.0是对1.x版本做了一次大的瘦身,Eager Execution默认开启,并且使用Keras作为默认高级API, 这些改进大大降低的TensorFlow使用难度。 本文主要记录了一次曲折的使用KerasTensorFlow2.0的BatchNormalization的踩坑经历&#xff0c…

收藏!企业数据安全防护5条建议

引言:数据安全对企业生存发展有着举足轻重的影响,数据资产的外泄、破坏都会导致企业无可挽回的经济损失和核心竞争力缺失,而往往绝大多数中小企业侧重的是业务的快速发展,忽略了数据安全重要性。近年来,企业由于自身的…

容器安全拾遗 - Rootless Container初探

近期Docker 19.03中发布了一个重要的特性 “Rootless Container支持”。趁着五一假期,快速验证一下。本文参考了Experimenting with Rootless Docker 一文的内容,并且补充了更多的细节和上手内容。 Rootless容器背景与架构 Docker和Kubernetes已经成为…

android 参数 attrs.xml,使用attrs.xml自定义属性

控件有很多属性,如android:id、android:layout_width、android:layout_height等,但是这些属性都是系统自带的属性。使用attrs.xml文件,可以自己定义属性。本文在Android自定义控件的基础上,用attrs.xml文件自己定义了属性。首先&a…

mybatis:在springboot中的配置

Mybatis 配置 使全局的映射器启用或禁用缓存。 mybatis.configuration.cache-enabledtrue全局启用或禁用延迟加载。当禁用时,所有关联对象都会即时加载。 mybatis.configuration.lazy-loading-enabledtrue当启用时,有延迟加载属性的对象在被调用时将会完…

直面PHP微服务架构挑战

在4月20日的阿里云栖开发者沙龙PHP技术专场上,云智慧Technical VP高驰涛为大家介绍了微服务的前世今生,分享了微服务架构实践中所面对的诸多挑战以及相应的应对策略。 本次直播视频精彩回顾,戳这里! 直播回顾:https://…

5亿整数的大文件,怎么排序 ?面试被问傻!

来源 | 程序员追风编辑 | Carol出品| CSDN云计算(ID:CSDNcloud)最近一家公司,面试官一上来,就问了我这么一个问题,我一脸懵逼,决定记录一下。问题给你1个文件bigdata,大小4663M&…

RabbitMQ 的延时队列和镜像队列原理与实战

在阿里云栖开发者沙龙PHP技术专场上,掌阅资深后端工程师、掘金小测《Redis深度历险》作者钱文品为大家介绍了RabbitMQ的延时队列和镜像队列的原理与实践,重点比较了RabbitMQ提供的消息可靠与不可靠模式,同时介绍了生产环境下如何使用RabbitMQ…

springboot 整合mybatisplus输出sql语句不输出结果集

mybatis-plus: # 日志配置 logging:level:#基础包com.ruoyi: debug#指定报的日志级别org.springframework: warnmybatis-plus:mapper-locations: classpath*:com/gblfy/**/mapping/*.xmlconfiguration: # log-impl: org.apache.ibatis.logging.stdout.StdOutImp…