当前位置: 首页 > news >正文

rt-thread中使用usb官方自带的驱动问题记录

环境说明

  1. 开发环境clion
  2. 主控stm32f407zgt6(正点原子探索者V3.4)
  3. rtthread版本使用5.2.0
  4. 代码生成stm32cubemx(6.14)

问题现象

在这里插入图片描述

主程序测试代码

/********************************************************************************* @file           : main.c* @author         : shchl* @brief          : None* @version        : 1.0* @attention      : None* @date           : 25-6-7******************************************************************************
*/
#include "rtthread.h"
#include "main.h"
#define DBG_TAG "main"
#define DBG_LVL DBG_LOG
#include <rtdbg.h>int main(void)
{rt_device_t p_dev = RT_NULL;rt_uint8_t data = 0;p_dev = rt_device_find("vcom");if (p_dev){if (RT_EOK != rt_device_open(p_dev, RT_DEVICE_OFLAG_RDWR)){return -RT_ERROR;}}while (1){if (1 == rt_device_read(p_dev, 0, &data, 1)){rt_kprintf("%d\r\n", data);}rt_thread_mdelay(10);}return RT_EOK;
}

clion中问题排查

触发报错机制(通过向usb接口发送数据)

在这里插入图片描述

通过观察stack_frame中pc寄存器的值

在这里插入图片描述

将调用栈进行反汇编

在这里插入图片描述
在这里插入图片描述

定位报错代码

在这里插入图片描述

通过分析在调用此rt_hw_serial_isr函数时出现问题;然后对此函数进行具体分析

重新Debug进行具体分析

在这里插入图片描述

总结

  1. 本篇作为刚学习集成usb过程中使用到的问题记录。
  2. 为啥出现空指针的情况需要分析usb注册过程是否未进行对应的内存分配。
  3. 网上查询相关资料给出的解决方案是可以将串口驱动的版本换位V2版本。
  4. 给大家提供一个我使用clion分析问题的一个思路
http://www.lryc.cn/news/573298.html

相关文章:

  • 【全开源】填表问卷统计预约打卡表单系统+uniapp前端
  • 基于FPGA的白噪声信号发生器verilog实现,包含testbench和开发板硬件测试
  • 基于物联网的智能饮水机系统设计
  • API网关Apisix管理接口速查
  • STM32 CAN简介及帧格式
  • AR眼镜与3D建模社区建设
  • 3D可视化数字孪生智能服务平台-物联网智控节能控、管、维一体化技术架构
  • RA4M2开发IOT(0)----安装e² studio
  • QVariant详解与属性访问
  • 【设计模式】3.装饰模式
  • 算法导论第二十四章 深度学习前沿:从序列建模到创造式AI
  • MySQL之InnoDB存储引擎深度解析
  • 深度剖析 PACK_SESSIONID 实现原理与安全突破机制
  • 【环境配置】在Ubuntu Server上安装5090 PyTorch环境
  • Kubernetes控制平面组件:Kubelet详解(八):容器存储接口 CSI
  • 项目中后端如何处理异常?
  • 数据分析实操篇:京东淘宝商品实时数据获取与分析
  • Python 的内置函数 hash
  • NVIDIA cuFFTDx文档笔记
  • 资产设备管理系统,Java + Vue,移动端+后台管理,实现设备全生命周期信息精准管控与高效运维
  • Windows/Linux系统 Ollama部署deepseek 大模型
  • 面试题-定义一个函数入参数是any类型,返回值是string类型,如何写出这个函数,代码示例
  • 跨标签页通信(三):Web Storage
  • C# WPF常用调试工具汇总
  • 如何定时发布WordPress文章(多种方法)
  • 【Redis】深入理解 Redis 事务:命令、应用与实战案例
  • CertiK联创顾荣辉将于港大活动发表演讲,分享Web3安全与发展新视角
  • C#测试调用ClosedXML根据批注设置excel单元格内容
  • 企业公用电脑登录安全管控的终极方案:ASP操作系统安全登录管控方案
  • 亚马逊认证考试系列 - 第一部份:基础服务 - AWS SAA C03