STM32学习心得二十:USMART调试组件实验

记录一下,方便以后翻阅~
主要内容
1) USMART调试组件基本过程;
2) USMART配置过程;
3) USMART调试测试过程。
1. USMART概念
USMART是正点原子团队为其STM32开发平台开发的一种类似linux的shell的调试工具。具体工作过程是通过串口发送命令给单片机,然后单片机收到命令之后调用单片机里面对应的相关函数,并执行,同时支持返回结果。
2. USMART调试过程
2.1 串口调试助手发送函数命令;
2.2 单片机接受到命令之后,解析命令,调用对应的函数;
2.3 Led_set函数。
3. USMART应用场景
开发过程中,经常需要修改函数入口参数,查看运行效果的情况下应用非常方便。不用多次下载代码,或者多次用JLINK调试。
4. USMART特点
4.1 可以调用绝大部分用户直接编写的函数;
4.2 资源占用极少(最少情况:FLASH:4K;SRAM:72B);
4.3 支持参数类型多(数字(包含10/16进制)、字符串、函数指针等);
4.4 支持函数返回值显示;
4.5 支持参数及返回值格式设置;
4.6 支持函数执行时间计算(V3.1版本新特性);
4.7 使用方便。
5. USMART文件组
在这里插入图片描述)
5.1 usmart.c负责与外部互交等;
5.2 usmat_str.c主要负责命令和参数解析;
5.3 usmart_config.c主要由用户添加需要由usmart管理的函数;
5.4 usmart.h和usmart_str.h是两个头文件,其中usmart.h里面含有几个用户配置宏定义,可以用来配置usmart的功能及总参数长度(直接和SRAM占用挂钩)、是否使能定时器扫描、是否使用读写函数等。
6. USMART配置步骤(这个知识点比较重要)
6.1 将USMART包添加到工程中,头文件要包含到path;
在这里插入图片描述
在这里插入图片描述
6.2 添加需要调用的函数到usmart_config.c文件中;
在这里插入图片描述
6.3 主函数中调用usmart_dev.init函数初始化usmart;
在这里插入图片描述
6.4 即可通过助手发送命令,调用在usmart注册过的函数。
7. USMART系统命令
USMART有7个系统命令:
7.1 ?: 获取帮助信息;
7.2 help: 获取帮助信息;
7.3 list: 可用的函数列表;
7.4 id: 可用函数的ID列表;
7.5 hex: 参数16进制显示,后跟空格+数字即执行进制转换;
7.6 dec: 参数10进制显示,后跟空格+数字即执行进制转换;
7.7 runtime 1,开启函数运行计时;0,关闭函数运行计时;
请按照程序编写格式输入函数名及参数并以回车键结束。
8. 使用感受
配置完成后,可以直接在串口调试助手发送相应函数命令, 修改该函数的入口参数并调用一次,返回相应结果。但是无法保存修改后的入口参数,即在程序运行时,若main.c中需运行该函数,其入口参数值仍为编译前设好的值。
9. USMART代码分享
USMART调试代码

旧知识点
1)复习如何新建工程模板,可参考STM32学习心得二:新建工程模板
2)复习基于库函数的初始化函数的一般格式,可参考STM32学习心得三:GPIO实验-基于库函数
3)复习寄存器地址,可参考STM32学习心得四:GPIO实验-基于寄存器
4)复习位操作,可参考STM32学习心得五:GPIO实验-基于位操作
5)复习延迟函数,可参考STM32学习心得九:Systick滴答定时器和延时函数解读
6)复习ST-LINK仿真器的参数配置,可参考STM32学习心得十:在Keil MDK软件中配置ST-LINK仿真器
7)复习ST-LINK调试方法,可参考STM32学习心得十一:ST-LINK调试原理+软硬件仿真调试方法
8)复习串口通信相关知识,可参考STM32学习心得十四:串口通信相关知识及配置方法

猜你喜欢

转载自blog.csdn.net/Leisure_ksj/article/details/105863714