(KEILv5)使用matlab绘制从KEIL memory导出的内存数据
使用matlab绘制从KEIL memory导出的内存数据
如标题,某些时候我们需要分析keil调试过程中的数据,比如从I2S、SPI、I2C或者UART获取到的波形数据,这些数据时数字流,通过逻辑分析仪是没有办法直观的观察其波形,因此,我们需要把数据导出来,通过合适的工具使数据可视化,比如一些规律的波形图。
下面我将提供一种方法供参考
高潮来了
第一步:导出数据到本地
KEIL通过ULINK调试STM32时,我们可以通过keil的memory窗口定位到某一数组的内容,但是数字化的内容没有办法分析,因此我们可以先把数据导出到本地。
比如如下数组
uint16_t DATA[1024];//内存地址为0x20000ABC
我们可以使用如下命令把他导出到本地并保存,需要打开keil的command窗口,在其中输入如下命令:
:SAVE D:\DATA.HEX 0X20000ABC,0X20000ABC+1024
SAVE:为命令
D:\DATA.HEX: 保存路径
0X20000ABC:需要导出数组开始地址
0X20000ABC+1024:需要导出数组结束地址
这样就可以导出数组数据到本地了,需要注意导出数据的格式是hex386.
第二步:处理数据
因为KEIL导出的数据是hex386格式,并且转换后的数据也是不常见的小端模式,需要处理成常见的数据,这儿推荐使用sublime文本编辑器的列编辑快捷键,它可以很方便的进行数据列处理。
其快捷键为:Ctrl+A 然后 ctrl+shift+l,最后就可以通过shift+'<-'键进行复制、粘贴和移动了。
第三步:把十六进制数据转换成十进制数据
到此为止,处理的数据都是十六进制,因此需要使用xls转换成十进制数据,需要使用xls自带函数HEX2DEC
第四步:使用MATLAB绘制波形图
为什么不用xls显示波形图呢?数据只有几行的话用xls很方便,但是如果数据量很大而且有几百上千行,你有xls处理将花费非常多的时间。因此用matlab更方便。
matlab首先需要导入数据:
data = xlsread('data.xlsx',1,'A1:H254')
原始数据放在data.xlsx中,数据大小为从A到H有254行,8列。参数1表示是第一个sheet.
tmp = data(:);
这一句是为了把多维数组转化为一维数组并保存在tmp中。
L = length(tmp);x = 1:L;
获取数据长度。
I = plot(x,tmp);
显示波形图。
以上即完成从keil原始数据到波形图的显示。
(KEILv5)使用matlab绘制从KEIL memory导出的内存数据的更多相关文章
- 用matlab绘制幂函数
用matlab绘制幂函数 下周轮到我做论文汇报了,刚好前两天看了网格水印的文章,就决定汇报前两天看到的那篇论文了.在准备ppt的过程中,绘制了一些幂函数,感觉matlab真的是很强大啊,可以绘制各种曲 ...
- 【MATLAB】用MATLAB绘制奥运五环
[MATLAB]用MATLAB绘制奥运五环 今天用MATLAB绘制了一个奥运五环,好吧,实际上是帮人做作业,嘿嘿. 贴代码: clear; clc; N = 1000; angle = linspac ...
- [ZZ] 用matlab绘制箭头
用matlab绘制箭头 http://npfeng900.blog.163.com/blog/static/14456108201221922944998/ 用matlab绘制箭头1 用matlab绘 ...
- Matlab绘制三维曲面(以二维高斯函数为例)
原文地址为:Matlab绘制三维曲面(以二维高斯函数为例) 寒假学习了一下Python下的NumPy和pymatlab,感觉不是很容易上手.来学校之后,决定继续看完数字图像处理一书.还是想按照上学期的 ...
- 用matlab绘制中国地图
reference:https://jingyan.baidu.com/article/870c6fc36fdacfb03ee4be58.html shp: http://muchong.com/ht ...
- matlab绘制心形函数
matlab 7.0 绘制二维.三维心形函数 又到周六,下周就要迎来春节小长假了,想想都有些激动.在外漂了一整年,总于可以回家和父母团聚了,还有吃好吃的...,哎呀~想想都流口水呢.不过先 ...
- 导出CCS3.3数据及使用matlab处理的方法
CCS3.3是一款DSP的集成开发环境(IDE).在做DSP开发时,为验证算法.经常须要使用matlab进行算法验证,验证算法就须要数据.因此,一种交互的方法是: 使用DSP开发板连接CCS 用CCS ...
- Matlab绘制子图subplot使用攻略
参考:https://jingyan.baidu.com/article/915fc414ad794b51394b20e1.html Matlab绘制子图subplot使用攻略 听语音 原创 | 浏览 ...
- 安卓android WebView Memory Leak WebView内存泄漏
Android WebView Memory Leak WebView内存泄漏 在这次开发过程中,需要用到webview展示一些界面,但是加载的页面如果有很多图片就会发现内存占用暴涨,并且在退出该界面 ...
随机推荐
- linux命令lsattr、chattr、man
1.man命令,可以查看手册 配置位置/etc/man.conf MANPATH决定手册查询位置 MANSECT决定man查询的顺序 man的查询 linux man的常用用法: man sectio ...
- overlay和overlay2的区别
docker作为一个容器平台,它有一套自己的存储系统.它支持的driver有overlay,overlay2, aufs等等. 这篇文章主要分析overlay和overlay2的区别. overlay ...
- Java架构师与开发者提高效率的10个工具
Java受到全球百万计开发者的追捧,已经演变为一门出色的编程语言.最终,这门语言随着技术的变化,不断的被改善以迎合变化的市场需求. 无论你是否拥有一家科技公司,软件已经成为几乎每一个企业不可或缺的一部 ...
- C 递归 递归指的是在函数的定义中
C 递归 递归指的是在函数的定义中使用函数自身的方法. 举个例子:从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?"从前有座山,山里有座庙,庙里有个老和尚,正在给 ...
- JSBridge深度剖析
概述 做过混合开发的人都知道Ionic和PhoneGap之类的框架,这些框架在web基础上包装一层Native.然后通过Bridge技术的js调用本地的库. 在讲JSBridge技术之前.我们来看一下 ...
- UNP学习笔记(第五章 TCP客户/服务程序实例)
我们将在本章使用前一章中介绍的基本函数编写一个完整的TCP客户/服务器程序实例 这个简单得例子是执行如下步骤的一个回射服务器: TCP回射服务器程序 #include "unp.h" ...
- 【Excle数据透视表】如何显示/隐藏数据透视表字段列表
在创建完毕的数据透视表中,若单击数据透视表中任意单元格,即可显示数据透视表字段列表窗格,用户就可以通过弹出的窗格进行字段调整 两种情况需要隐藏数据数据透视表窗格 ①数据透视表已经完成 ②失误关闭窗格 ...
- Robot Framework ---Selenium API
一.浏览器驱动 通过不同的浏览器执行脚本. Open Browser Htpp://www.xxx.com chrome 浏览器对应的关键字: firefox FireFox ff internete ...
- Struts2学习四----------动态方法调用
© 版权声明:本文为博主原创文章,转载请注明出处 Struts2动态方法调用 - 默认:默认执行方法中的execute方法,若指定类中没有该方法,默认返回success <package nam ...
- ubuntu16.04--在标题栏显示网速
有时感觉网络失去响应,就通过Ubuntu 14.04自带的系统监视器程序来查看当前网速,但是这样很不方便,遂打算让网速显示在标题栏,那样就随时可直观的看到.一番搜索尝试后,成功实现!同时也实现了CPU ...