解决Keil V5.38 和 ST-Link V3 Debug不能运行问题

news2025/2/26 14:56:11

目录

概述

1 问题描述

1.1 情况一

1.2 情况二

1.3 情况三

2 解决方法

2.1 认识Keil Mico Lib

2.2 使能Keil Mico Lib

3 验证

3.1 进入C程序Main验证

3.2 断点验证

3.3 上电重启验证

4 结论


笔者使用的验证代码下载地址:

stm32-freeRTOS-queue资源-CSDN文库

概述

本文主要介绍笔者在使用Keil V5.38 和 ST-Link V3 Debug 项目时,代码不能正常debug的问题,笔者记录了遇见的所有实验现象,并通过测试找到的解决这个问题方法,经过笔者验证,该方法可以完美解决这个问题。

1 问题描述

1.1 情况一

使用Keil V5.38 和 ST-Link V3 Debug STM32项目时,首次点击Debug按钮时,可以正常进入到启动代码中,当并没有跳到C代码的main函数中

再次点击Debug按钮,正常情况下,代码应该全速运行,但实际情况是,其并没有全速运行并停到断点位置

1.2 情况二

断电重启板卡。发现板卡上的运行指示灯并没有闪烁,说明该代码并没有正常运行,查看串口log,也没有打印的log

1.3 情况三

连续点击3次debug按钮,代码可以全速运行起来

再次上电重启板卡,还是发现板卡上的运行指示灯并没有闪烁,说明该代码并没有正常运行,查看串口log,也没有打印的log。

2 解决方法

要解决这个问题,先认识一下Keil 软件中集成的Mico Lib库。

2.1 认识Keil Mico Lib

Keil Mico lib是一种嵌入式软件库,专门用于Keil MDK(Microcontroller Development Kit)开发环境。它提供了一套丰富的软件组件,用于开发和构建嵌入式系统。

Keil Mico lib提供了许多常用的功能模块,包括操作系统(例如RTOS),通信协议栈(如TCP/IP、USB、CAN),文件系统,设备驱动程序等。这些模块可以帮助开发者快速构建功能强大且高性能的嵌入式系统。

Keil Mico lib还提供了许多示例代码和应用案例,帮助开发者理解和使用库中的功能模块。开发者可以根据自己的需求选择并集成适当的模块,以便快速开发和部署嵌入式应用程序。

2.2 使能Keil Mico Lib

在Target面板下,勾选上MicroLib,这样就能使能Mico Lib,然后重新编译项目。验证其是否能正常Debug。

3 验证

3.1 进入C程序Main验证

编译代码,重新进行Debug,点击Debug按钮后,代码正常跳到main函数

3.2 断点验证

在函数中添加断点,然后快速运行,验证其是否可以停在断点处:

3.3 上电重启验证

下载代码到板卡中,然后断开板卡电源。重新上电后,验证板卡中的代码是否能够正常运行。打卡串口终端,如果代码正常运行,终端上会打印log:

4 结论

点击debug不能运行时因为MicoLib库没有使能引起的,需要在Keil中使能该库,该库不但会影响调试功能,还导致即使重新上电,代码也不能正常工作的现象。其带来不好的后果还是相当严重的。应该在配置项目时,避免这样的问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1608798.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

17.C++常用的算法_集合算法

