| |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| -> 嵌入式 -> 汇编语言笔记-keil5软件仿真及调试 -> 正文阅读 |
|
|
[嵌入式]汇编语言笔记-keil5软件仿真及调试 |
目录keil5调试功能???????keil5的Debug选项分为软件仿真和硬件调试。两种方式的区别在于,前者不需要硬件平台,而是通过软件模拟芯片的运行,此时可以通过逻辑分析仪等查看(模拟)芯片输出(当然硬件调试也可以使用逻辑分析仪等功能)。 软件仿真设置
硬件调试设置
调试方法???????设置结束后,点击“Debug”-“Start/Stop Debug Session”开始Debug。
调试选项及介绍
调试窗口???????通过“View”或调试选项旁的图标可以打开相应的调试窗口: Command???????命令显示窗口,如下图所示,在该窗口“命令输入区”输入相应调试命令即可完成相应功能,调试命令参考调试命令文档。
Disassembly???????反汇编窗口,如下图所示,该窗口将原代码(即代码编辑区的代码)、机器码和反汇编代码比对显示,其中,红色字体为原代码,原代码前是对应语句的行号。红色字体下面的黑色字体为对应的机器码和反汇编代码,黑色字体可以分为三个部分。
Symbols???????模块窗口,如下图所示,该窗口用于显示了工程下各个文件中的函数(名称、地址、类型)以及函数内的变量(名称、地址、类型),在函数位置右键点击可以进行跳转或复制函数的位置,在变量位置右键点击可以将其添加至watch、memory或复制位置。 Registers???????寄存器窗口,如下图所示,该窗口用于显示R0~R15、xPSR等内核寄存器的值(不是外设寄存器),如下图所示,关于内核寄存器的介绍可以查看ARM架构基本寄存器。 Call Stack(+Locals)???????调用关系和局部变量窗口,如下图所示,该窗口用于展示当前函数调用关系及函数的局部变量(包括参数和内部变量),如下图所示,调用关系为main函数调用SetTimeVal函数,SetTimeVal函数中包括type和timeVal两个参数。 Watch???????如下图所示,该窗口用于查看变量,包括变量名、值以及变量类型,可以点击Value一栏对变量的值修改。 Memory???????内存窗口,如下图所示,该窗口用于显示存储器中的数据,上方Address区用于输入变量名或地址值,此时下面的显示栏会移动到对应地址存储的数据。 Serial???????串口模拟窗口,该窗口用于模拟串口输出数据,UART #1对应UART1,UART #2对应UART2。将鼠标移至显示区并点击右键,选择相应选项后可清空串口、复制到剪贴板或切换显示模式(切换成ASCII、HEX等) Logic Analyzer???????逻辑分析仪窗口,如下图所示,该窗口作用类似逻辑分析仪。使用前需要点击左上角的“Setup…”后在弹出窗口内添加引脚,确定后点击运行即可查看引脚的输出波形。(添加方法和文件路径添加方法类似,以添加PB5引脚为例,在弹出窗口点击右上角的虚线框并输入PORTB.5即可),引脚添加后,在“Setup…”下的灰色区域鼠标右键可设置输出类型(Analog、bit、state)
外设寄存器查看???????上述的Register窗口查看的是处理器使用的工作寄存器,一般只有汇编语言会用到,通过固件库或寄存器开发单片机时,都是通过C语言设置单片机的各个寄存器,而通过keil5的软件仿真或硬件调试可以对芯片的外设寄存器查看及修改。 软件仿真限制???????软件仿真不是所有芯片都可以,部分芯片(如stm32F4以及GD各款)是无法软件仿真,会报错,好像听说要修改DLL文件或修改读写权限,但感觉可能性不大,文档中包含了可进行软件模拟的芯片,如其中的表所示。 |
|
|
| 嵌入式 最新文章 |
| 基于高精度单片机开发红外测温仪方案 |
| 89C51单片机与DAC0832 |
| 基于51单片机宠物自动投料喂食器控制系统仿 |
| 《痞子衡嵌入式半月刊》 第 68 期 |
| 多思计组实验实验七 简单模型机实验 |
| CSC7720 |
| 启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
| STM32初探 |
| STM32 总结 |
| 【STM32】CubeMX例程四---定时器中断(附工 |
|
|
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年12日历 | -2025/12/1 3:20:26- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |