上位机知识篇---keil IDE操作


文章目录

  • 前言
  • 文件操作按键
    • 新建
    • 打开
    • 保存
    • 保存所有
  • 编辑操作按键
    • 撤销
    • 恢复
    • 复制
    • 粘贴
    • 剪切
    • 全选
    • 查找
  • 书签操作按键
    • 添加书签
    • 跳转到上一个书签
    • 跳转到下一个书签
    • 清空所有书签
  • 编译操作按键
    • 编译当前文件
    • 构建目标文件
    • 重新构建
  • 调试操作按键
    • 进入调试模式
    • 复位
    • 全速运行
    • 停止运行
    • 单步调试
    • 逐行调试
    • 跳出调试
    • 运行到光标处
  • 窗口操作按键
    • 视图切换
    • 窗口布局调整
  • 一、调试前的准备
  • 二、进入调试模式
  • 三、调试界面介绍
    • 代码编辑窗口
    • 寄存器窗口
    • 变量观察窗口
    • 内存窗口
    • 串口输出窗口
  • 四、调试常用操作
    • 运行控制
    • 查看变量值
    • 断点管理
  • 五、调试技巧
    • 使用观察窗口
    • 调试串口输出
    • 内存调试
    • 性能分析
  • 六、退出调试模式
    • 常见问题
      • 无法连接调试器
      • 断点无效
      • 变量值显示异常
  • 一、进入调试模式
    • 调试工具栏
      • 调试窗口
      • 代码编辑区
  • 二、调试工具栏
  • 三、核心调试窗口
    • 1. 代码编辑窗口
    • 2. 寄存器窗口(View → Registers Window)
    • 3. 变量观察窗口(View → Watch & Call Stack Window)
    • 4. 内存窗口(View → Memory Window)
    • 5. 断点窗口(View → Breakpoints)
    • 6. 串口输出窗口(View → Serial Window)
    • 7. 外设窗口(View → Peripherals)
  • 四、调试高级功能
    • 1. 条件断点
    • 2. 内存断点
    • 3. 性能分析
    • 4. 波形图显示
  • 五、窗口布局调整
  • 六、退出调试模式
    • 常见问题与技巧
      • 变量值不更新:
      • 断点无法命中:
      • 硬件调试问题:


前言

本文简单介绍keil IDE的按键以及常用调试功能


文件操作按键

新建

新建:通常对应快捷键 “Ctrl+N”,用于创建新的文件,如源文件、头文件等。

打开

打开:快捷键 “Ctrl+O”,用于打开已有的文件或工程。

保存

保存:“Ctrl+S” 用于保存当前打开的文件。如果是新建文件且尚未保存过,会弹出保存对话框来指定保存路径和文件名。

保存所有

保存所有:该按键会保存当前工程中所有打开且已修改过的文件,没有默认快捷键。

编辑操作按键

撤销

撤销:“Ctrl+Z” 用于撤销上一步的操作,可多次使用以逐步撤销之前的多个操作。

恢复

恢复:“Ctrl+Y” 或 “Ctrl+Shift+Z” 用于恢复被撤销的操作。

复制

复制:“Ctrl+C” 用于复制选中的文本内容到剪贴板。

粘贴

粘贴:“Ctrl+V” 将剪贴板中的内容粘贴到当前光标位置。

剪切

剪切:“Ctrl+X” 可将选中的文本内容剪切到剪贴板,即删除选中内容并将其保存到剪贴板以便粘贴到其他位置。

全选

全选:“Ctrl+A” 用于选中当前编辑窗口中的所有文本内容。

查找

查找:“Ctrl+F” 打开查找对话框,可在当前文件或整个工程中查找指定的文本内容。

书签操作按键

添加书签

添加书签:“Ctrl+F2” 可在当前光标位置添加书签,方便快速定位到重要代码位置。

跳转到上一个书签

跳转到上一个书签:“Shift+F2” 用于跳转到上一个设置的书签处。

跳转到下一个书签

跳转到下一个书签:“F2” 可跳转到下一个书签位置。

清空所有书签

清空所有书签:“Ctrl+Shift+F2” 用于清除当前工程中设置的所有书签。

编译操作按键

编译当前文件

编译当前文件:通常对应 “Ctrl+F7”,仅对当前打开的单个文件进行编译,检查文件中的语法错误等,并在输出窗口显示编译信息。

构建目标文件

构建目标文件:快捷键为 “F7”,用于编译工程中修改过的文件以及与这些文件相关的依赖模块,并链接生成可执行文件或目标文件。如果工程中某些文件没有被修改,且其依赖的文件也没有变化,则不会重新编译这些文件。

重新构建

重新构建:会对整个工程中的所有文件进行重新编译,无论文件是否被修改过,然后链接生成新的可执行文件或目标文件。

