上位机知识篇---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” 可查看 / 修改各存储区的值
相关文章:
上位机知识篇---keil IDE操作
文章目录 前言文件操作按键新建打开保存保存所有编辑操作按键撤销恢复复制粘贴剪切全选查找书签操作按键添加书签跳转到上一个书签跳转到下一个书签清空所有书签编译操作按键编译当前文件构建目标文件重新构建调试操作按键进入调试模式复位全速运行停止运行单步调试逐行调试跳出…...
Odoo: Owl Hooks 深度解析技术指南
你好!作为一名 Odoo 开发者,深入理解其前端框架 Owl.js,尤其是 Hooks,是提升开发效率和代码质量的关键。这份指南将带你从基础概念到高级应用,全面掌握 Odoo 18 中 Owl Hooks 的所有知识点。 1. Hooks 核心概念介绍 什…...

SpringBoot返回xml
默认情况下引入web依赖后自带了JackJson 返回JSON数据 你也可以引入fastJSON 那么方便使用可以用JSON.xxx 如果希望Boot默认返回xml数据 <dependency><groupId>com.fasterxml.jackson.dataformat</groupId><artifactId>jackson-dataformat-xml<…...

【案例篇】 实现简单SSM工程-后端
简介 本篇文章将带你从0到1的实现一个SSM项目,通过此案例可以让你在项目中对SpringBoot的使用有一个更加详细的认识,希望这个简单的案例能够帮到你。文章内容若存在错误或需改进的地方,欢迎大家指正!若对操作有任何疑问欢迎留言&a…...

零基础学习计算机网络编程----网络基本知识
目录 1. 计算机网络发展 1.1 网络发展 1.2 媒介 2 认识协议 2.1 为什么要有协议 2.2 协议的本质 3 网络协议的初识 3.1 什么是协议分层 3.2 为什么会有 4. OSI七层模型 4.1 定义 5. TCP/IP五层(或四层)模型 5.1 有什么 6. 网络传输基本流程 6.1 网络传输流程图…...

Zynq和Microblaze的区别和优势
Zynq芯片包含了一颗双核ARM Cortex-A9处理器,这是一颗“硬”处理器---它是芯片上专用 而且优化过的硅片原件。 MicroBlaze为“软”处理器,它是由可编程逻辑部分的单元组合而成的, 也就是说,一个 软处理器的实现和部署在FPGA的逻…...

FastAPI 支持文件下载
FastAPI 支持文件下载 FastAPI 支持文件上传 Python 获取文件类型 mimetype 文章目录 1. 服务端处理1.1. 下载小文件1.2. 下载大文件(yield 支持预览的)1.3. 下载大文件(bytes)1.4. 提供静态文件服务 2. 客户端处理2.1. 普通下载2…...

CNN卷积神经网络到底卷了啥?
参考视频:卷积神经网络(CNN)到底卷了啥?8分钟带你快速了解! 我们知道: 图片是由像素点构成,即最终的成像效果是由背后像素的颜色数值所决定 在Excel中:有这样一个由数值0和1组成的66…...
vue中v-clock指令
基础 v-cloak 是 Vue 中的一个非常实用的指令,用于防止在 Vue 实例尚未挂载完成前,用户看到模板中的插值语法(如 {{ message }})一闪而过。 ✅ 场景举例 你在页面还没加载完前,可能会看到这样一瞬间的内容ÿ…...

MIT 6.S081 2020Lab5 lazy page allocation 个人全流程
文章目录 零、写在前面一、Eliminate allocation from sbrk()1.1 说明1.2 实现 二、Lazy allocation2.1 说明2.2 实现 三、Lazytests and Usertests3.1 说明3.2 实现3.2.1 lazytests3.2.2 usertests 零、写在前面 可以阅读下4.6页面错误异常 像应用程序申请内存,内…...

C++初阶-list的使用2
目录 1.std::list::splice的使用 2.std::list::remove和std::list::remove_if的使用 2.1remove_if函数的简单介绍 基本用法 函数原型 使用函数对象作为谓词 使用普通函数作为谓词 注意事项 复杂对象示例 2.2remove与remove_if的简单使用 3.std::list::unique的使用 …...
PHP序列化数据格式详解
PHP序列化数据格式详解 概述 PHP序列化是将PHP变量(包括对象)转换为可存储或传输的字符串表示形式的过程。了解这些序列化格式对于数据处理、调试和安全性分析非常重要。本文将详细介绍PHP中各种数据类型的序列化表示方式。 基本数据类型序列化格式 …...

