Keil MDK 配置详解与调试技术

news2024/10/5 14:24:35
工程配置介绍

①    通用配置选项;

②    操作系统选项;

③    勾选后可以减小镜像尺寸,加快运行速度;

④    浮点配置;

⑤    加载简要配置,分散加载情况需要配置;

  1. 编译器输出选项;

  1. 可执行镜像名称;

  1. 跳转信息,选择该项可以查询跳转信息,不选择可以加快编译速度;

  1. 生成库.lib;

  1. 编译器编译报表选项;

  1. 编译器编译列表选项;

  1. 编译器、预处理器报表选项;

  1. 连接器报表选项;

  1. 用户配置选项;

  1. C/C++编译前运行选项;

  1. 工程build前运行选项;

  1. 工程build后运行选项;

  1. 编译器配置选项;

  1. 汇编器全局宏定义;

  1. 编译器等级优化选项;

  1. 对冗余函数的优化,建议勾选;

  1. 编译器路径;

  1. 编译器控制字;

  1. 编译器已添加控制字;

  1. 汇编器;

  1. 汇编器全局宏定义;

  1. 汇编器常用控制字;

  1. 汇编器路径;

  1. 汇编器控制字;

  1. 汇编器已添加控制字;

  1. 连接器;

  1. 连接器常用功能开关;

  1. 分散加载文件;

  1. 连接器命令控制字段;

  1. 连接器已加载控制字;

调试技术

1.内核寄存器;其中R0-R7也被称为低组寄存器,可以被所有指令使用;R8-R12也被称为高组寄存器,只能被32bit使用,不能被16bit指令使用;R13堆栈指针寄存器;R14连接寄存器,用于在调用子程序时存储返回地址;R15为程序计数器,在汇编代码中一般我们都都叫它的外号“PC”。因为CM3内部使用了指令流水线,读PC时返回的值是当前指令的地址+4。通过这些寄存器组可以迅速定位到出错的程序的位置,无须在界面5里面打断点自己慢慢找。

例如,写如下代码:

进入debug调试,可以观察寄存器组,及堆栈中的值:

2.反汇编窗口;在问题难以定位的情况下,汇编可能是分析问题的最后一根稻草。

3.命令窗口,Keil支持很多的调试命令,作为断点调试的强有力补充手段,比如用于显示特定Memory的Display命令、用于显示当前Symbol的dir命令、用于调用逻辑分析仪的LA命令、用于下一些特殊断点的BreakSet/BreakRead命令等。

4.CallStack+locals窗口;可以显示变量/当前堆栈的里的元素,可以看出堆栈内部情况及调用关系。

其他窗口如memory窗口,可以通过输入地址查看具体存储值,非常常用。

其他窗口如NVIC窗口,可以观察所有中断的状态。

拓展内容

1.《Cortex-M启动代码分析》

2.《编译器原理简介》

3.《小试牛刀》

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

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

相关文章

今年你拿到了几个月的年终奖?

近期听到最多的三个消息:阳了 、 裁员 、 年终奖。 今年无疑是非常艰难的一年,无论国内还是国外裁员貌似从年初到年末从未停止过,加上疫情放开之后,大部分人都加入了羊群的行列,让我们的生活雪上加霜。 腾讯今年也陆…

结构化分析方法

目录 1.概述 2.数据流图 3.结构图 4.一个例子 4.1.需求 4.2.数据流图 4.3.结构图 5.辅助工具 5.1.数据字典 5.2.加工说明 1.概述 结构化方法是世界上第一个软件开发方法学,用来指导从需求分析、到设计开发各个阶段该怎么样做,采用什么样的方法…

ubuntu22.04搭建qemu环境测试内核

ubuntu22.04搭建qemu环境测试内核安装qemu创建qemu目录编译内核编译文件系统启动qemu安装qemu sudo apt-get install qemu krokodilkrokodil-SY-ZL-H110N-D3V:~/workspace$ dpkg -l | grep qemu ii ipxe-qemu 1.21.1git-20220113.fbbdc392…

R语言GD包基于栅格图像实现地理探测器与连续参数的自动离散化

本文介绍基于R语言中的GD包,依据栅格影像数据,实现自变量最优离散化方法选取与执行,并进行地理探测器(Geodetector)操作的方法。 首先,在R语言中进行地理探测器操作,可通过geodetector包、GD包等…

Qt扫盲-QSS概述

QSS概述一、概述二、详细一、概述 QSS 其实是Qt样式表,Qt样式表是Qt界面的一种强大的机制,除了通过继承QStyle已经可以实现的功能外,它还允许您自定义窗口组件的外观。Qt样式表的概念、术语和语法很大程度上受到HTML层叠样式表(CSS)的启发。…

作为网络工程师,你知道什么是VLAN 跳跃攻击吗?

您听说过 VLAN 跳跃吗?这是黑客用来访问他们无权进入的网络的一种技术。在本文中,我们将探讨什么是 VLAN 跳跃、它的工作原理以及恶意行为者如何利用它。我们还将了解可用于执行 VLAN 跳跃的工具以及企业如何保护自己免受这些攻击。 一、什么是VLAN&…

商业智能BI工具评估指南