文章目录 遍历算法1. set_intersection()代码工程运行结果 2. set_union()代码工程运行结果 3. set_difference()代码工程运行结果 遍历算法 1. set_intersection() 代码工程 /*1.求交集的两个集合必须是有序序列*/ /*2.目标容器开辟空间需要从两个容器中取较小值*/ /*3.set…

90年代女神返港行李失踪 怒斥国泰航空

现年51岁的童爱玲在1993年拍摄电影《火蝴蝶》入行,外形出众的她当年曾与梁朝伟、黎明等男神合作,因而被封为「男神磁石」。虽然童爱玲与台湾富商王敦民结婚诞下一子后,便淡出演艺圈,但她曾在2022年复出拍摄ViuTV剧集《季前赛》&am…

chatgpt免费使用网站

在人工智能的浪潮中,OpenAI的ChatGPT作为一款前沿的语言处理工具,已经引起了广泛的关注和讨论。 ChatGPT以其卓越的语言理解和生成能力,为用户提供了多样化的应用场景,从日常对话、编程辅助到内容创作等。然而,对于许…

PSO-BP和BP多输入多输出回归预测模型 matlab (多输入多输出)

文章目录 效果一览文章概述订阅专栏只能获取一份代码部分源码参考资料效果一览 文章概述 PSO-BP和BP多输入多输出回归预测模型 matlab (多输入多输出) 订阅专栏只能获取一份代码 部分源码 %------

小程序中使用HTTPS调用自带文本安全内容检测接口(msg_sec_check)的实现方法

在小程序中调用自带的文本安全内容检测接口,你需要使用小程序提供的wx.request方法。以下是一个示例代码: javascript代码: // 假设你已经获取了access_token,如果不知道如何获取,可以参考我上一篇文章 const access_token 你的access_tok…

FlinkCDC基础篇章2-数据源 SqlServerCDC写入到ES中

接着 上期FlinkCDC基础篇章1-安装使用 下载 Flink 和所需要的依赖包 # 下载 Flink 1.17.0 并将其解压至目录 flink-1.17.0 下载下面列出的依赖包,并将它们放到目录 flink-1.17.0/lib/ 下: 下载链接只对已发布的版本有效, SNAPSHOT 版本需要本地编译 …

云原生Kubernetes: K8S 1.29版本 部署Jenkins

目录 一、实验 1.环境 2.K8S 1.29版本 部署Jenkins 服务 3.jenkins安装Kubernetes插件 二、问题 1.创建pod失败 2.journalctl如何查看日志信息 2.容器内如何查询jenkins初始密码 3.jenkins离线安装中文包报错 4.jenkins插件报错 一、实验 1.环境 (1&…

微服务使用SockJs+Stomp实现Websocket 前后端实例 | Vuex形式断开重连、跨域等等问题踩坑(一)

大家好,我是程序员大猩猩。 之前几篇文章,我们讲了Spring Cloud Gateway的轻量级实现,Nginx的配置概念与实现,如以下往期文章。 轻量级的Spring Cloud Gateway实践,实现api和websocket转发轻松实现Nginx的HTTP与WebS…

OpenHarmony实战开发-搜索功能实现案例、如何使用includes方法对数据实现模糊查询

介绍 本示例介绍使用includes方法对数据实现模糊查询 效果图预览 使用说明 点击首页搜索框跳转到搜索页面在搜索页面输入框中输入搜索的内容,下方列表自动根据搜索的内容进行筛选渲染点击筛选后的列表跳转到相应的页面跳转后会保存搜索历史,搜索历史使…

14-Error Handling (错误处理)

ESP32-S3错误处理:理解并掌握其重要性 在编程中,错误处理是一种重要的编程实践,它可以帮助我们的程序在遇到错误时能够优雅地恢复,而不是崩溃或产生不可预测的结果。在IDF中官方提供一些实用的错误处理技巧。👩‍&…

java扩展jmeter依赖

前置条件 创建一个maven项目&#xff0c; 引入依赖 <dependency><groupId>org.apache.jmeter</groupId><artifactId>ApacheJMeter_core</artifactId><version>3.2</version> </dependency> <dependency><groupId&g…

吴恩达2022机器学习专项课程(一) 6.1 动机第三周课后实验:Lab1使用逻辑回归进行分类

问题预览/关键词 回归和分类的区别&#xff1f;逻辑回归的作用是&#xff1f;什么是二分类问题&#xff1f;二分类问题案例如何表达二分类的结果&#xff1f;逻辑回归通常用哪种表达形式&#xff1f;什么是正样本和负样本&#xff1f;什么是阈值&#xff1f;可视化线性回归解决…

论婚恋相亲交友软件的市场前景和开发方案H5小程序APP源码

随着移动互联网的快速发展和社交需求的日益增长&#xff0c;婚恋相亲交友软件小程序成为了越来越多单身人士的选择。本文将从市场前景、使用人群、盈利模式以及竞品分析等多个角度&#xff0c;综合论述这一领域的现状与发展趋势。 一、市场前景 在快节奏的现代生活中&#xf…

ubuntu 22.04 编译 ORBSLAM3

源码地址&#xff08;带注释&#xff09;&#xff1a;ORBSLAM3 根据你安装的openCv版本修改cmake 修改2个文件的2个地方&#xff1a; ORB_SLAM3_detailed_comments-master/CMakeLists.txt ORB_SLAM3_detailed_comments-master/Thirdparty/DBoW2/CMakeLists.txt 查找openCv的地…

Python 爬虫如何配置代理 IP (Py 采集)

在Python中配置代理IP&#xff0c;可以通过设置requests库的proxies参数来实现。以下是一个示例&#xff1a; import requests# 则立可以获取稳定代理Ip&#xff1a;https://www.kuaidaili.com/?refrg3jlsko0ymg # 推荐使用私密动态 IP proxies {"http": "ht…

Mini-Gemini: Mining the Potential of Multi-modality Vision Language Models论文解读

文章目录 前言一、摘要二、引言三、文献1、大语言模型文献2、视觉语言模型文献3、LLM作为生成助手文献 四、模型方法与结果1、Dual Vision Encoders3、Patch Info Mining4、Text and Image Generation1、Text-image Instructions2、Generation-related Instructions 五、实验结…

webAssembly学习及使用rust

学习理解 webAssembly 概念知识&#xff0c;使用 API 进行 web 前端开发。 概念 是一种运行在现代网络浏览器中的新型代码&#xff0c;并且提供新的性能特性和效果。它有一种紧凑的二进制格式&#xff0c;使其能够以接近原生性能的速度运行。C/C、 C#、Rust等语言可以编译为 …

手写Java设计模式之抽象工厂模式,附源码解读

接上篇&#xff0c;抽象工厂模式将汽车的一些属性可以抽象出来&#xff0c;可以理解为给不同汽车品牌生成时加上不同的特性&#xff0c;如颜色等&#xff0c;具体代码如下&#xff1a; 引入颜色接口&#xff1a; public interface Colour {void fill(); }将颜色与汽车生成品牌…

Django项目使用uwsgi+nginx部署上线

Django项目使用uwsginginx部署上线 前言settings 配置安装uwsgi 和配置uwsgi推荐配置文件启用wsgi不使用nginx的配置&#xff08;不推荐&#xff09;使用nginx的配置 安装 nginx和配置niginx 配置 运行参考资料 前言 代码已经开发完成&#xff0c;正式部署上线 settings 配置…

公网IP地址如何申请SSL证书?有免费的IP ssl吗?

如果用户没有域名或只有公网IP地址或者不方便使用域名&#xff0c;IP地址ssl证书这一特殊的证书可以为IP地址实现HTTPS的安全保护&#xff0c;提高网站数据传输的安全性。 IP地址申请SSL证书的基本步骤 IP ssl证书下载---注册填写230916https://www.joyssl.com/certificate/sel…