|
|
@@ -4,214 +4,216 @@ |
|
|
|
|
|
|
|
## 工程操作 |
|
|
|
|
|
|
|
- **各类型文件含义** |
|
|
|
### **各类型文件含义** |
|
|
|
|
|
|
|
| 文件后缀 | 其意义 | |
|
|
|
| :-------: | :----------------------------------------------------------: | |
|
|
|
| `.eww` | 工作空间文件,包含多个项目的索引信息 | |
|
|
|
| `.ewp` | 项目文件,包含项目的设置和配置 | |
|
|
|
| `.ewd` | 调试配置文件,用于调试设置 | |
|
|
|
| `.ewt` | (嵌入式工作台模板文件) 用于存储工程或文件的模板配置,方便快速创建具有相同设置的新项目。 | |
|
|
|
| `.c` | 源代码文件,包含C语言代码 | |
|
|
|
| `.h` | 头文件,包含函数声明和宏定义 | |
|
|
|
| `.s/.asm` | 汇编文件 | |
|
|
|
| `.map` | 单片机地址映射文件 | |
|
|
|
| `.hex` | 烧录到芯片的十六进制文件 | |
|
|
|
| 文件后缀 | 其意义 | |
|
|
|
| :-------: | :----------------------------------------------------------: | |
|
|
|
| `.eww` | 工作空间文件,包含多个项目的索引信息 | |
|
|
|
| `.ewp` | 项目文件,包含项目的设置和配置 | |
|
|
|
| `.ewd` | 调试配置文件,用于调试设置 | |
|
|
|
| `.ewt` | (嵌入式工作台模板文件) 用于存储工程或文件的模板配置,方便快速创建具有相同设置的新项目。 | |
|
|
|
| `.c` | 源代码文件,包含C语言代码 | |
|
|
|
| `.h` | 头文件,包含函数声明和宏定义 | |
|
|
|
| `.s/.asm` | 汇编文件 | |
|
|
|
| `.map` | 单片机地址映射文件 | |
|
|
|
| `.hex` | 烧录到芯片的十六进制文件 | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- **新建/打开工作区** |
|
|
|
|
|
|
|
- 新建工作区 |
|
|
|
### **新建/打开工作区** |
|
|
|
|
|
|
|
 |
|
|
|
#### 新建工作区 |
|
|
|
|
|
|
|
- **打开工作区** |
|
|
|
 |
|
|
|
|
|
|
|
 |
|
|
|
#### **打开工作区** |
|
|
|
|
|
|
|
- **新建/打开工程** |
|
|
|
 |
|
|
|
|
|
|
|
- 新建工程 |
|
|
|
### **新建/打开工程** |
|
|
|
|
|
|
|
 |
|
|
|
#### 新建工程 |
|
|
|
|
|
|
|
- **打开工程** |
|
|
|
 |
|
|
|
|
|
|
|
 |
|
|
|
#### **打开工程** |
|
|
|
|
|
|
|
- **工作区导入/添加工程** |
|
|
|
 |
|
|
|
|
|
|
|
 |
|
|
|
### **工作区导入/添加工程** |
|
|
|
|
|
|
|
- **新建分组** |
|
|
|
 |
|
|
|
|
|
|
|
 |
|
|
|
### **新建分组** |
|
|
|
|
|
|
|
- **新建/打开文件** |
|
|
|
 |
|
|
|
|
|
|
|
- 新建文件 |
|
|
|
### **新建/打开文件** |
|
|
|
|
|
|
|
 |
|
|
|
#### 新建文件 |
|
|
|
|
|
|
|
- 打开文件 |
|
|
|
 |
|
|
|
|
|
|
|
 |
|
|
|
#### 打开文件 |
|
|
|
|
|
|
|
- **工程目录与文件目录的关系** |
|
|
|
 |
|
|
|
|
|
|
|
- 工程目录主要负责项目配置和构建控制,而文件目录则是源代码的物理存储位置。两者通过工程文件中的引用关系连接起来,形成完整的开发环境结构。 |
|
|
|
### **工程目录与文件目录的关系** |
|
|
|
|
|
|
|
- 工程目录主要负责项目配置和构建控制,而文件目录则是源代码的物理存储位置。两者通过工程文件中的引用关系连接起来,形成完整的开发环境结构。 |
|
|
|
|
|
|
|
## 工程配置 |
|
|
|
|
|
|
|
- **设备配置** |
|
|
|
### **设备配置** |
|
|
|
|
|
|
|
#### 选择芯片型号 |
|
|
|
|
|
|
|
- 选择芯片型号 |
|
|
|
 |
