积攒很久的MCUMonitor-V2.0终于上线了。是多么令人多么期待、多么想去体会。传统探测传感器的规律,一般都是开发人员写串口发送语句向上位机发送,如果监测的是多条数据,需要同时输出多条语句,后期通过matlab 或者execel 之类的分析软件来分析。很难实现在运行的时候看到数据在单片机内部的变化规律。本套软件解决了这个问题。如果开发过程中想监测的变量名字发生变化,通过电脑端软件直接勾选指定的变量名,就可以看到该变量的变化规律。不需要开发人员重新修改发送语句的变量名修改。除此之外本软件在运行的时候,如果想看其他变量的变化状况,不需要停下软件,直接勾选,其他变量,即可实现监测该变量的变化规律。软件支持 u8/s8/u16/s16/u32/s32/float 类型变量。
以下是几个测试图:
保存的数据:可以待自己分析,或者借助其他软件分析数据
相关的文件及说明书在下面:有需要人可以下载体验
软件打开的时候需要输入卡密:(免费开放10个卡密)
D6F802EDA56124B3B036C9DBB7142648
D91C52324BD01CB7015E8FC9E80A8700
D524A5B2E6C44329DEAD5C6339B9ACE9
DB7B5A9C79A73B504A5E2B8CBEBA0DC8
D7A95AB5828DCF85253F59836AD74E03
D32809E19BE155E98201B1479A167D01
DEA2A5FCD65646F39859EE28366F4962
DFE395304CB12A3B40DD23F4E9D40709
D4DD523C5D075354875331C772E1E93F
DF0CF83CB408631415CB8E96F258EAF3
MCUMonitor 软件使用说明书
1.概要
2.如何使用 MCUMonitor 上位机软件
3.应用案例
4.移植 SDK 库
版本:V2.0
1. 概要(最新资料从 mcumonitor官网 下载)
微控制器内存监测系统一款针对微控制器开发的灰盒测试工具。其具有可视化内 存变量以曲线形式呈现,对于分析复杂系统运行逻辑及多路传感器信号规律有很大的 帮助。
其功能主要是用来配合 KEIL for ARM 开发的一款内存监测软件。 针对如下场景:
监测多路传感器变化规律
多事件相互之间影响规律
标志位的状态验证
系统运行状态的稳定性分析等 另外本软件在现场调试等方面具有重要意义,如对测试过程中发生异常的故障现
象进行分析具有重要意义。在长时间连续运行采集数据功能方面可实现 48 小时连续运
行不死机。本软件主要特色可以将需要监测信号设置为全局变量,通过上位机选择该变 量即可在软件中以曲线形式展示。
本套系统包含嵌入式 SDK 库 和一套 PC 上位机软件。在使用上位机软件之前,需 要将 SDK 库移植入自己的工程中。
应用领域: 环境测试(高低温等)、仪器仪表、工业自动化、汽车电子等研发测试场合。产品的
性能受到各种因素影响。对各种影响因素对系统影响进行分析。
适用芯片:STM32 全系列芯片。 开发环境:KEIL FOR ARM V4.74
通讯端口:串口(数据位:8 位 校验位:无 停止位:1 流控制:无)
波特率:9600bps/115200bps/921600bps
测试系统:windows 7
2.如何使用 MCUMonitor 上位机软件
在使用软件之前需要移植 SDK 库至单片机内部。需要快速体验的,可以将 示例代码 Hex 文件烧录单片机中,再加载 MAP文件即可。
软件主界面如下:
上图。按照上面的说明
①导入 map 文件(详细看下面 KEIL 的设置生成.map 文件)
②勾选指定的变量(同时选择指定变量的类型 u?/s?/float/bool 类型(bool 类型实质为 u08 类型) )
③选择指定的串口
④第四步点击运行。 安装上述步骤即可实现对内存变量的变化规律进行监测。建议在分析系统逻辑状
态下,设置的波特率为 115200 时定时器发送周期不要小于 50ms。
(软件支持动态协议,即在运行的时候仍可以勾选新的变量或者去掉已勾选的变量)
除此之外软件在停止状态保存测试数据可供后期参考.
除此之外:有清除屏幕显示功能、保存测试数据、和游标实用功能。

保存的数据格式如下以.csv 的形式。数据可以保存或者用其他软件调用。

使用 MCUMonitor 软件之前,首先需要 IDE Keil 生成的.map 文件,Keil 需要以下 设置。
在工具栏中找到如下格式项:
这一项必须勾选

支持的数据类型:
类型
| 值范围
| unsigned char
| 0-255
| signed char
| -128 至 127
| unsigned short
| 0-65535
| signed short
| -32768 至 32767
| unsigned int
| 0-2147483648
| signed int
| 0-4294967295
| Float
| 3.4E-38 至 3.4E+38
|
说明:不支持数组,指针取值,结构体,共用体类型。在测试的过程中如果 发现,
有以上几种类型请修改为支持的数据类型(谢谢)
注意:
当你把 int8_t 类型变量定义为 200>128. 本软件仍然能监测值为 200.
那是因此 keil 自动把 signed char 变量转换为 unsigned char 类型。Keil 会出现以下提
示:
 同理 int16_t 类型变量定义为 40000>32768 易可监测。 特别说明:波特率越大测试误差越小(最大可支持 921600bit/s)波特率越高对传输的数
据线要求越高需要使用的数据线需要越好。否则在数据在传输的过程中被外界晃动, 容易引起数据传输的错误。建议购买高质量数据传输线。
3.应用案例
本工程包含以下示例:
(1)STM32 内部温度传感器实验
STM32 有一个内部的温度传感器,可以用来测量新品内部温度(TA)。 可 以将工程下载到开发板,用手摸芯片,选择温度变量会发现温度随着时间而变 化。
(2)当温度超过某个大小,置位关机 poweroff =1.
(3)芯片温度受外界环境温度变化规律。
(4)系统供电电压受系统加热影响。
(5)多路信号之间变化规律
4.移植 SDK 库
在移植 SDK 之前需要,开发者需要在单片机中实现串口以中断形式接收上位机发 送过来的数据,并通过定时器触发可以定时向串口发送数据。可以使用”sscom”等串口 调试助手确认发送周期的准确性。
(测试建议配置为:串口波特率 115200 发送周期 1s)
保证串口接收中断优先级高于定时器发送优先级。
(不然再运行的时候勾选其他变量有可能其他变量无响应)
单片机 MCU 与 PC 之间的通讯过程如下图:

移植 SDK 只需要将串口接收的数据和待发送的数组放入函数中即可. MCUMonitor_EXE(char *R_PointBuf,char *T_PointBuf);红色位置功能。 R_PointBuf:指向接收缓冲指针
T_PointBuf:指向发送缓冲指针 例:
Char ReceiveBuf[100]; Char SendBuf[100];
MCUMonitor_EXE(ReceiveBuf,SendBuf); printf(“%s\r\n”,SendBuf);
移植三步骤:
1.对接接收端口
2.对接发送端口
3.定时器调用 MCUMonitor_EXE()函数。
在 OS 的状态下,我们需在调用 MCUMonitor_EXE()函数保护不被打断。 将 MCUMonitor.lib 和 MCUMonitor.h 两个文件移植到自己的工程目录下面. 即可完成移植。
单片机源程序如下:
所有资料51hei提供下载:
安装文件及测试工程.rar
(15.91 MB, 下载次数: 46)
微控制器内存监测系统-使用说明书V2.0.pdf
(610.07 KB, 下载次数: 28)
|