STM32复习笔记(十一)USMART调试组件

发布者:恬淡如云最新更新时间:2019-06-26 来源: eefocus关键字:STM32  USMART  调试组件 手机看文章 扫描二维码
随时随地手机看文章

一、什么是USMART?

USMART是正点原子团队为其STM32开发平台开发的一种类似linux的shell的调试工具。具体工作过程是通过串口发送命令给单片机,然后单片机收到命令之后调用单片机里面对应的相关函数,并执行,同时支持返回结果。


二、USMART调试过程:


三、USMART应用场景:

开发过程中,经常需要修改函数入口参数,查看运行效果的情况下应用非常方便。不用多次下载代码,或者多次用JLINK调试。


四、USMART特点:

可以调用绝大部分用户直接编写的函数。


资源占用极少(最少情况:FLASH:4K;SRAM:72B)。


支持参数类型多(数字(包含10/16进制)、字符串、函数指针等)。


支持函数返回值显示。


支持参数及返回值格式设置。


支持函数执行时间计算(V3.1版本新特性)。


使用方便。


五、USMART文件组:


usmart.c负责与外部互交等。


usmat_str.c主要负责命令和参数解析。


usmart_config.c主要由用户添加需要由usmart管理的函数。


usmart.h和usmart_str.h是两个头文件,其中usmart.h里面含有几个用户配置宏定义,可以用来配置usmart的功能及总参数长度(直接和SRAM占用挂钩)、是否使能定时器扫描、是否使用读写函数等。


六、USMART配置步骤:

①将USMART包添加到工程中,头文件要包含到path。


②添加需要调用的函数到usmart_config.c文件中。


③主函数中调用usmart_dev.init函数初始化usmart。


即可通过助手发送命令,调用在usmart注册过的函数


七、USMART系统命令:

USMART有7个系统命令:

?:      获取帮助信息

help:   获取帮助信息

list:   可用的函数列表

id:     可用函数的ID列表

hex:    参数16进制显示,后跟空格+数字即执行进制转换

dec:    参数10进制显示,后跟空格+数字即执行进制转换

runtime 1,开启函数运行计时;0,关闭函数运行计时;

请按照程序编写格式输入函数名及参数并以回车键结束.


关键字:STM32  USMART  调试组件 引用地址:STM32复习笔记(十一)USMART调试组件

上一篇:STM32复习笔记(十)LCD的介绍和使用方法
下一篇:STM32复习笔记(四)串口通信

推荐阅读最新更新时间:2024-11-16 21:49

STM32堆和栈,变量的存储
关于堆和栈已经是程序员的一个月经话题,大部分有是基于os层来聊的。 那么,在赤裸裸的单片机下的堆和栈是什么样的分布呢?以下是网摘: 刚接手STM32时,你只编写一个 int main() { while(1); } BUILD://Program Size: Code=340 RO-data=252 RW-data=0 ZI-data=1632 编译后,就会发现这么个程序已用了1600多的RAM,要是在51单片机上,会心疼死了,这1600多的RAM跑哪儿去了, 分析map,你会发现是堆和栈占用的,在startup_stm32f10x_md.s文件中,它的前面几行就有以上定义, 这下该明白了吧。 Stack_Size
[单片机]
<font color='red'>STM32</font>堆和栈,变量的存储
意法STM32系列获ARM RealView微控制器开发工具包支持
ARM公司日前宣布RealView微控制器开发工具包将支持意法半导体基于ARM Cortex-M3处理器的全新STM32F1xx系列器件。 STM32F101(接入行)和STM32F103(性能行)将是意法半导体首个基于ARM Cortex-M3处理器的器件系列,兼具卓越的高性能和低功耗。该系列器件拥有高达72MHz的CPU时钟速度、128Kbyte片上闪存ROM及20Kbyte片上RAM,还包括A/D、CAN、USB、SPI、I2C等众多外设及多达80个GPIO。 RealView微控制器开发工具包3.1可为新器件提供支持。这一最新版本保留了Keil Vision 3集成开发环境(IDE)易于使用的特性,并增加了针对STM3
[单片机]
解析STM32的库函数-1
一、引言 我们在学习32的过程中,固件库是个必不可少的东西,因为程序开发不再是从寄存器层次起始,而要首先去熟悉 STM32 所提供的固件库。那是否一定要使用固件库呢?当然不是。但 STM32 微控制器的寄存器规模可不 是常见的 8 位单片机可以比拟,若自己细细琢磨各个寄存器的意义,必然会消耗相当的时间, 并且对于程序后续的维护,升级来说也会增加资源的消耗。 二、正题 以最常用的 GPIO 设备的初始化函数为例,如下程序段一: GPIO_InitTypeDef GPIO_InitStructure; ○1 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4; ○2 GPIO_InitS
[单片机]
stm32_015_stm32工程设置程序下载到flash中
1.选择对应cpu型号 2.设置程序的存储地址和预留大小(不能超过总大小),还有设置RAM的地址和大小。 3.设置输出hex文件 4.安装好j-link驱动后,设置debug选项 5.设置Utilities选项 至此,变可以下载或者debug了。
[单片机]
stm32_015_stm32工程设置程序下载到flash中
stm32 嵌套向量中断控制器NVIC
嵌套向量中断控制器(NVIC)和处理器核的接口紧密相连,可以实现低延迟的中断处理和高效地处理晚到的中断。 嵌套向量中断控制器管理着包括内核异常等中断 NVIC 相关的函数包含在 misc.c 文件中 void NVIC_Init(NVIC_InitTypeDef* NVIC_InitStruct) void NVIC_PriorityGroupConfig(uint32_t NVIC_PriorityGroup) void NVIC_SetVectorTable(uint32_t NVIC_VectTab, uint32_t Offset) void NVIC_SystemLPConfig(uint8_t LowPower
[单片机]
<font color='red'>stm32</font> 嵌套向量中断控制器NVIC
STM32出现HardFault故障的解决方法
问题查找: 1 在stm32f10x_it.c中,添加软件断点,一旦调试时出现Hard Fault则会在停在__breakpoint(0)处。 2 打开Call Stack窗口,在HardFault_Handler中的右键选择“Show Caller Code”
[单片机]
<font color='red'>STM32</font>出现HardFault故障的解决方法
STM32系统时钟和分频的一点理解
系统时钟和分频 首先来手册里的一段话。 三种不同的时钟源可被用来驱动系统时钟 (SYSCLK) HSI振荡器时钟 HSE振荡器时钟 PLL时钟 一般用的是PLL时钟,后面有证据。 我们可以通过库函数获取各时钟值 void RCC_GetClocksFreq(RCC_ClocksTypeDef* RCC_Clocks) 在我的系统里,把时钟值打印信息如下: SYSCLK:0x44aa200 //72000000, 72MHz HCLK:0x44aa200 //72000000, 72MHz PCLK1:0x2255100 //36000000, 36MHz PCLK2:0x44aa200
[单片机]
对<font color='red'>STM32</font>系统时钟和分频的一点理解
STM32库USART_ITConfig的坑
USART_ITConfig只能使用一个中断标志! 看看中断参数的定义: #define USART_IT_PE ((uint16_t)0x0028) #define USART_IT_TXE ((uint16_t)0x0727) #define USART_IT_TC ((uint16_t)0x0626) #define USART_IT_RXNE ((uint16_t)0x0525) #define USART_IT_ORE_RX ((uint16_t)0x0325) /* In case interrup
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

更多精选电路图
换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved