stm32c011f4烧写程序 could not stop Cortex-M device
stm32c011f4烧写程序 could not stop Cortex-M device
- 一、问题描述
- 二、问题分析
- 三、解决方案
- 说明:
- 新的问题
- 解决办法
- 四、其他可能原因分析
- 可能的原因及解决方案
- (一)硬件连接问题
- 1、复位引脚(NRST)状态异常
- 2、 JTAG/SWD接口连接问题
- 3、BOOT引脚配置错误
- (二)软件配置问题
- 1、 编译选项或下载选项未正确设置
- 2、中断向量表偏移设置错误
- 3、调试过程中未关闭看门狗
- (三)芯片状态问题
- 1、芯片Flash被锁定
- 2、主频设置错误
- 五、总结
在嵌入式开发过程中,STM32C011F4是一款常用的微控制器,但在烧写程序时,开发者可能会遇到“Could not stop Cortex-M device”的错误提示。这个问题可能会让开发者感到困惑和沮丧,因为它会阻碍程序的正常烧写和调试。本文将详细探讨这一问题的一类问题案例,并提供相应的解决方案,帮助开发者快速定位和解决问题。然后再总结其他可能问题原因,但是笔者目前并未遇到,仅供参考。
一、问题描述
当我们在使用Keil等开发工具烧写程序到STM32C011F4时,可能会遇到“Could not stop Cortex-M device”的错误提示。这个错误通常意味着开发工具无法正确地控制或停止目标设备的运行状态,从而导致程序烧写失败。
1、如下图所示,一开始打开Debug查看芯片未连接:(正常连接有可能不会出现这一步)
2、如下图所示,连接号ST-LINK后,再次打开Debug查看,正常显示芯片IDCODE:
3、点击烧录弹出“Could not stop Cortex-M device”
4、点击确定弹出如下提示
确定
5、重新下电,上电,再次尝试弹窗
二、问题分析
通过对比开发板的烧录接口,我自己的板子烧录口未接NRST,NRST直接上拉。如下图1/2所示:
三、解决方案
飞线连接NRST脚,将复位脚交给STLINK烧录器控制。飞线后,烧录成功。
说明:
对比STMF31F103烧录口,也未接NRST,但是可以直接烧录。NRST口也未被复用。
新的问题
烧录成功后,Debug->Run,程序能够执行。但是直接烧录程序后,程序无法直接启动。确认Flash Download的Rest and Run选项已经勾选。
而且,Pack中的Enable去掉,也还是不能启动。
解决办法
虽然没有使用 printf() ,但是包含了C库 stdio.h 并且没有勾选 Use MicroLIB ,导致标准C库被调用,程序卡死在半主机模式(也就是 BKPT 软件断点等待主机调试端响应)下。
解决方法也很简单,在项目配置中勾选 Use MicroLIB 然后重新编译(Rebuild)即可。
四、其他可能原因分析
可能的原因及解决方案
(一)硬件连接问题
1、复位引脚(NRST)状态异常
•原因分析: 如果NRST引脚一直处于低电平状态,STM32C011F4将始终处于复位状态,无法正常响应烧写操作。这种情况可能是由于硬件电路设计问题(如复位电路故障)、外部干扰或引脚短路等原因导致的。
解决方案: 检查NRST引脚的电平状态,确保其在正常工作时能够被正确地拉高。可以通过以下方法进行排查:
• 使用万用表测量NRST引脚的电压,正常情况下应为高电平(如3.3V)。
• 检查复位电路是否存在问题,例如上拉电阻是否损坏、是否存在短路等情况。
• 如果发现NRST引脚与地短路,需要及时修复电路,确保引脚能够正常工作。
• 在烧写程序前,手动将NRST引脚拉高,以确保芯片能够正常退出复位状态。
2、 JTAG/SWD接口连接问题
原因分析: 如果JTAG或SWD接口的连接不正确或接触不良,开发工具将无法与STM32C011F4建立稳定的通信连接,从而导致“Could not stop Cortex-M device”的错误。
解决方案:
• 检查JTAG/SWD接口的各个引脚(如TMS、TCK、TDI、TDO、SWDIO、SWCLK等)是否与开发板正确连接,确保没有虚焊、短路或接触不良的情况。
• 如果使用的是调试适配器(如ST-Link、J-Link等),检查其是否正常工作,可以尝试重新插拔或更换适配器。
• 确保开发板的电源供电正常,避免因电源不足或不稳定导致接口通信异常。
3、BOOT引脚配置错误
原因分析: STM32C011F4的启动模式由BOOT0和BOOT1引脚的状态决定。如果这两个引脚的配置不正确,可能会导致芯片进入错误的启动模式,从而影响程序烧写。
解决方案:
• 根据实际需求正确配置BOOT0和BOOT1引脚的状态。通常情况下,为了从用户闪存启动程序,应将BOOT0设置为低电平,BOOT1的状态可以根据具体需求进行配置。
• 在烧写程序前,确认BOOT引脚的状态是否符合预期,可以通过跳线帽或手动设置引脚电平来实现。
(二)软件配置问题
1、 编译选项或下载选项未正确设置
原因分析: 如果在开发工具中未正确选择目标芯片型号或未启用相应的烧写选项,可能会导致烧写失败。
解决方案:
• 在开发工具中检查编译选项,确保已正确选择STM32C011F4作为目标芯片型号。
• 检查下载选项,确认已启用与烧写相关的设置,如“Erase All”(擦除芯片)或“Reset after Download”(烧写后复位)等选项。
• 如果使用的是Keil开发工具,可以尝试在“Options for Target”中的“Debug”选项卡下,选择正确的调试器和接口(如SWD或JTAG),并确保相关设置正确无误。
2、中断向量表偏移设置错误
原因分析:在某些情况下,如果程序中对中断向量表进行了偏移处理,但偏移设置不正确,可能会导致芯片无法正确识别程序的入口地址,从而引发烧写错误。
解决方案:
• 检查程序代码中是否对中断向量表进行了偏移设置,例如使用了类似NVIC_SetVectorTable
函数。如果存在偏移设置,需确保偏移量正确且符合芯片的启动要求。
• 如果不需要中断向量表偏移,可以将偏移量设置为0,或者直接删除相关偏移设置代码。
3、调试过程中未关闭看门狗
原因分析:如果在调试过程中未关闭看门狗,看门狗可能会在烧写程序时触发复位操作,从而导致烧写失败。
解决方案:
• 在程序初始化阶段,确保关闭看门狗功能。可以通过编写相应的代码来禁用看门狗。
• 在调试前,手动关闭看门狗功能,以避免其对烧写过程的干扰。
(三)芯片状态问题
1、芯片Flash被锁定
原因分析:如果STM32C011F4的Flash被锁定,将无法正常烧写程序。这种情况可能是由于之前的操作不当或程序错误导致的。
解决方案:
• 使用ST-Link Utility或其他芯片擦除工具,对STM32C011F4进行全芯片擦除操作,以清除Flash中的锁定信息。
• 在擦除芯片后,重新烧写程序,确保程序能够正常写入Flash。
2、主频设置错误
原因分析:如果芯片的主频设置过高或不正确,可能会导致烧写过程中出现通信异常或芯片无法正常响应。
解决方案:
• 检查程序中对时钟配置的代码,确保主频设置符合芯片的规格要求。例如,如果使用外部晶振作为时钟源,需确保晶振的频率与程序中的配置一致。
• 如果主频设置过高,可以尝试降低主频,以确保烧写过程的稳定性。
五、总结
“Could not stop Cortex-M device”是一个较为常见的STM32烧写问题,其原因可能涉及硬件连接、软件配置、芯片状态等多个方面。在遇到这一问题时,开发者应按照以下步骤进行排查和解决:
• 检查硬件连接,包括复位引脚、JTAG/SWD接口、BOOT引脚等,确保硬件电路正常且连接正确。
• 检查软件配置,包括编译选项、下载选项、中断向量表偏移、看门狗设置等,确保开发工具的配置与芯片的实际需求相符。
• 检查芯片状态,如Flash是否被锁定、主频设置是否正确等,必要时对芯片进行擦除或重新配置。
通过以上方法,相信可以有效地解决STM32C011F4烧写程序时“Could not stop Cortex-M device”的问题。在开发过程中,开发者应注重硬件电路设计的可靠性、软件配置的正确性以及芯片状态的稳定性,以减少类似问题的发生,提高开发效率。如果资源充足的话,烧录口的复位引脚连上有备无患。
相关文章:
stm32c011f4烧写程序 could not stop Cortex-M device
stm32c011f4烧写程序 could not stop Cortex-M device 一、问题描述二、问题分析三、解决方案说明:新的问题解决办法 四、其他可能原因分析可能的原因及解决方案(一)硬件连接问题1、复位引脚(NRST)状态异常2、 JTAG/SW…...
【Web API系列】Web Shared Storage API之WorkletSharedStorage深度解析与实践指南
前言 在现代Web开发领域,数据存储与隐私保护的矛盾始终存在。传统存储方案如LocalStorage和Cookies面临着日益严格的安全限制,而跨域数据共享的需求却在持续增长。正是在这样的背景下,Web Shared Storage API应运而生,其核心组件…...
nvm切换node版本后,解决npm找不到的问题
解决方法如下 命令行查看node版本 node -v找到node版本所对应的npm版本 点击进入node版本 npm对应版本下载 点击进入npm版本 下载Windows 压缩包 下载完成后,解压,文件改名为npm 复制到你nvm对应版本的node_modules 下面 将下载的npm /bin 目录…...
【路由交换方向IE认证】BGP选路原则之Local Preference属性
文章目录 一、路由器BGP路由的处理过程控制平面和转发平面选路工具 二、BGP的选路顺序选路的前提选路顺序 三、Local Preference属性选路原则Local Preference选路方法Local Preference选路时的方向、方式设置直接更改Local Preference值使用route-map更改Local Preference值 四…...
MTK-Android12 13 屏蔽掉Viewing full screen
去掉ROOM 开机第一次提示全屏弹框 文章目录 需求参考资料修改文件实现方案 解决思路grep 源码查找信息grep 查找 grep -rn "Viewing full screen" 找string 字段grep 查找 grep -rn immersive_cling_title 布局grep 查找 grep -rn layout.immersive_mode_cling 对应的…...
Elasticsearch 查询排序报错总结
Elasticsearch 查询sort报错总结 文章目录 Elasticsearch 查询`sort`报错总结错误1、使用Es对 `sort` 进行排序字段类型的要求1.1、数值类型(如 `integer`、`long`、`float`、`double`)1.2、日期类型(如 `date`)1.3、字符串类型(如 `keyword`、`text`)1.4、布尔类型(`bo…...
Docker私有仓库页面访问实现
通过 docker run -d -p 5000:5000 --name registry registry:2 命令搭建的Docker私有仓库默认不提供网页访问界面。它是一个基于API的后端服务,主要用于镜像的存储和管理。但可以通过以下两种方式实现网页访问: 一、通过第三方Web UI工具扩展 1. 使用 D…...
TVS管与ESD保护二极管详解:原理、区别与应用选型
一、TVS管(瞬态电压抑制二极管) 1. 基本定义 TVS管(Transient Voltage Suppressor) 是一种用于抑制瞬态高压脉冲的半导体器件,通过雪崩击穿效应快速钳位电压,保护后端电路。 2. 核心特性参数 参数定义公…...
基于问题解决的Python编程教学对高中学生计算思维能力的培养研究
一、引言 1.1 研究背景与意义 在数字化时代飞速发展的当下,人工智能、大数据、云计算等新兴技术深刻地改变着人们的生活与工作方式。计算思维作为一种运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解的思维活动,已成为 21 世纪公民必…...
基于Vue Node.js的电影售票网站的设计与实现(源码+lw+部署文档+讲解),源码可白嫖!
摘要 互联网技术的成熟和普及,势必会给人们的生活方式带来不同程度的改变。越来越多的经营模式中都少不了线上运营,互联网正强力推动着社会和经济发展。国人对民族文化的自信和不同文化的包容,再加上电影行业的发展,如此繁荣吸引…...
Golang Event Bus 最佳实践:使用 NSQite 实现松耦合架构
Go Event Bus 最佳实践:使用 NSQite 实现松耦合架构 什么是 Event Bus? Event Bus(事件总线)是一种消息传递模式,它允许应用程序的不同组件通过发布/订阅机制进行通信,而不需要直接相互依赖。这种模式特别…...
XSS 跨站Cookie 盗取表单劫持网络钓鱼溯源分析项目平台框架
漏洞原理:接受输入数据,输出显示数据后解析执行 基础类型:反射 ( 非持续 ) ,存储 ( 持续 ) , DOM-BASE 拓展类型: jquery , mxss , uxss , pdfxss , flashx…...
LeetCode算法题(Go语言实现)_49
题目 给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。 请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。 一、代码实现(快速选择…...
运维面试题(十四)
6.将日志从一台服务器保存到另一台服务器中的方法 1.使用 rsync 同步日志文件 2.使用 scp 手动或脚本化传输 3.配置日志服务(如 syslog 或 rsyslog )远程传输 4.编写脚本定时上传:结合 cron 定时任务和传输工具,编…...
从零开始构建 Ollama + MCP 服务器
Model Context Protocol(模型上下文协议)在过去几个月里已经霸占了大家的视野,出现了许多酷炫的集成示例。我坚信它会成为一种标准,因为它正在定义工具与代理或软件与 AI 模型之间如何集成的新方式。 我决定尝试将 Ollama 中的一…...
Oracle--了解Oracle
前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除 一、Oracle简介 Oracle是甲骨文公司开发的一款关系型数据库,是一款可移植性好、使用简单、功能强大的关系型数据库。它为各行业在各类环境…...
Hadoop集群部署教程-END
Hadoop集群部署教程-END 第二十九章:总结与展望 29.1 核心内容回顾 技术体系总结: 分布式存储架构:基于HDFS的多副本机制[^6]计算框架演进:从MapReduce到Spark/Flink的生态演进资源调度优化:YARN的多租户资源隔离方案…...
面试题:谈谈你对覆盖索引的理解
覆盖索引详解 一、定义 覆盖索引(Covering Index)是指索引本身包含查询所需的所有字段数据,使得数据库引擎无需访问实际数据行即可完成查询。这种技术通过减少磁盘I/O和避免回表操作来提升查询性能:ml-citation{ref“1,5” data“cit…...
「Java EE开发指南」用MyEclipse开发EJB 3无状态会话Bean(二)
本教程介绍在MyEclipse中开发EJB 3无状态会话bean,由于JPA实体和EJB 3实体非常相似,因此本教程不涉及EJB 3实体Bean的开发。在本教程中,您将学习如何: 创建EJB 3项目创建无状态会话bean部署并测试bean 在上文中(点击…...
QML ListView:实现可拖拽排序的组件
目录 引言相关阅读工程结构示例代码详解主窗口(Main.qml)可拖拽列表视图(DraggableListView.qml)基础结构列表项委托拖拽功能实现动画效果 运行效果总结下载链接 引言 在现代UI设计中,可拖拽排序的列表视图是一种常见…...
面向Java程序员的Python AI开发教程
一、Java与Python核心语法对比(快速迁移指南) 代码结构与类型系统 代码块定义 Java使用{}定义作用域,Python依赖缩进(4空格或制表符)。例如循环结构: // Java for (int i0; i<10; i) {System.out.print…...
【开篇:机器学习:新能源汽车研发的“数据炼金术“】
机器学习:新能源汽车研发的"数据炼金术" 一、为什么工程师需要机器学习? 在新能源车试验场,每一次碰撞测试要消耗70万元,电池包循环测试耗时超过1000小时,ADAS场景库建立需要数万个corner cases。这不是简…...
【李宏毅深度学习——分类模型的PyTorch架构】Homework 2:Phoneme Classification
目录 一、数据集介绍 1、数据来源 2、数据预处理与格式 二、数据处理方面代码分析 1、下载数据集 2、为全项目过程设置随机数种子 3、预处理相关函数定义 (1)第一个函数:加载特征数据 load_feat (2)第二个函数…...
如何实现一个“纯净”的空对象(无原型链属性)?
在 JavaScript 中,要创建一个完全“纯净”的空对象(无原型链属性,即对象的原型链指向 null),可以通过以下方法实现: 核心方法:Object.create(null) const pureObject Object.create(null);特性…...
STM32江科大----------PID算法
声明:本人跟随b站江科大学习,本文章是观看完视频后的一些个人总结和经验分享,也同时为了方便日后的复习,如果有错误请各位大佬指出,如果对你有帮助可以点个赞小小鼓励一下,本文章建议配合原视频使用❤️ 如…...
计算机视觉相机模型与标定:如何让计算机“看懂”三维世界?
计算机视觉相机模型与标定:如何让计算机“看懂”三维世界? 一、前言二、相机模型基础2.1 针孔相机模型2.1.1 模型原理2.1.2 代码示例2.2 透视变换与相机内参2.2.1 透视变换矩阵2.2.2 内参矩阵的作用2.3 相机外参2.3.1 世界坐标系与相机坐标系的转换2.3.2 外…...
ETL数据集成平台在制造业有哪些应用场景
在制造业的数字化转型中,数据如同散落的拼图——生产线的实时参数、供应链的物流轨迹、质量检测的海量报告……每一块都承载着关键信息,却因系统割裂、格式混乱而难以拼出完整价值图谱。如何让数据从“成本负担”变为“战略资产”?ETL&#x…...
Redis-07-常见Redis使用场景
文章目录 01.缓存数据(Cache)02.布式锁(Distributed Lock)03.计数器(Counter)04.排行榜(Leaderboard)05.消息队列(Message Queue)06.限流(Rate Li…...
开源模型应用落地-Podcastfy-从文本到声音的智能跃迁-Gradio(一)
一、前言 在当今信息呈现方式越来越多样化的背景下,如何将文字、图片甚至视频高效转化为可听的音频体验,已经成为内容创作者、教育者和研究者们共同关注的重要话题。Podcastfy是一款基于Python的开源工具,它专注于将多种形式的内容智能转换成…...
【AI News | 20250416】每日AI进展
AI Repos 1、Tutorial-Codebase-Knowledge 自动分析 GitHub 仓库并生成适合初学者的通俗易懂教程,清晰解释代码如何运行,还能生成可视化内容来展示核心功能。爬取 GitHub 仓库并从代码中构建知识库;分析整个代码库以识别核心抽象概念及其交互…...
iOS内存管理中的强引用问题
iOS内存管理 关于强引用循环 强引用循环是 ARC 无法自动处理的常见问题。如果两个对象互相强引用对方,就会造成引用计数不为零,导致对象无法释放。典型的情况是在闭包中引用 self 时,self 和闭包之间可能会互相持有,形成强引用循…...
电脑一直不关机会怎么样?电脑长时间不关机的影响
现代生活中,许多人会让自己的电脑24小时不间断运行,无论是为了持续的工作、娱乐,还是出于忘记关机的习惯。然而,电脑长时间不关机,除了提供便利之外,也可能对设备的健康产生一系列影响。本文将为大家介绍电…...
openGauss DataVec + Dify,快速搭建你的智能助手平台
在当今数字化和智能化的时代,大语言模型(LLM)的应用正以前所未有的速度改变着各个领域的工作方式和用户体验。Dify 作为一个开源的大语言模型应用开发平台,为开发者们提供了便捷且强大的工具,助力构建从基础智能体到复…...
React 入门教程:构建第一个 React 应用
本教程将带你从零开始构建你的第一个 React 应用。我们将创建一个简单的计数器应用,涵盖 React 的基本概念和开发流程。 准备工作 在开始之前,请确保你的开发环境满足以下要求: Node.js (建议使用最新的 LTS 版本) npm 或 yarn (Node.js 安…...
【数字图像处理】数字图像空间域增强(3)
图像锐化 图像细节增强 图像轮廓:灰度值陡然变化的部分 空间变化:计算灰度变化程度 图像微分法:微分计算灰度梯度突变的速率 一阶微分:单向差值 二阶微分:双向插值 一阶微分滤波 1:梯度法 梯度࿱…...
mapstruct使用详解
一、背景:为什么需要 mapstruct 在 Java 开发中,对象之间的映射(如 DTO 转实体类、实体类转 VO)是一项高频且繁琐的任务。手动编写映射代码存在以下问题: 冗余代码多:每个类都需要重复编写 setter 和 get…...
Token与axios拦截器
目录 一、Token 详解 1. Token 的定义与作用 2. Token 的工作流程 3. Token 的优势 4. Token 的安全实践 5. JWT 结构示例 二、Axios 拦截器详解 1. 拦截器的作用 2. 请求拦截器 3. 响应拦截器 4. 拦截器常见场景 5. 移除拦截器 三、完整代码示例 四、总结 五、…...
windows上安装Jenkins
1. 下载windows版 jenkins安装包 2. 配置本地安全策略 在 Windows 11/10 上打开本地安全策略。 Secpol.msc 或本地安全策略编辑器是一个 Windows 管理工具,允许您在本地计算机上配置和管理与安全相关的策略。 安全设置-》本地策略-》用户权限分配-》作为服务登录…...
鸿蒙NEXT开发文件预览工具类(ArkTs)
import { uniformTypeDescriptor } from kit.ArkData; import { filePreview } from kit.PreviewKit; import { FileUtil } from ./FileUtil; import { AppUtil } from ./AppUtil; import { WantUtil } from ./WantUtil;/*** 文件预览工具类* 提供文件预览、加载、判断等功能。…...
【WPF-VisionMaster源代码】应用OpenCVSharp仿Vision Master页面开发的软件源代码
一、目的:开放WPF-VisionMaster源代码 二、简介 WPF-Vision Master 视觉处理软件源码 WPF-Vision Master是基于WPF-Control的UI框架与OpenCVSharp计算机视觉库联合,并参考Vision Master界面开发的视觉处理软件。该平台深度融合WPF强大的界面控制能力和Op…...
软件研发过程中的技术债
引言:数字时代的“技术利息” 在金融领域,债务是推动发展的杠杆;而在软件开发中,技术债(Technical Debt)却是一把双刃剑。据行业调查显示,70%的软件项目存在技术债,其中超过半数团队…...
鸿蒙应用(医院诊疗系统)开发篇2·Axios网络请求封装全流程解析
一、项目初始化与环境准备 1. 创建鸿蒙工程 src/main/ets/ ├── api/ │ ├── api.ets # 接口聚合入口 │ ├── login.ets # 登录模块接口 │ └── request.ets # 网络请求核心封装 └── pages/ └── login.ets # 登录页面逻辑…...
重新定义“边缘”:边缘计算如何重塑人类与数据的关系
在数字化浪潮中,云计算曾是科技界的宠儿,但如今,边缘计算正在悄然改变游戏规则。它不仅是一种技术进步,更是对人类与数据关系的一次深刻反思。本文将探讨边缘计算如何从“中心化”走向“分布式”,以及它如何在效率、隐…...
Flink CDC 出现错误码 1236 和 SQL 状态 HY000 的原因及解决方法
Flink CDC 出现错误码 1236 和 SQL 状态 HY000 的原因及解决方法 常见原因 server-id 冲突:当多个 Flink CDC 任务连接同一个 MySQL 实例,且使用了相同的 server-id 时,会导致该冲突。因为 MySQL 服务器通过 server-id 来区分不同的从服务器,如果多个 Flink CDC 任务使用相…...
如何解除Excel只读状态?4种方法全解析
在日常办公中,我们经常会遇到Excel文件被设置为只读模式的情况。只读模式可以防止文件被意外修改,但在需要编辑时,解除只读模式就显得尤为重要。下面小编分享退出Excel只读方式的4种方法,让你能够轻松编辑工作表。 方法1…...
深度学习与 Flask 应用常见问题解析
在深度学习和 Flask 应用开发过程中,我们常常会遇到一些关键的知识点和容易混淆的问题。下面我们就来对这些问题进行详细的解析。 一、卷积神经网络(CNN)常用层 在定义卷积神经网络时,有一些常用的层: Conv2D&#x…...
零浪费,最高效率:通往0%废品率的道路
在工业自动化领域,努力实现废品率为 0% 是最大的挑战之一。这意味着不生产任何有缺陷的产品 —— 从而减少浪费、降低成本,并提高客户满意度。尽管实现这一目标颇具雄心壮志,但企业可以采取几个步骤来改进自身流程,以达成这一目标…...
【c++深入系列】:new和delete运算符详解
🔥 本文专栏:c 🌸作者主页:努力努力再努力wz 💪 今日博客励志语录: “生活不会向你许诺什么,尤其不会向你许诺成功。它只会给你挣扎、痛苦和煎熬的过程。但只要你坚持下去,终有一天&…...
基础(测试用例:介绍,测试用例格式,案例)
目录 测试用例介绍 测试用例编写格式 案例 测试用例介绍 用例:用户使用软件的案例场景 测试用例:是为测试项目而设计的测试执行文档 测试用例的作用: 防止漏测是实施测试的标准可以作为测试工作量的评估 测试用例编写格式 用例编号 用例…...
MCP协议,.Net 使用示例
服务器端示例 基础服务器 以下是一个基础的 MCP 服务器示例,它使用标准输入输出(stdio)作为传输方式,并实现了一个简单的回显工具: using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.H…...