随着行业软件业务功能的不断完善,同行业软件日趋趋同,竞争更加白热化。同时,随着企业数字化转型的深入,企业自身对数据的使用需求越来越强烈。在用户的业务处理过程中,在业务软件内直接给用户提供数据分析结果具有更高…

认识python和python基础知识点

目前python版本分为python2和python3,主流都是使用Python3,因为python2到2020年开源社区就不在维护了,目前公司开发使用也基本都是python3.下面的演示基于python3 Python的3.0版本,常被称为Python 3000,或简称Py3k。相对于P…

基于Java springboot 疫情在线网课管理系统

🍅 作者主页 超级帅帅吴 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 文末获取源码联系方式 📝 文章目录一、前言介绍1.1 背景及意义1.2 系统运行环境二、系统设计2.1系统架构设计2.2角色功能图2.3登录时序图设计三、…

文件系统的认识

文件系统磁盘磁盘的物理结构磁盘的存储结构磁盘的逻辑抽象结构对磁盘组进行管理创建和删除文件时,os做了什么?创建一个文件时,os做了什么?删除一个文件,os做了什么?制作软硬链接软连接和硬链接区别制作静、…

Vue 使用过程中的问题总结(npm Nodejs Vue Vue-cli)

目录 关系图示 vue和webpack 的关系 Node.js npm package.json 有什么作用? Vue2 和 Vue3的区别 Vue-cli的版本区别 Vue在VsCode中的常见配置 Vuter Live server Prettier vscode vue 自动格式化 Vue.js devtools 常见报错 Vue 报错error:0308010C:di…

数学建模学习笔记-算法(线性规划模型)-下(例题运用)

目录 1.线性规划的基本公式 例题: ​编辑​编辑 1.符号 2.基本假设 3.模型的分析与建立 那么可以得出目标函数是 约束条件是 一.固定风险水平,优化收益 二.固定盈利水平,极小化风险 三.设置一个投资偏好系数S 语法解析 代码 输出结…

CET6 历年真题原词复现 核心词汇 做题技巧 听力拿分技巧汇总(这篇文章是英语四六级考试最后的版本,谢谢大家一路陪伴)

话不多说直接进入 这次是最后一次 也是最用心的一次关于CET6的整理,CET4很简单,我认为没有必要去整理或者帮助各位同学,cet4只是cet6的前置任务罢了,但要是你说你考完cet4就收手了,不考了,不考6级了。我只…

(十一) Docker network

Docker network一、概述1.1、简介1.2、常用基本命令1.2、作用二、网络模式2.1、四种模式介绍2.2、容器实例内默认网络IP生产规则三、模式说明1、bridge2、host3、none4、container5、自定义网络1、概念2、没有自定义网络时3、自定义网络4、Link5、自定义bridge网络与默认bridge…

寒假每日一题W2D1——选数异或

题目描述 给定一个长度为 n 的数列 A1,A2,⋅⋅⋅,An 和一个非负整数 x,给定 m 次查询,每次询问能否从某个区间 [l,r] 中选择两个数使得他们的异或等于 x。 输入输出格式及数据范围 输入输出样例 思路 ①对于两个数的异或值为x,可以化简为&…

RHCE第二天之chrony服务部署详解

文章目录一、chrony服务器介绍二、安装与配置三、chrony服务部署四、chronyc 的常见命令五、chronyc sources 输出结果解析一、chrony服务器介绍 ①Chrony是一个开源自由的网络时间协议 NTP 的客户端和服务器软软件。它能让计算机保持系统时钟与时钟服务器(NTP&…

谈谈如何在简历筛选中尽可能 “存活下来“, 如何在面试过程中 “游刃有余“

本文只是个人学习总结出来的技巧, 仅供参考 如果有不认同的地方, 也不必太较真, 因人而异 目录 1. 为什么要做简历 1.2 好简历与差简历的区别 2. 如何做一份好的简历 2.1 知己知彼 2.2 构思内容 2.3 模板的选择 2.4 填充内容 2.5 不断的更新迭代 2.6 其他注意事项 3…

Wondershare Recovery - 万兴数据恢复专家,恢复你 Mac 上的重要文件

Wondershare Recovery - 万兴数据恢复专家,恢复你 Mac 上的重要文件 Wondershare Recoverit 是恢复被删除文件最有效的软件之一。计算机用户面临的一个主要问题是失去机密信息。我们可能是误删除了数据和文件,或者可能是由于病毒袭击、操作系统故障或硬盘…

LaoCat带你认识容器与镜像(二【二章】)

系列二章二小节,发现概念性的知识看得人并不多,csdn的一篇解决问题的博文,却涨粉近400,有点意思~ 本章内容 操作Docker容器 本文实操全部基于Ubuntu 20.04 同样,容器也是Docker重要的核心成员之一,Docker容…

如何与沃尔格林Walgreens建立EDI连接?

沃尔格林Walgreens从1901年芝加哥一个家庭作坊式的小店开始,经历了百年沧桑,如今已经拥有4000多家连锁药店,在自己100多年的发展历史中年年赢利,创造了连续100多年的赢利神话。 与沃尔格林Walgreens建立合作,一个重要环…