调试操作按键

进入调试模式

进入调试模式:“Ctrl+F5” 或点击调试按钮,用于进入调试状态,程序会下载到目标设备(如单片机)中,并可以开始进行调试操作。

复位

复位:使程序复位到起点,调试设置恢复到初始状态,通常用于重新开始调试。

全速运行

全速运行:“F5”,让程序以正常速度运行,直到遇到断点或程序结束。

停止运行

停止运行:在程序全速运行或单步调试等过程中,点击该按钮可让程序立即停止运行。

单步调试

单步调试:“F11”,每点击一次,程序执行一步,遇到函数会进入函数内部继续单步执行,可用于详细查看程序的执行流程和变量的变化。

逐行调试

逐行调试:“F10”,每次点击执行一行代码,遇到函数时会跳过函数,直接执行函数后的下一行代码,适用于快速浏览程序执行过程,不深入函数内部调试。

跳出调试

跳出调试:“Ctrl+F11”,用于跳出当前正在执行的函数,返回上一级函数或主函数,直到跳出最外面的函数。

运行到光标处

运行到光标行:“Ctrl+F10”,将光标放在某一行,点击该按钮后,程序会执行到光标的位置停止,前提是程序能够执行到该位置。

窗口操作按键

视图切换

视图切换:通过 “View” 菜单下的选项,可以切换不同的窗口显示,如工程窗口、代码编辑窗口、输出窗口、调试窗口等。例如,选择 “View->Watch Windows->Watch 1/Watch 2” 可打开变量观察窗口,用于实时监测全局变量的变化;“View->Memory Windows->Memory 1~Memory 4” 可查看 / 修改各存储区的值

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

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

相关文章

代码随想录算法训练营 Day49 图论Ⅰ 深度优先与广度优先

图论 基础 图的概念 图的概念 概念清单有向图 (a)无向图 (b)有向/无向如图 a 所示每条边有指向如图 b 所示每条边没有箭头指向权值每条边的权值每条边的权值度-有几条边连到该节点 (eg V 2 V_2 V2​ 度为 3)入度/出度出度:从该节点出发的边个数入度:…

Windows在PowerShell或CMD运行 curl 命令报错 解决办法 (zx)

解决 zx 8.x 不稳定的问题 在 Windows 上使用 zx 8.x 时可能会遇到不稳定的问题,建议降级到 7.x 版本。可以通过以下命令进行降级: pnpm remove zx pnpm add zx7 -D解决 PowerShell 不识别 curl 参数的问题 在 Windows 上,PowerShell 默认将…

WPF···

设置启动页 默认最后一个窗口关闭,程序退出,可以设置 修改窗体的icon图标 修改项目exe图标 双击项目名会看到代码 其他 在A窗体点击按钮打开B窗体,在B窗体设置WindowStartupLocation=“CenterOwner” 在A窗体的代码设置 B.Owner = this; B.Show(); B窗体生成在A窗体中间…

【IP101】图像修复技术精解:从传统插值到深度生成修复的算法演进

图像修复技术详解 🎨 图像修复就像是数字世界的"修复匠"!通过各种"修复技术",我们可以让受损的图像重获新生,就像修复匠修复破损的艺术品一样。让我们一起来探索这个神奇的图像"修复工作室"吧&…

Qt enabled + geometry 属性(2)

文章目录 enabled属性可用与禁用的概念API接口代码演示 阐述说明1. 先简单描述下要如何演示出上面两个接口的效果(思路)2. 事先规范按钮对象的命名3. 定义两个按钮对象的槽函数 动图演示效果4. widget.cpp geometry属性预备知识API接口上下左右移动 ta…

Linux下 使用 SSH 完成 Git 绑定 GitHub

文章目录 1、检查 SSH2、生成 SSH key3、添加 SSH key4、验证绑定是否成功 1、检查 SSH Git Bash 中输入ssh命令,查看本机是否安装 SSH: 2、生成 SSH key (1)输入 ssh-keygen -t rsa 命令,表示我们指定 RSA 算法生…

ubuntu18.04通过cuda_11.3_xxx.run安装失败,电脑黑屏解决办法

项目场景: ubuntu18.04跑DG-SLAM相关代码,安装lietorch包报错,需要用到GPU。 问题描述 跑代码需要cuda11.3,系统里面有另外一个版本,运行cuda_11.3_xxx.run,同时也选择了driver,安装成功后&am…

基于Qwen1.5-0.5B指令监督微调数据集的模型训练

1、安装 LLaMA Factory 输出:检查LLaMA Factory版本&#xff0c;日志或截图。 2、更新数据集 输出:样本数据集(zh.test.csv)处理后形成微调训练格式的json文件&#xff0c;部分数据或截图。 <数据集> dataset_info.json文件指定 &#xff08;1&#xff09;格式转换&…

