寒假学习之stm32(11)----usmart的调试

本文详细介绍了uSmart,一种轻量级的调试助手,适用于嵌入式系统的开发。uSmart支持调用用户编写的函数、多种参数类型及格式设置等功能,并具备函数执行时间计算等实用特性。文章还提供了uSmart的实现流程,包括函数注册、串口初始化等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PS:知识储备:
关于函数指针的帖子:

http://blog.youkuaiyun.com/wj_1986/article/details/6567545/   

关于函数指针的视频:

尹成老师的,清华大牛,讲得十分有趣
http://edu.youkuaiyun.com/course/detail/1132/17619?auto_start=1

uSmart是正点原子写的一种类似linux下的shell的代码,由于内置了大量的函数指针,结构体变量,所以,在文章的开始,我先对结构体指针的类型,大小,使用,进行了一个十分详尽的资料引用,一定要看啊~~

USMART 的特点如下:
1, 可以调用绝大部分用户直接编写的函数。
2, 资源占用极少(最少情况: FLASH:4K; SRAM:72B)。
3, 支持参数类型多(数字(包含 10/16 进制)、字符串、函数指针等)。
4, 支持函数返回值显示。
5, 支持参数及返回值格式设置。
6, 支持函数执行时间计算( V3.1 版本新特性)。
7, 使用方便。

USMART 的实现流程简单概括就是:

第一步,添加需要调用的函数(在 usmart_config.c 里
面的 usmart_nametab 数组里面添加);
第二步,初始化串口;
第三步, 初始化 USMART(通过
usmart_init 函数实现);
第四步, 轮询 usmart_scan 函数,处理串口数据。

初始化:
这里写图片描述
不同的芯片有着不同的usmart的代码,下载时候要注意一下
还有一个要注意的地方,在注册函数时,函数必须是你已经写在工程中的才可以放心使用

这里写图片描述
USMART有7个系统命令:

?:      获取帮助信息
help:   获取帮助信息
list:   可用的函数列表
id:     可用函数的ID列表
hex:    参数16进制显示,后跟空格+数字即执行进制转换
dec:    参数10进制显示,后跟空格+数字即执行进制转换
runtime 1,开启函数运行计时;0,关闭函数运行计时;
请按照程序编写格式输入函数名及参数并以回车键结束. 

这里写图片描述

usmart是一个相当不错的调试助手,适当的时候,我会在以后做一个专门的代码解析,并且尝试写一个自己的调试器,毕竟这玩意实在太好用了!!

欢迎大家共同探讨~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值