如何优化 MySQL 存储过程的性能?
文章目录 1. 优化 SQL 语句避免全表扫描减少子查询,改用 JOIN避免 SELECT 2. 合理使用索引3. 优化存储过程结构减少循环和临时变量避免重复计算 4. 使用临时表和缓存5. 优化事务处理6. 分析和监控性能7. 优化数据库配置8. 避免用户自定义函数(UDF&#…...
深度学习:损失函数与激活函数全解析
目录 深度学习中常见的损失函数和激活函数详解引言一、损失函数详解1.1 损失函数的作用与分类1.2 回归任务损失函数1.2.1 均方误差(MSE)1.2.2 平均绝对误差(MAE) 1.3 分类任务损失函数1.3.1 交叉熵损失(Cross-Entropy&…...
【大前端】Node Js下载文件
NodeJs 获取远程文件有很多方式,常见的方式有以下两种: - fetch(原生) - axios(插件) 通过 Fetch 下载文件,代码如下: import fs from node:fsfunction main(){fetch(http://xxx.x…...
自训练NL-SQL模型
使用T5小模型在笔记本上训练 nature language to SQL/自然语言 转SQL 实测通过。 本文介绍了如何在笔记本上使用T5小模型训练自然语言转SQL的任务。主要内容包括:1) 创建Python 3.9环境并安装必要的依赖包;2) 通过Hugging Face镜像下载wikisql数据集和T5-small模型;3) 实现…...

创新点!贝叶斯优化、CNN与LSTM结合,实现更准预测、更快效率、更高性能!
能源与环境领域的时空数据预测面临特征解析与参数调优双重挑战。CNN-LSTM成为突破口:CNN提取空间特征,LSTM捕捉时序依赖,实现时空数据的深度建模。但混合模型超参数(如卷积核数、LSTM层数)调优复杂,传统方法…...

【Flutter】创建BMI计算器应用并添加依赖和打包
😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍创建BMI计算器应用并添加依赖和打包。 学其所用,用其所学。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下,下…...

【Linux 学习计划】-- 倒计时、进度条小程序
目录 \r 、\n、fflush 倒计时 进度条 进度条进阶版 结语 \r 、\n、fflush 首先我们先来认识这三个东西,这将会是我们接下来两个小程序的重点之一 首先是我们的老演员\n,也就是回车加换行 这里面其实包含了两个操作,一个叫做回车&…...

微服务的应用案例
从“菜市场”到“智慧超市”:一场微服务的变革之旅 曾经,我们的系统像一个熙熙攘攘的传统菜市场。所有功能模块(摊贩)都挤在一个巨大的单体应用中。用户请求(买菜的顾客)一多,整个市场就拥堵不堪…...
后端开发概念
1. 后端开发概念解析 1.1. 什么是服务器,后端服务 1.1.1. 服务器 服务器是一种提供服务的计算机系统,它可以接收、处理和响应来自其他计算机系统(客户端)的请求。服务器主要用于存储、处理和传输数据,以便客户端可以…...

2025网络安全趋势报告 内容摘要
2025 年网络安全在技术、法规、行业等多个维度呈现新趋势。技术上,人工智能、隐私保护技术、区块链、量子安全技术等取得进展;法规方面,数据安全法规进一步细化;行业应用中,物联网、工业控制系统安全升级,供…...

云原生安全基石:深度解析HTTPS协议(从原理到实战)
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念:HTTPS是什么? HTTPS(HyperText Transfer Protocol Secure)是HTTP协议的安全版本,…...

Autodl训练Faster-RCNN网络--自己的数据集(一)
参考文章: Autodl服务器中Faster-rcnn(jwyang)复现(一)_autodl faster rcnn-CSDN博客 Autodl服务器中Faster-rcnn(jwyang)训练自己数据集(二)_faster rcnn autodl-CSDN博客 食用指南:先跟着参考文章一进行操作,遇到问题再来看我这里有没有解…...

python打卡day36
复习日 仔细回顾一下神经网络到目前的内容,没跟上进度的补一下进度 作业:对之前的信贷项目,利用神经网络训练下,尝试用到目前的知识点让代码更加规范和美观。探索性作业(随意完成):尝试进入nn.M…...
8.Java 8 日期时间处理:从 Date 的崩溃到 LocalDate 的优雅自救
一、被 Date 逼疯的程序员:那些年踩过的坑 还记得刚学 Java 时被Date支配的恐惧吗? 想获取 "2023 年 10 月 1 日"?new Date(2023, 9, 1)—— 等等,为什么月份是 9?哦对,Java 的月份从 0 开…...
基于Python的全卷积网络(FCN)实现路径损耗预测
以下是一份详细的基于Python的全卷积网络(FCN)实现路径损耗预测的技术文档。本方案包含理论基础、数据生成、模型构建、训练优化及可视化分析,代码实现约6000字。 基于全卷积网络的无线信道路径损耗预测系统 目录 问题背景与需求分析系统架构设计合成数据生成方法全卷积网络…...
【ubuntu】安装NVIDIA Container Toolkit
目录 安装NVIDIA Container Toolkit 安装依赖 添加密钥和仓库 配置中国科技大学(USTC) 镜像 APT 源 更新 APT 包列表 安装 NVIDIA Container Toolkit 验证安装 重启docker 起容器示例命令 【问题】如何在docker中正确使用GPU? 安装…...

Paimon和Hive相集成
Flink版本1.17 Hive版本3.1.3 1、Paimon集成Hive 将paimon-hive-connector.jar复制到auxlib中,下载链接Index of /groups/snapshots/org/apache/https://repository.apache.org/snapshots/org/apache/paimon/ 通过flink进入查看paimon /opt/softwares/flink-1.…...
精益数据分析(74/126):从愿景到落地的精益开发路径——Rally的全流程管理实践
精益数据分析(74/126):从愿景到落地的精益开发路径——Rally的全流程管理实践 在创业的黏性阶段,如何将抽象的愿景转化为可落地的产品功能?如何在快速迭代中保持战略聚焦?今天,我们通过Rally软…...