|
|
|
|
|
|
|
 |
|
|
|
 |
|
|
|
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- **编译配置** |
|
|
|
### **编译配置** |
|
|
|
|
|
|
|
- 优化等级 |
|
|
|
#### 优化等级 |
|
|
|
|
|
|
|
 |
|
|
|
 |
|
|
|
|
|
|
|
- 硬件浮点 |
|
|
|
#### 硬件浮点 |
|
|
|
|
|
|
|
 |
|
|
|
 |
|
|
|
|
|
|
|
- 预处理 |
|
|
|
#### 预处理 |
|
|
|
|
|
|
|
 |
|
|
|
 |
|
|
|
|
|
|
|
- 链接文件(.icf链接脚本控制内存分配(Flash/ROM、RAM 布局)关键硬件相关文件) |
|
|
|
#### 链接文件 |
|
|
|
|
|
|
|
 |
|
|
|
(.icf链接脚本控制内存分配(Flash/ROM、RAM 布局)关键硬件相关文件) |
|
|
|
|
|
|
|
- 文件路径配置 |
|
|
|
 |
|
|
|
|
|
|
|
 |
|
|
|
### 文件路径配置 |
|
|
|
|
|
|
|
- 输出文件路径 |
|
|
|
 |
|
|
|
|
|
|
|
 |
|
|
|
### 输出文件路径 |
|
|
|
|
|
|
|
- 输出文件配置 |
|
|
|
 |
|
|
|
|
|
|
|
 |
|
|
|
### 输出文件配置 |
|
|
|
|
|
|
|
- 调试器配置 |
|
|
|
 |
|
|
|
|
|
|
|
 |
|
|
|
### 调试器配置 |
|
|
|
|
|
|
|
- 库相关配置 |
|
|
|
 |
|
|
|
|
|
|
|
 |
|
|
|
### 库相关配置 |
|
|
|
|
|
|
|
- 静态库的封装 |
|
|
|
 |
|
|
|
|
|
|
|
1.  |
|
|
|
### 静态库的封装 |
|
|
|
|
|
|
|
2.  |
|
|
|
1.  |
|
|
|
|
|
|
|
3.  |
|
|
|
2.  |
|
|
|
|
|
|
|
4. 屏蔽不用编译的文件 |
|
|
|
3.  |
|
|
|
|
|
|
|
 |
|
|
|
4. 屏蔽不用编译的文件 |
|
|
|
|
|
|
|
 |
|
|
|
 |
|
|
|
|
|
|
|
5. 编译 |
|
|
|
 |
|
|
|
|
|
|
|
- 静态库的调用 |
|
|
|
5. 编译 |
|
|
|
|
|
|
|
1.  |
|
|
|
2.  |
|
|
|
3. 将之前的.c文件删除 |
|
|
|
4. 编译执行 |
|
|
|
### 静态库的调用 |
|
|
|
|
|
|
|
1.  |
|
|
|
2.  |
|
|
|
3. 将之前的.c文件删除 |
|
|
|
4. 编译执行 |
|
|
|
|
|
|
|
## 工程调试 |
|
|
|
|
|
|
|
- 断点 |
|
|
|
### 断点 |
|
|
|
|
|
|
|
#### 设置断点 |
|
|
|
|
|
|
|
设置断点(点击代码行左侧,出现红色圆圈) |
|
|
|
|
|
|
|
#### 禁用断点 |
|
|
|
|
|
|
|
禁用断点(右键红色圆圈,Enable/disable) |
|
|
|
|
|
|
|
#### 启用断点 |
|
|
|
|
|
|
|
- 设置断点 |
|
|
|
启用断点(右键红色圆圈,Enable/disable) |
|
|
|
|
|
|
|
设置断点(点击代码行左侧,出现红色圆圈) |
|
|
|
#### 删除断点 |
|
|
|
|
|
|
|
- 禁用断点 |
|
|
|
删除断点(再次点击代码行左侧,红色圆圈消失) |
|
|
|
|
|
|
|
禁用断点(右键红色圆圈,Enable/disable) |
|
|
|
#### 条件断点 |
|
|
|
|
|
|
|
- 启用断点 |
|
|
|
条件断点(可以设置一个条件,当条件满足时,断点生效) |
|
|
|
|
|
|
|
启用断点(右键红色圆圈,Enable/disable) |
|
|
|
 |
|
|
|
|
|
|
|
- 删除断点 |
|
|
|
### 监控信息 |
|
|
|
|
|
|
|
删除断点(再次点击代码行左侧,红色圆圈消失) |
|
|
|
 |
