浏览代码

更改

master
wsk 3 天前
父节点
当前提交
d7ef4d232d
共有 5 个文件被更改,包括 130 次插入118 次删除
  1. +119
    -117
      IAR/IAR.md
  2. +2
    -0
      Library/Library.md
  3. +9
    -1
      SourceInSight/SourceInSight.md
  4. 二进制
      SourceInSight/pictures/image-20250712181925371.png
  5. 二进制
      SourceInSight/pictures/image-20250712182757921.png

+ 119
- 117
IAR/IAR.md 查看文件

@@ -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` | 烧录到芯片的十六进制文件 |


- **新建/打开工作区**

- 新建工作区
### **新建/打开工作区**

![image-20250709093244205](./pictures/image-20250709093244205.png)
#### 新建工作区

- **打开工作区**
![image-20250709093244205](./pictures/image-20250709093244205.png)

![image-20250709093728548](./pictures/image-20250709093728548.png)
#### **打开工作区**

- **新建/打开工程**
![image-20250709093728548](./pictures/image-20250709093728548.png)

- 新建工程
### **新建/打开工程**

![image-20250709093806148](./pictures/image-20250709093806148.png)
#### 新建工程

- **打开工程**
![image-20250709093806148](./pictures/image-20250709093806148.png)

![image-20250709093908974](./pictures/image-20250709093908974.png)
#### **打开工程**

- **工作区导入/添加工程**
![image-20250709093908974](./pictures/image-20250709093908974.png)

![image-20250709094027152](./pictures/image-20250709094027152.png)
### **工作区导入/添加工程**

- **新建分组**
![image-20250709094027152](./pictures/image-20250709094027152.png)

![image-20250709094122539](./pictures/image-20250709094122539.png)
### **新建分组**

- **新建/打开文件**
![image-20250709094122539](./pictures/image-20250709094122539.png)

- 新建文件
### **新建/打开文件**

![image-20250709094340738](./pictures/image-20250709094340738.png)
#### 新建文件

- 打开文件
![image-20250709094340738](./pictures/image-20250709094340738.png)

![image-20250709094428732](./pictures/image-20250709094428732.png)
#### 打开文件

- **工程目录与文件目录的关系**
![image-20250709094428732](./pictures/image-20250709094428732.png)

- 工程目录主要负责项目配置和构建控制,而文件目录则是源代码的物理存储位置。两者通过工程文件中的引用关系连接起来,形成完整的开发环境结构。
### **工程目录与文件目录的关系**

- 工程目录主要负责项目配置和构建控制,而文件目录则是源代码的物理存储位置。两者通过工程文件中的引用关系连接起来,形成完整的开发环境结构。

## 工程配置

- **设备配置**
### **设备配置**

#### 选择芯片型号

- 选择芯片型号
![image-20250709095356988](./pictures/image-20250709095356988.png)

![image-20250709095356988](./pictures/image-20250709095356988.png)
![image-20250709095422368](./pictures/image-20250709095422368.png)

![image-20250709095422368](./pictures/image-20250709095422368.png)


- **编译配置**
### **编译配置**

- 优化等级
#### 优化等级

![image-20250709095459265](./pictures/image-20250709095459265.png)
![image-20250709095459265](./pictures/image-20250709095459265.png)

- 硬件浮点
#### 硬件浮点

![image-20250709095532506](./pictures/image-20250709095532506.png)
![image-20250709095532506](./pictures/image-20250709095532506.png)

- 预处理
#### 预处理

![image-20250709100328867](./pictures/image-20250709100328867.png)
![image-20250709100328867](./pictures/image-20250709100328867.png)

- 链接文件(.icf链接脚本控制内存分配(Flash/ROM、RAM 布局)关键硬件相关文件)
#### 链接文件

![image-20250709095718033](./pictures/image-20250709095718033.png)
(.icf链接脚本控制内存分配(Flash/ROM、RAM 布局)关键硬件相关文件)

- 文件路径配置
![image-20250709095718033](./pictures/image-20250709095718033.png)

![image-20250709095759245](./pictures/image-20250709095759245.png)
### 文件路径配置

- 输出文件路径
![image-20250709095759245](./pictures/image-20250709095759245.png)

![image-20250709100111787](./pictures/image-20250709100111787.png)
### 输出文件路径

- 输出文件配置
![image-20250709100111787](./pictures/image-20250709100111787.png)

![image-20250709100429885](./pictures/image-20250709100429885.png)
### 输出文件配置

- 调试器配置
![image-20250709100429885](./pictures/image-20250709100429885.png)

![image-20250709100507410](./pictures/image-20250709100507410.png)
### 调试器配置

- 库相关配置
![image-20250709100507410](./pictures/image-20250709100507410.png)

![image-20250709100552114](./pictures/image-20250709100552114.png)
### 库相关配置

- 静态库的封装
![image-20250709100552114](./pictures/image-20250709100552114.png)

1. ![image-20250709185406199](./pictures/image-20250709185406199.png)
### 静态库的封装

2. ![image-20250709185505451](./pictures/image-20250709185505451.png)
1. ![image-20250709185406199](./pictures/image-20250709185406199.png)

3. ![image-20250709185622450](./pictures/image-20250709185622450.png)
2. ![image-20250709185505451](./pictures/image-20250709185505451.png)

4. 屏蔽不用编译的文件
3. ![image-20250709185622450](./pictures/image-20250709185622450.png)

![image-20250709185744113](./pictures/image-20250709185744113.png)
4. 屏蔽不用编译的文件

![image-20250709185833195](./pictures/image-20250709185833195.png)
![image-20250709185744113](./pictures/image-20250709185744113.png)

5. 编译
![image-20250709185833195](./pictures/image-20250709185833195.png)

- 静态库的调用
5. 编译

1. ![image-20250709185922441](./pictures/image-20250709185922441.png)
2. ![image-20250709190002503](./pictures/image-20250709190002503.png)
3. 将之前的.c文件删除
4. 编译执行
### 静态库的调用

1. ![image-20250709185922441](./pictures/image-20250709185922441.png)
2. ![image-20250709190002503](./pictures/image-20250709190002503.png)
3. 将之前的.c文件删除
4. 编译执行

## 工程调试

- 断点
### 断点

#### 设置断点

设置断点(点击代码行左侧,出现红色圆圈)

#### 禁用断点

禁用断点(右键红色圆圈,Enable/disable)

#### 启用断点

- 设置断点
启用断点(右键红色圆圈,Enable/disable)

设置断点(点击代码行左侧,出现红色圆圈)
#### 删除断点

- 禁用断点
删除断点(再次点击代码行左侧,红色圆圈消失)

禁用断点(右键红色圆圈,Enable/disable)
#### 条件断点

- 启用断点
条件断点(可以设置一个条件,当条件满足时,断点生效)

启用断点(右键红色圆圈,Enable/disable)
![image-20250709104442792](./pictures/image-20250709104442792.png)

- 删除断点
### 监控信息

删除断点(再次点击代码行左侧,红色圆圈消失)
![image-20250709101836850](./pictures/image-20250709101836850.png)

- 条件断点
#### 寄存器信息

条件断点(可以设置一个条件,当条件满足时,断点生效)
![image-20250709105019076](./pictures/image-20250709105019076.png)

![image-20250709104442792](./pictures/image-20250709104442792.png)
#### 内存信息

- 监控信息
![image-20250709105314139](./pictures/image-20250709105314139.png)

![image-20250709101836850](./pictures/image-20250709101836850.png)
#### 栈信息

- 寄存器信息
![image-20250709105420224](./pictures/image-20250709105420224.png)

![image-20250709105019076](./pictures/image-20250709105019076.png)
#### 汇编信息

- 内存信息
![image-20250709105851015](./pictures/image-20250709105851015.png)

![image-20250709105314139](./pictures/image-20250709105314139.png)
#### 调用堆栈信息

- 栈信息
调用堆栈窗口通常在IDE(如Visual Studio)中提供,它展示了函数调用的顺序列表。

![image-20250709105420224](./pictures/image-20250709105420224.png)
![image-20250709190439295](./pictures/image-20250709190439295.png)

- 汇编信息
### 单步调试

![image-20250709105851015](./pictures/image-20250709105851015.png)
#### 逐过程

- 调用堆栈信息
![image-20250709191214143](./pictures/image-20250709191214143.png)

调用堆栈窗口通常在IDE(如Visual Studio)中提供,它展示了函数调用的顺序列表。
#### 逐语句

![image-20250709190439295](./pictures/image-20250709190439295.png)
![image-20250709191149273](./pictures/image-20250709191149273.png)

- 单步调试
#### 复位

- 逐过程
![image-20250709103631255](./pictures/image-20250709103631255.png)

![image-20250709191214143](./pictures/image-20250709191214143.png)
#### 跳出

- 逐语句
![image-20250709191239821](./pictures/image-20250709191239821.png)

![image-20250709191149273](./pictures/image-20250709191149273.png)
## IAR 调试常用操作对照表(含英文缩写、快捷键和含义)

- 复位
![image-20250709103631255](./pictures/image-20250709103631255.png)
- 跳出
![image-20250709191239821](./pictures/image-20250709191239821.png)
## 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)

+ 2
- 0
Library/Library.md 查看文件

@@ -48,6 +48,8 @@
- 在代码中语句加载lib调用

使用`#pragma comment(lib, "creat_static_lib.lib")`指令

## 动态库
#### 动态库的基本概念


+ 9
- 1
SourceInSight/SourceInSight.md 查看文件

@@ -140,4 +140,12 @@
- **适用场景**:
- 快速跳转函数/变量定义
- **缺点**:
- 搜不到未同步的符号(需手动同步)
- 搜不到未同步的符号(需手动同步)

## 同步滚动

![image-20250712181925371](./pictures/image-20250712181925371.png)

## 改字体

![image-20250712182757921](./pictures/image-20250712182757921.png)

二进制
SourceInSight/pictures/image-20250712181925371.png 查看文件

之前 之后
宽度: 751  |  高度: 415  |  大小: 48 KiB

二进制
SourceInSight/pictures/image-20250712182757921.png 查看文件

之前 之后
宽度: 552  |  高度: 655  |  大小: 60 KiB

正在加载...
取消
保存