使用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导出的内存数据的更多相关文章

  1. 用matlab绘制幂函数

    用matlab绘制幂函数 下周轮到我做论文汇报了,刚好前两天看了网格水印的文章,就决定汇报前两天看到的那篇论文了.在准备ppt的过程中,绘制了一些幂函数,感觉matlab真的是很强大啊,可以绘制各种曲 ...

  2. 【MATLAB】用MATLAB绘制奥运五环

    [MATLAB]用MATLAB绘制奥运五环 今天用MATLAB绘制了一个奥运五环,好吧,实际上是帮人做作业,嘿嘿. 贴代码: clear; clc; N = 1000; angle = linspac ...

  3. [ZZ] 用matlab绘制箭头

    用matlab绘制箭头 http://npfeng900.blog.163.com/blog/static/14456108201221922944998/ 用matlab绘制箭头1 用matlab绘 ...

  4. Matlab绘制三维曲面(以二维高斯函数为例)

    原文地址为:Matlab绘制三维曲面(以二维高斯函数为例) 寒假学习了一下Python下的NumPy和pymatlab,感觉不是很容易上手.来学校之后,决定继续看完数字图像处理一书.还是想按照上学期的 ...

  5. 用matlab绘制中国地图

    reference:https://jingyan.baidu.com/article/870c6fc36fdacfb03ee4be58.html shp: http://muchong.com/ht ...

  6. matlab绘制心形函数

    matlab 7.0 绘制二维.三维心形函数       又到周六,下周就要迎来春节小长假了,想想都有些激动.在外漂了一整年,总于可以回家和父母团聚了,还有吃好吃的...,哎呀~想想都流口水呢.不过先 ...

  7. 导出CCS3.3数据及使用matlab处理的方法

    CCS3.3是一款DSP的集成开发环境(IDE).在做DSP开发时,为验证算法.经常须要使用matlab进行算法验证,验证算法就须要数据.因此,一种交互的方法是: 使用DSP开发板连接CCS 用CCS ...

  8. Matlab绘制子图subplot使用攻略

    参考:https://jingyan.baidu.com/article/915fc414ad794b51394b20e1.html Matlab绘制子图subplot使用攻略 听语音 原创 | 浏览 ...

  9. 安卓android WebView Memory Leak WebView内存泄漏

    Android WebView Memory Leak WebView内存泄漏 在这次开发过程中,需要用到webview展示一些界面,但是加载的页面如果有很多图片就会发现内存占用暴涨,并且在退出该界面 ...

随机推荐

  1. ylb:转换函数Cast,Convert 指定格式返回

    ylbtech-SQL Server:SQL Server-转换函数Cast,Convert 指定格式返回 转换函数Cast,Convert 指定格式返回. ylb:转换函数Cast,Convert ...

  2. 2016.7.12 针对不同的数据库类型generatorConfig文件中的数据库配置

    百度了很多资料,没有专门说这个的.大家都是配置自己的数据库,大部分是mysql.因为我使用的是postgresql,还是找了一会才找到配置指导. 毕竟第一次配置,还是要看着别人的指导比较安心.配置完后 ...

  3. AutoCAD 样条曲线如何结束

    如下所示,走了四个点之后曲线绘制结束想要闭合了   鼠标右击选择确认   然后变成下面这个样子,鼠标再右击就可以结束(然后又回从下面伸出来东西,还是右击)总之就是想要结束的时候:右击确认,不断右击   ...

  4. lnmp环境网页访问慢排查思路

    1.首先看每个服务器的负载情况 2.若各个服务器负载不高 首先查看是不是负载均衡服务器问题相接访问web服务看是否慢,若也慢则查看是不是访问动态页面慢,创建一个静态页面访问试试,若不慢则是动态页面问题 ...

  5. 【SQLServer】Microsoft SQL Baseline Checklist

    今天调查了Microsoft SQL Baseline Checklist中的下面几个问题. Hide Instances Extended Store Procedures Maximum Numb ...

  6. \\s+ split替换

    出自: http://www.tuicool.com/articles/vy2ymm 详解 "\\s+" 正则表达式中\s匹配任何空白字符,包括空格.制表符.换页符等等, 等价于[ ...

  7. 获取input光标的x和y轴

    http://blog.csdn.net/kingwolfofsky/article/details/6586029 index.html <!DOCTYPE html> <html ...

  8. 多域名THINKPHP利用MEMCACHE方式共享SESSION数据(转)

    一.问题起源 稍大一些的网站,通常都会有好几个服务器,每个服务器运行着不同功能的模块,使用不同的二级域名,而一个整体性强的网站,用户系统是统一的,即一套用户名.密码在整个网站的各个模块中都是可以登录使 ...

  9. IOS中公布应用程序,进度条一直不走怎么处理

    在IOS中公布应用程序非常是喜闻乐见. 近期1周.我更新了6次版本号.可是时不时的会卡住,进度条不走. 最后总结了几个原因. 1.在公布前你要确认自己的证书是否配置正确 2.DNS域名server有没 ...

  10. 初识Dubbo 系列之6-Dubbo 配置

    配置 Xml配置 配置项说明 具体配置项,请參见:配置參考手冊 (+) API使用说明 假设不想使用Spring配置.而希望通过API的方式进行调用,请參见:API配置 (+) 配置使用说明 想知道怎 ...