|
|
|
|
|
|
|
- 条件断点 |
|
|
|
#### 寄存器信息 |
|
|
|
|
|
|
|
条件断点(可以设置一个条件,当条件满足时,断点生效) |
|
|
|
 |
|
|
|
|
|
|
|
 |
|
|
|
#### 内存信息 |
|
|
|
|
|
|
|
- 监控信息 |
|
|
|
 |
|
|
|
|
|
|
|
 |
|
|
|
#### 栈信息 |
|
|
|
|
|
|
|
- 寄存器信息 |
|
|
|
 |
|
|
|
|
|
|
|
 |
|
|
|
#### 汇编信息 |
|
|
|
|
|
|
|
- 内存信息 |
|
|
|
 |
|
|
|
|
|
|
|
 |
|
|
|
#### 调用堆栈信息 |
|
|
|
|
|
|
|
- 栈信息 |
|
|
|
调用堆栈窗口通常在IDE(如Visual Studio)中提供,它展示了函数调用的顺序列表。 |
|
|
|
|
|
|
|
 |
|
|
|
 |
|
|
|
|
|
|
|
- 汇编信息 |
|
|
|
### 单步调试 |
|
|
|
|
|
|
|
 |
|
|
|
#### 逐过程 |
|
|
|
|
|
|
|
- 调用堆栈信息 |
|
|
|
 |
|
|
|
|
|
|
|
调用堆栈窗口通常在IDE(如Visual Studio)中提供,它展示了函数调用的顺序列表。 |
|
|
|
#### 逐语句 |
|
|
|
|
|
|
|
 |
|
|
|
 |
|
|
|
|
|
|
|
- 单步调试 |
|
|
|
#### 复位 |
|
|
|
|
|
|
|
- 逐过程 |
|
|
|
 |
|
|
|
|
|
|
|
 |
|
|
|
#### 跳出 |
|
|
|
|
|
|
|
- 逐语句 |
|
|
|
 |
|
|
|
|
|
|
|
 |
|
|
|
## IAR 调试常用操作对照表(含英文缩写、快捷键和含义) |
|
|
|
|
|
|
|
- 复位 |
|
|
|
|
|
|
|
 |
|
|
|
|
|
|
|
- 跳出 |
|
|
|
|
|
|
|
 |
|
|
|
|
|
|
|
## IAR 调试常用操作对照表(含英文缩写、快捷键和含义) |
|
|
|
|
|
|
|
| 中文名称 | 英文名称 | 缩写/简称 | 快捷键 | 含义说明 | |
|
|
|
| -------- | --------- | ------------------ | -------------- | ------------------------------------------------------------ | |
|
|
|
| 逐语句 | Step Into | `StepIn` 或 `SI` | `F11` | 执行当前语句,若为函数调用,则进入函数内部逐句调试。 | |
|
|
|
| 逐过程 | Step Over | `StepOver` 或 `SO` | `F10` | 执行当前语句,若为函数调用,则跳过函数体,直接执行下一行。 | |
|
|
|
| 跳出 | Step Out | `StepOut` 或 `SR` | `Shift + F11` | 执行当前函数剩余代码并跳出,返回到调用该函数的位置。 | |
|
|
|
| 复位 | Reset | `Reset` | *无默认快捷键* | 让 MCU 从复位向量重新启动程序执行(从 `main()` 或初始化开始)。 | |
|
|
|
| 中文名称 | 英文名称 | 缩写/简称 | 快捷键 | 含义说明 | |
|
|
|
| -------- | --------- | ------------------ | -------------- | ------------------------------------------------------------ | |
|
|
|
| 逐语句 | Step Into | `StepIn` 或 `SI` | `F11` | 执行当前语句,若为函数调用,则进入函数内部逐句调试。 | |
|
|
|
| 逐过程 | Step Over | `StepOver` 或 `SO` | `F10` | 执行当前语句,若为函数调用,则跳过函数体,直接执行下一行。 | |
|
|
|
| 跳出 | Step Out | `StepOut` 或 `SR` | `Shift + F11` | 执行当前函数剩余代码并跳出,返回到调用该函数的位置。 | |
|
|
|
| 复位 | Reset | `Reset` | *无默认快捷键* | 让 MCU 从复位向量重新启动程序执行(从 `main()` 或初始化开始)。 | |
|
|
|
|
|
|
|
[**参考文献**](https://blog.csdn.net/ideal121/article/details/118675124?fromshare=blogdetail&sharetype=blogdetail&sharerId=118675124&sharerefer=PC&sharesource=2301_81415726&sharefrom=from_link) |