JVM梳理(逻辑清晰)

JVM总览 JVM 是什么&#xff0c;作用是什么 JVM&#xff08;Java Virtual Machine&#xff0c;Java 虚拟机&#xff09;是一个可以运行 Java 字节码的虚拟计算机 核心作用&#xff1a;实现跨平台&#xff08;“一次编写&#xff0c;到处运行”&#xff09;&#xff0c;JVM 是…

【typenum】 9 与常量泛型桥接(generic_const_mappings.rs)

一、源码 该代码提供了常量结构体与库类型的转换。 // THIS IS GENERATED CODE //! Module with some const-generics-friendly definitions, to help bridge the gap //! between those and typenum types. //! //! - It requires the const-generics crate feature to be…

SOPHGO算能科技BM1688内存使用与编解码开发指南

1. BM1688内存分配接口详解 1.1 设备内存分配接口区别 BM1688提供了三个主要的设备内存分配接口,它们的主要区别如下: // 基本设备内存分配接口 void* bm_malloc_device_byte(bm_handle_t handle, unsigned int size);// 指定heap区域的设备内存分配 void*</

解决软件连接RabbitMQ突发System.IO.IOException: 无法从传输连接中读取数据: 远程主机强迫关闭了一个现有的连接异常

一、问题描述 系统再运行时&#xff0c;突然出现 System.Exception: [RabbitMQ.Send Error] RabbitMQ.Client.Exceptions.AlreadyClosedException: Already closed: The AMQP operation was interrupted: AMQP close-reason, initiated by Library, code541, text“Unexpected…

STM32单片机GUI系统1 GUI基本内容

目录 一、GUI简介 1、emWin 2、LVGL (Light and Versatile Graphics Library) 3、TouchGFX 4、Qt for Embedded 5、特性对比总结 二、LVGL移植要求 三、优化LVGL运行效果方法 四、LVGL系统文件 一、GUI简介 在嵌入式系统中&#xff0c;emWin、LVGL、TouchGFX 和 Qt 是…

基于vue框架的动漫论坛g2392(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。

系统程序文件列表 项目功能&#xff1a;用户 开题报告内容 基于Vue框架的动漫论坛开题报告 一、研究背景与意义 &#xff08;一&#xff09;研究背景 随着互联网技术的飞速发展&#xff0c;动漫文化在全球范围内迅速传播&#xff0c;成为连接各国青年的重要文化纽带。动漫…

网络安全管理之钓鱼演练应急预案

文章目录 网络安全管理之钓鱼演练应急预案前言一、背景和目的1.1背景1.2目的 二、整体思路三、演练所需四、风险评估和演练目标4.1 风险评估4.2 演练目标 五、演练计划5.1 演练时间和地点5.2 参与人员5.3 演练场景5.4 演练流程5.5 演练评估 六、 应急响应流程七、钓鱼邮件防范7…

Hooks实现原理与自定义Hooks

React Hooks 是 React 16.8 引入的一种机制&#xff0c;允许在函数组件中使用状态&#xff08;state&#xff09;、副作用&#xff08;effect&#xff09;等功能&#xff0c;而无需编写 class 组件。其核心原理是通过闭包和链表结构&#xff0c;在 React 的 Fiber 架构中管理组…

单片机设计_四轴飞行器(STM32)

四轴飞行器&#xff08;STM32&#xff09; 想要更多项目私wo!!! 一、系统简介 四轴飞行器是一种通过四个旋翼产生的升力实现飞行的无人机&#xff0c;其核心控制原理基于欧拉角动力学模型。四轴飞行器通过改变四个电机的转速来实现六自由度控制&#xff08;前后、左右、上下…

服务器的基础知识

什么是服务器 配置牛、运行稳、价格感人的高级计算机&#xff0c;家用电脑不能比拟的。 服务器的组成&#xff1a;电源、raid卡、网卡、内存、cpu、主板、风扇、硬盘。 服务器的分类 按计算能力分类 超级计算机 小型机AIX x86服务器&#xff08;服务器cpu架构&#xff09; …

单目测距和双目测距 bev 3D车道线

单目视觉测距原理 单目视觉测距有两种方式。 第一种&#xff0c;是通过深度神经网络来预测深度&#xff0c;这需要大量的训练数据。训练后的单目视觉摄像头可以认识道路上最典型的参与者——人、汽车、卡车、摩托车&#xff0c;或是其他障碍物&#xff08;雪糕桶之类&#xf…

C语言链表的操作

初学 初学C语言时&#xff0c;对于链表节点的定义一般是这样的&#xff1a; typedef struct node {int data;struct node *next; } Node; 向链表中添加节点&#xff1a; void addNode(Node **head, int data) {Node *newNode (Node*)malloc(sizeof(Node));newNode->dat…