Confronta commit

...

Nessun commit in comune. '阚星宇' e 'chenminjun' hanno storie completamente diverse.

100 ha cambiato i file con 181 aggiunte e 838 eliminazioni
  1. +0
    -258
      IAR/IAR.md
  2. BIN
      IAR/Pictures/image-20250708131909282.png
  3. BIN
      IAR/Pictures/image-20250708131945592.png
  4. BIN
      IAR/Pictures/image-20250708132254972.png
  5. BIN
      IAR/Pictures/image-20250708132546212.png
  6. BIN
      IAR/Pictures/image-20250708133238110.png
  7. BIN
      IAR/Pictures/image-20250708135420393.png
  8. BIN
      IAR/Pictures/image-20250708135958571.png
  9. BIN
      IAR/Pictures/image-20250708140541188.png
  10. BIN
      IAR/Pictures/image-20250708141257388.png
  11. BIN
      IAR/Pictures/image-20250708142245783.png
  12. BIN
      IAR/Pictures/image-20250708142455122.png
  13. BIN
      IAR/Pictures/image-20250708142616060.png
  14. BIN
      IAR/Pictures/image-20250708142932221.png
  15. BIN
      IAR/Pictures/image-20250708143112548.png
  16. BIN
      IAR/Pictures/image-20250708144035699.png
  17. BIN
      IAR/Pictures/image-20250708150820220.png
  18. BIN
      IAR/Pictures/image-20250708151057158.png
  19. BIN
      IAR/Pictures/image-20250708152500923.png
  20. BIN
      IAR/Pictures/image-20250708152756370.png
  21. BIN
      IAR/Pictures/image-20250708152951214.png
  22. BIN
      IAR/Pictures/image-20250708153108132.png
  23. BIN
      IAR/Pictures/image-20250708153204889.png
  24. BIN
      IAR/Pictures/image-20250708153257586.png
  25. BIN
      IAR/Pictures/image-20250708153531949.png
  26. BIN
      IAR/Pictures/image-20250708153851629.png
  27. BIN
      IAR/Pictures/image-20250709180547755.png
  28. BIN
      IAR/Pictures/image-20250709180618391.png
  29. BIN
      IAR/Pictures/image-20250709180905530.png
  30. BIN
      IAR/Pictures/image-20250709181010911.png
  31. BIN
      IAR/Pictures/image-20250709181230566.png
  32. BIN
      IAR/Pictures/image-20250710125750078.png
  33. BIN
      IAR/Pictures/image-20250710125826600.png
  34. BIN
      IAR/Pictures/image-20250710135821708.png
  35. BIN
      IAR/Pictures/image-20250710140023223.png
  36. BIN
      IAR/Pictures/image-20250710142954145.png
  37. BIN
      IAR/Pictures/image-20250710153852360.png
  38. BIN
      IAR/Pictures/image-20250710153915835.png
  39. BIN
      IAR/Pictures/image-20250710155713655.png
  40. BIN
      IAR/Pictures/image-20250710155748226.png
  41. BIN
      IAR/Pictures/image-20250710155750585.png
  42. BIN
      IAR/Pictures/image-20250710161708689.png
  43. BIN
      IAR/Pictures/image-20250711130022399.png
  44. BIN
      IAR/Pictures/image-20250711130039902.png
  45. +0
    -105
      Library/Library.md
  46. BIN
      Library/Pictures/image-20250708195734251.png
  47. BIN
      Library/Pictures/image-20250708195750876.png
  48. BIN
      Library/Pictures/image-20250710125750078.png
  49. BIN
      Library/Pictures/image-20250710125826600.png
  50. BIN
      Library/Pictures/image-20250710135821708.png
  51. BIN
      Library/Pictures/image-20250710140023223.png
  52. +0
    -189
      MarkDown/MarkDown.md
  53. BIN
      MarkDown/Pictures/image-20250708155340635.png
  54. BIN
      MarkDown/Pictures/image-20250708155417689.png
  55. BIN
      MarkDown/Pictures/image-20250708155510443.png
  56. BIN
      MarkDown/Pictures/image-20250708155536014.png
  57. BIN
      MarkDown/Pictures/image-20250708155601355.png
  58. BIN
      MarkDown/Pictures/image-20250708155614646.png
  59. BIN
      MarkDown/Pictures/image-20250708155628100.png
  60. BIN
      MarkDown/Pictures/image-20250708155650658.png
  61. BIN
      MarkDown/Pictures/image-20250708155714755.png
  62. BIN
      MarkDown/Pictures/image-20250708155739721.png
  63. BIN
      MarkDown/Pictures/image-20250708155800582.png
  64. BIN
      MarkDown/Pictures/image-20250708155842847.png
  65. BIN
      MarkDown/Pictures/image-20250708155916615.png
  66. BIN
      MarkDown/Pictures/image-20250708155941980.png
  67. BIN
      MarkDown/Pictures/image-20250708160446388.png
  68. BIN
      Source Insight/Pictures/image-20250708160507674.png
  69. BIN
      Source Insight/Pictures/image-20250708160523160.png
  70. BIN
      Source Insight/Pictures/image-20250708160555697.png
  71. BIN
      Source Insight/Pictures/image-20250708160619344.png
  72. BIN
      Source Insight/Pictures/image-20250708160639717.png
  73. BIN
      Source Insight/Pictures/image-20250708160654871.png
  74. +0
    -65
      Source Insight/Source Insight.md
  75. BIN
      Sourcetree/Pictures/image-20250708160913942.png
  76. BIN
      Sourcetree/Pictures/image-20250708160925365.png
  77. BIN
      Sourcetree/Pictures/image-20250708160944832.png
  78. BIN
      Sourcetree/Pictures/image-20250708161000682.png
  79. BIN
      Sourcetree/Pictures/image-20250708161023565.png
  80. BIN
      Sourcetree/Pictures/image-20250708161149061.png
  81. BIN
      Sourcetree/Pictures/image-20250708161204838.png
  82. BIN
      Sourcetree/Pictures/image-20250708161218765.png
  83. BIN
      Sourcetree/Pictures/image-20250708161231708.png
  84. BIN
      Sourcetree/Pictures/image-20250708161247753.png
  85. BIN
      Sourcetree/Pictures/image-20250708161301912.png
  86. BIN
      Sourcetree/Pictures/image-20250708161314068.png
  87. BIN
      Sourcetree/Pictures/image-20250708161333241.png
  88. BIN
      Sourcetree/Pictures/image-20250708161414737.png
  89. BIN
      Sourcetree/Pictures/image-20250708161435985.png
  90. BIN
      Sourcetree/Pictures/image-20250708161510352.png
  91. BIN
      Sourcetree/Pictures/image-20250708161523455.png
  92. BIN
      Sourcetree/Pictures/image-20250708161540040.png
  93. +0
    -221
      Sourcetree/Sourcetree.md
  94. +181
    -0
      TrainCamp_chenminjun_BasicLearn/IAR/IAR.md
  95. BIN
      TrainCamp_chenminjun_BasicLearn/IAR/pictures/优化等级.png
  96. BIN
      TrainCamp_chenminjun_BasicLearn/IAR/pictures/内存信息.png
  97. BIN
      TrainCamp_chenminjun_BasicLearn/IAR/pictures/删除断点.png
  98. BIN
      TrainCamp_chenminjun_BasicLearn/IAR/pictures/复位.png
  99. BIN
      TrainCamp_chenminjun_BasicLearn/IAR/pictures/寄存器信息.png
  100. BIN
      TrainCamp_chenminjun_BasicLearn/IAR/pictures/库相关配置.png

+ 0
- 258
IAR/IAR.md Vedi File

@@ -1,258 +0,0 @@
## IAR相关知识点



### 1.工程操作

#### 1.1各类型文件含义

##### 1.1.1工程核心文件

| 扩展名 | 名称 | 作用 |
| :----: | :------------------: | :----------------------------------------------------------: |
| .ewp | IAR 工程文件 | 存储工程配置(编译器选项、链接器设置、包含路径等) |
| .ewt | 嵌入式工作台模板文件 | 用于存储工程或文件的模板配置,方便快速创建具有相同设置的新项目。 |
| .eww | IAR 工作空间文件 | 管理多个工程(.ewp)的集合,方便同时打开多个关联工程 |
| .dep | 依赖文件 | 自动生成,记录源文件的依赖关系(如头文件引用),用于增量编译 |

##### 1.1.2源代码文件

| 扩展名 | 名称 | 作用 |
| --------- | :-------: | :-------------------------------------------------: |
| .c | C源文件 | 主程序代码 |
| .cpp/.cxx | c++源文件 | c++程序代码 |
| .h | 头文件 | 函数声明、宏定义、类型声明 |
| .s/.asm | 汇编文件 | 底层硬件操作或高性能代码 |
| .icf | 链接脚本 | 控制内存分配(Flash/ROM、RAM 布局)关键硬件相关文件 |

##### 1.1.3编译输出文件

| 扩展名 | 名称 | 作用 |
| ------ | :--------------: | :---------------------------------------------------------: |
| .out | ELF 格式输出文件 | 包含调试信息的可执行文件(用于下载和调试) |
| .hex | Intel HEX 文件 | 烧录到芯片的标准十六进制格式 |
| .bin | 二进制镜像 | 裸机烧录文件(无地址信息,需配合烧录工具指定地址) |
| .map | 内存映射文件 | 详细展示代码/数据在内存中的分布(分析栈溢出、内存占用必看) |
| .lst | 列表文件 | 汇编与源码混合视图(用于优化和调试) |

##### 1.1.4调试相关文件

| 扩展名 | 名称 | 作用 |
| -------- | :--------------: | :----------------------------------------: |
| .cspybat | C-SPY 批处理文件 | 自动化调试脚本(初始化寄存器、批量设断点) |
| .ddf | 设备描述文件 | 定义芯片寄存器(用于调试器外设视图) |
| .board | 开发板描述文件 | 配置板级硬件(时钟、引脚复用等) |
| .mac | 调试宏文件 | 扩展调试器功能(如自定义内存填充检测) |

##### 1.1.5配置与中间文件

| 扩展名 | 名称 | 作用 |
| --------------- | :----------: | :----------------------------------: |
| .custom_argvars | 环境变量配置 | 存储用户自定义环境变量(如编译路径) |
| .settings | IDE 设置文件 | 保存编辑器偏好(字体、颜色方案等) |
| .o/.obj | 目标文件 | 单个源文件的编译结果(链接时合并) |
| .d | 依赖信息文件 | Makefile 使用的依赖规则 |

##### 1.1.6特殊工具文件

| 扩展名 | 名称 | 作用 |
| ------ | :--------------: | :--------------------------------------: |
| .xcl | XLINK 链接器配置 | 高级链接控制(段重命名、优化选项) |
| .i | 预处理输出文件 | 展开宏和头文件后的源码(排查宏错误必备) |
| .sbr | 浏览信息文件 | 用于代码导航(函数调用关系) |

#### 1.2新建/打开工作区

软件左上角File菜单内点击New workspace即可创建新的工作区,如需要打开选择Open即可。

<img src=".\Pictures\image-20250708131909282.png" alt="image-20250708131909282" style="zoom:50%;" />

#### 1.3新建/打开工程

工作区新建/打开完成后,选择上方的Project,选择Create New project选择创建类型并命名和存档后完成新建工程。

打开工程选择Add。

<img src=".\Pictures\image-20250708131945592.png" alt="image-20250708131945592" style="zoom:50%;" />

#### 1.4工作区中导入/添加工程

选择上方的Project,点击Add Existing Project,便可以添加项目。

<img src=".\Pictures\image-20250708132254972.png" alt="image-20250708132254972" style="zoom:50%;" />

#### 1.5新建分组

右键项目名称,选择Add Group,新建分组

<img src=".\Pictures\image-20250708132546212.png" alt="image-20250708132546212" style="zoom:50%;" />

#### 1.6新建/打开文件

右键项目名称,选择Add File,新建文件。

<img src=".\Pictures\image-20250708133238110.png" alt="image-20250708133238110" style="zoom:50%;" />

#### 1.7工程目录与文件目录的关系

工程目录是文件目录的容器,通过相对路径引用文件目录中的资源。

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

### 2.工程配置

#### 2.1设备配置

右键工程文件,选择Options,进入工程配置,选择需要的单片机设备型号。

<img src=".\Pictures\image-20250708135420393.png" alt="image-20250708135420393" style="zoom:50%;" />

### 3.编译配置

#### 3.1优化等级

右键Options,选择C/C++ --> Optimizations ,进行优化等级配置。

<img src="./Pictures/image-20250709180547755.png" alt="image-20250709180547755" style="zoom:50%;" />

#### 3.2硬件浮点

General Options 界面,选择32bit或64bit,选择fpu功能是否开启。

<img src=".\Pictures\image-20250708140541188.png" alt="image-20250708140541188" style="zoom:50%;" />

#### 3.3预处理

右键Options,选择C/C++ --> Preprocessor ,Defined symbols进行预处理。

<img src="./Pictures/image-20250709180618391.png" alt="image-20250709180618391" style="zoom:50%;" />

#### 3.4链接文件

Linker页面设置链接文件。

<img src=".\Pictures\image-20250708142245783.png" alt="image-20250708142245783" style="zoom:50%;" />

#### 3.5文件路径位置

在Option页面C/C++设置文件路径位置,包括头文件位置。

<img src=".\Pictures\image-20250708142455122.png" alt="image-20250708142455122" style="zoom:50%;" />

#### 3.6输出文件配置

选择Output页面,然后设置输出文件位置。

<img src=".\Pictures\image-20250708142616060.png" alt="image-20250708142616060" style="zoom:50%;" />

#### 3.7输出文件路径

打开Option,选择General,选择output进行配置。

<img src=".\Pictures\image-20250708142932221.png" alt="image-20250708142932221" style="zoom:50%;" />

### 4.调试器配置

打开Option,选择Debug进行配置

<img src=".\Pictures\image-20250708143112548.png" alt="image-20250708143112548" style="zoom:50%;" />

### 5.库相关配置

设置库文件相关位置,同时在程序内include头文件,使用库。

<img src="./Pictures/image-20250710142954145.png" alt="image-20250710142954145" style="zoom:50%;" />

### 6.静态库的封装和调用

新建项目,同时设置.h和.c文件,进行内部程序的编写。注意减少外部依赖,能够直接移植调用。写完之后点击option进行设置,选择General,OutPut选择library,然后make编译生成.lib文件,使用时复制.lib文件到项目内,并在option内进行配置,然后选择Linker -- > Library,将静态库.lib文件添加,返回工程重新编译。

<img src=".\Pictures\image-20250708144035699.png" alt="image-20250708144035699" style="zoom:50%;" />

<img src="./Pictures/image-20250709181230566.png" alt="image-20250709181230566" style="zoom:50%;" />

### 7.工程调试

#### 7.1断点

##### 7.1.1设置断点

左侧标红设置断点

<img src=".\Pictures\image-20250708150820220.png" alt="image-20250708150820220" style="zoom:50%;" />

##### 7.1.2禁用断点

鼠标右键点击,disable breakpoints。

<img src=".\Pictures\image-20250708151057158.png" alt="image-20250708151057158" style="zoom:50%;" />

##### 7.1.3启用断点

鼠标右键点击,disable breakpoints。

##### 7.1.4取消断点

鼠标左键点击断点即可取消。

##### 7.1.5条件断点

鼠标右键想要断点处,选择Edit Breakpoint,将条件写入即可。

<img src=".\Pictures\image-20250708152500923.png" alt="image-20250708152500923" style="zoom:50%;" />

### 8.监控信息

选择view,找到watch,找到想要监视的信息,将其拖到watch窗口即可。

<img src=".\Pictures\image-20250708152756370.png" alt="image-20250708152756370" style="zoom:50%;" />

### 9.寄存器信息

打开view的registers窗口即可查看寄存器信息。

<img src=".\Pictures\image-20250708152951214.png" alt="image-20250708152951214" style="zoom:50%;" />

### 10.内存信息

打开view的memory窗口即可查看寄存器信息

![image-20250708153108132](.\Pictures\image-20250708153108132.png)

### 11.栈信息

打开view的stack窗口即可查看栈信息

<img src=".\Pictures\image-20250708153204889.png" alt="image-20250708153204889" style="zoom:50%;" />

### 12.汇编信息

打开view的disassembly窗口可以查看汇编信息

<img src=".\Pictures\image-20250708153257586.png" alt="image-20250708153257586" style="zoom:50%;" />

### 13.调用堆栈信息

打开view的call Stack窗口可以查看堆栈信息

<img src=".\Pictures\image-20250708153531949.png" alt="image-20250708153531949" style="zoom:50%;" />

### 14.单步调试

#### 14.1逐过程调试

菜单栏Step over。

<img src=".\Pictures\image-20250708153851629.png" alt="image-20250708153851629" style="zoom:50%;" />

#### 14.2逐语句调试

菜单栏Step into。

#### 14.3 复位

菜单栏Restart。

#### 14.4跳出

菜单栏step out。

BIN
IAR/Pictures/image-20250708131909282.png Vedi File

Prima Dopo
Larghezza: 811  |  Altezza: 481  |  Dimensione: 58 KiB

BIN
IAR/Pictures/image-20250708131945592.png Vedi File

Prima Dopo
Larghezza: 715  |  Altezza: 403  |  Dimensione: 37 KiB

BIN
IAR/Pictures/image-20250708132254972.png Vedi File

Prima Dopo
Larghezza: 810  |  Altezza: 450  |  Dimensione: 61 KiB

BIN
IAR/Pictures/image-20250708132546212.png Vedi File

Prima Dopo
Larghezza: 1074  |  Altezza: 562  |  Dimensione: 42 KiB

BIN
IAR/Pictures/image-20250708133238110.png Vedi File

Prima Dopo
Larghezza: 1470  |  Altezza: 765  |  Dimensione: 122 KiB

BIN
IAR/Pictures/image-20250708135420393.png Vedi File

Prima Dopo
Larghezza: 966  |  Altezza: 635  |  Dimensione: 80 KiB

BIN
IAR/Pictures/image-20250708135958571.png Vedi File

Prima Dopo
Larghezza: 865  |  Altezza: 682  |  Dimensione: 109 KiB

BIN
IAR/Pictures/image-20250708140541188.png Vedi File

Prima Dopo
Larghezza: 935  |  Altezza: 553  |  Dimensione: 90 KiB

BIN
IAR/Pictures/image-20250708141257388.png Vedi File

Prima Dopo
Larghezza: 1345  |  Altezza: 949  |  Dimensione: 185 KiB

BIN
IAR/Pictures/image-20250708142245783.png Vedi File

Prima Dopo
Larghezza: 1047  |  Altezza: 754  |  Dimensione: 129 KiB

BIN
IAR/Pictures/image-20250708142455122.png Vedi File

Prima Dopo
Larghezza: 981  |  Altezza: 641  |  Dimensione: 195 KiB

BIN
IAR/Pictures/image-20250708142616060.png Vedi File

Prima Dopo
Larghezza: 787  |  Altezza: 610  |  Dimensione: 67 KiB

BIN
IAR/Pictures/image-20250708142932221.png Vedi File

Prima Dopo
Larghezza: 585  |  Altezza: 613  |  Dimensione: 51 KiB

BIN
IAR/Pictures/image-20250708143112548.png Vedi File

Prima Dopo
Larghezza: 645  |  Altezza: 680  |  Dimensione: 48 KiB

BIN
IAR/Pictures/image-20250708144035699.png Vedi File

Prima Dopo
Larghezza: 682  |  Altezza: 656  |  Dimensione: 53 KiB

BIN
IAR/Pictures/image-20250708150820220.png Vedi File

Prima Dopo
Larghezza: 625  |  Altezza: 337  |  Dimensione: 8.9 KiB

BIN
IAR/Pictures/image-20250708151057158.png Vedi File

Prima Dopo
Larghezza: 579  |  Altezza: 264  |  Dimensione: 12 KiB

BIN
IAR/Pictures/image-20250708152500923.png Vedi File

Prima Dopo
Larghezza: 838  |  Altezza: 576  |  Dimensione: 46 KiB

BIN
IAR/Pictures/image-20250708152756370.png Vedi File

Prima Dopo
Larghezza: 665  |  Altezza: 578  |  Dimensione: 23 KiB

BIN
IAR/Pictures/image-20250708152951214.png Vedi File

Prima Dopo
Larghezza: 388  |  Altezza: 672  |  Dimensione: 53 KiB

BIN
IAR/Pictures/image-20250708153108132.png Vedi File

Prima Dopo
Larghezza: 1114  |  Altezza: 226  |  Dimensione: 16 KiB

BIN
IAR/Pictures/image-20250708153204889.png Vedi File

Prima Dopo
Larghezza: 366  |  Altezza: 294  |  Dimensione: 20 KiB

BIN
IAR/Pictures/image-20250708153257586.png Vedi File

Prima Dopo
Larghezza: 352  |  Altezza: 555  |  Dimensione: 39 KiB

BIN
IAR/Pictures/image-20250708153531949.png Vedi File

Prima Dopo
Larghezza: 364  |  Altezza: 333  |  Dimensione: 14 KiB

BIN
IAR/Pictures/image-20250708153851629.png Vedi File

Prima Dopo
Larghezza: 638  |  Altezza: 162  |  Dimensione: 11 KiB

BIN
IAR/Pictures/image-20250709180547755.png Vedi File

Prima Dopo
Larghezza: 878  |  Altezza: 514  |  Dimensione: 116 KiB

BIN
IAR/Pictures/image-20250709180618391.png Vedi File

Prima Dopo
Larghezza: 805  |  Altezza: 439  |  Dimensione: 105 KiB

BIN
IAR/Pictures/image-20250709180905530.png Vedi File

Prima Dopo
Larghezza: 858  |  Altezza: 474  |  Dimensione: 107 KiB

BIN
IAR/Pictures/image-20250709181010911.png Vedi File

Prima Dopo
Larghezza: 862  |  Altezza: 540  |  Dimensione: 97 KiB

BIN
IAR/Pictures/image-20250709181230566.png Vedi File

Prima Dopo
Larghezza: 985  |  Altezza: 580  |  Dimensione: 131 KiB

BIN
IAR/Pictures/image-20250710125750078.png Vedi File

Prima Dopo
Larghezza: 982  |  Altezza: 368  |  Dimensione: 94 KiB

BIN
IAR/Pictures/image-20250710125826600.png Vedi File

Prima Dopo
Larghezza: 814  |  Altezza: 241  |  Dimensione: 53 KiB

BIN
IAR/Pictures/image-20250710135821708.png Vedi File

Prima Dopo
Larghezza: 1504  |  Altezza: 761  |  Dimensione: 77 KiB

BIN
IAR/Pictures/image-20250710140023223.png Vedi File

Prima Dopo
Larghezza: 913  |  Altezza: 324  |  Dimensione: 25 KiB

BIN
IAR/Pictures/image-20250710142954145.png Vedi File

Prima Dopo
Larghezza: 1040  |  Altezza: 590  |  Dimensione: 233 KiB

BIN
IAR/Pictures/image-20250710153852360.png Vedi File

Prima Dopo
Larghezza: 740  |  Altezza: 207  |  Dimensione: 16 KiB

BIN
IAR/Pictures/image-20250710153915835.png Vedi File

Prima Dopo
Larghezza: 1230  |  Altezza: 353  |  Dimensione: 38 KiB

BIN
IAR/Pictures/image-20250710155713655.png Vedi File

Prima Dopo
Larghezza: 719  |  Altezza: 242  |  Dimensione: 21 KiB

BIN
IAR/Pictures/image-20250710155748226.png Vedi File

Prima Dopo
Larghezza: 809  |  Altezza: 389  |  Dimensione: 32 KiB

BIN
IAR/Pictures/image-20250710155750585.png Vedi File

Prima Dopo
Larghezza: 809  |  Altezza: 389  |  Dimensione: 32 KiB

BIN
IAR/Pictures/image-20250710161708689.png Vedi File

Prima Dopo
Larghezza: 1281  |  Altezza: 538  |  Dimensione: 74 KiB

BIN
IAR/Pictures/image-20250711130022399.png Vedi File

Prima Dopo
Larghezza: 685  |  Altezza: 208  |  Dimensione: 14 KiB

BIN
IAR/Pictures/image-20250711130039902.png Vedi File

Prima Dopo
Larghezza: 915  |  Altezza: 306  |  Dimensione: 13 KiB

+ 0
- 105
Library/Library.md Vedi File

@@ -1,105 +0,0 @@
## Library相关知识点


### 1.静态库

#### 1.1静态库的基本概念

静态库是**编译期绑定**的代码复用方案,适合:

- 追求**部署简单性**的场景
- 对**运行时环境控制严格**的系统
- **性能敏感**且**无需热更新**的模块

#### 1.2静态库的生成

第一,创建新项目,选择静态库。

第二,添加.c文件,同时编写.h和.c文件进行编写,编写完成后进行编译,生成.lib格式的静态库文件。

#### 1.3静态库的调用

##### 1.3.1在工程配置中调用

**静态库调用有三种方式**:

**第一**,在工程中调用静态库需要静态库路径,首先include,“内填写路径,并最后写.h文件名”,其次需要

#pragma comment进行静态库声明,然后就可以在函数内使用静态库。

<img src="./Pictures/image-20250708195734251.png" alt="image-20250708195734251" style="zoom:50%;" />

<img src="./Pictures/image-20250708195750876.png" alt="image-20250708195750876" style="zoom:50%;" />

**第二**,在项目属性 -- > 链接器 --> 常规 --> 附加库中添加静态库.lib文件的地址,并在输入页面附加依赖项中添加.lib文件。

**第三**,直接将lib文件添加到项目中。

以上三种方法都需要添加.h文件到项目。

##### 1.3.2在代码中语句加载lib调用

程序内可以使用相对路径也可以使用绝对路径,相对路径时需要将静态库文件复制到工程文件内。

参考上一项。

### 2.动态库

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

动态库(Dynamic Link Library, DLL / Shared Object, SO)是一种**在程序运行时才被加载的代码库**,允许多个程序共享同一份内存中的库副本

#### 2.2动态库的生成

##### 2.2.1通过导出语句生成

通过dllimport与dllexport导出语句生成动态库,新建空白项目,添加头文件源文件进行编写,在头文件中添加导出语句即可,然后将方案属性选择动态库,生成解决方案即可导出动态库。如图所示。

<img src="./../VisualStudio/Pictures/image-20250709103933102.png" alt="image-20250709103933102" style="zoom:50%;" />

下图是动态库导出的文件夹状态。

![image-20250709104007991](./../VisualStudio/Pictures/image-20250709104007991.png)

##### 2.2.2通过模块文件生成

通过def文件进行生成动态库。生成前需要添加def文件,然后添加代码进行生成操作。

<img src="./Pictures/image-20250710125750078.png" alt="image-20250710125750078" style="zoom:50%;" />

<img src="./Pictures/image-20250710125826600.png" alt="image-20250710125826600" style="zoom:50%;" />

#### 2.3动态库的调用

##### 2.3.1在工程配置中调用

动态库的调用分为隐性和显性调用两种。

第一,隐性调用,需要将动态库生成的.lib、.h和.dll文件添加到项目文件下,其次在项目工程中,通过属性-->链接器-->输入-->添加依赖项.lib文件,同时工程内添加.h头文件,然后可以进行调用了。

<img src="./../VisualStudio/Pictures/image-20250709104635329.png" alt="image-20250709104635329" style="zoom:50%;" />

<img src="./../VisualStudio/Pictures/image-20250709104647954.png" alt="image-20250709104647954" style="zoom:50%;" />

第二,显性调用

定义函数指针,并声明函数指针变量,然后通过程序动态加载dll文件到内存中(HINSTANCE hModule = LoadLibrary("TestDll.dll");),并获取指针地址,最后调用函数。

<img src="./../VisualStudio/Pictures/image-20250709104909662.png" alt="image-20250709104909662" style="zoom:50%;" />

<img src="./../VisualStudio/Pictures/image-20250709104930529.png" alt="image-20250709104930529" style="zoom:50%;" />

##### 2.3.2在代码中语句加载lib调用

#pragma comment (lib,地址),地址可以选择绝对地址或者相对地址。

<img src="./Pictures/image-20250708195734251.png" alt="image-20250708195734251" style="zoom:50%;" />

##### 2.3.3在代码中语句加载dll调用

HINSTANCE hDll = LoadLibrary(TEXT("DLLTest.dll"));

<img src="./../IAR/Pictures/image-20250710153852360.png" alt="image-20250710153852360" style="zoom:50%;" />

<img src="./../IAR/Pictures/image-20250710153915835.png" alt="image-20250710153915835" style="zoom:50%;" />


BIN
Library/Pictures/image-20250708195734251.png Vedi File

Prima Dopo
Larghezza: 974  |  Altezza: 394  |  Dimensione: 23 KiB

BIN
Library/Pictures/image-20250708195750876.png Vedi File

Prima Dopo
Larghezza: 690  |  Altezza: 267  |  Dimensione: 15 KiB

BIN
Library/Pictures/image-20250710125750078.png Vedi File

Prima Dopo
Larghezza: 982  |  Altezza: 368  |  Dimensione: 94 KiB

BIN
Library/Pictures/image-20250710125826600.png Vedi File

Prima Dopo
Larghezza: 814  |  Altezza: 241  |  Dimensione: 53 KiB

BIN
Library/Pictures/image-20250710135821708.png Vedi File

Prima Dopo
Larghezza: 1504  |  Altezza: 761  |  Dimensione: 77 KiB

BIN
Library/Pictures/image-20250710140023223.png Vedi File

Prima Dopo
Larghezza: 913  |  Altezza: 324  |  Dimensione: 25 KiB

+ 0
- 189
MarkDown/MarkDown.md Vedi File

@@ -1,189 +0,0 @@
# MarkDown相关知识点




### 1.标题相关

要创建标题,请在单词或短语前面添加井号 (#) 。# 的数量代表了标题的级别。例如,添加三个 # 表示创建一个三级标题 (<h3>) (例如:### My Header)。

### 三级标题My Header

## 二级标题My Header

# 一级标题My Header

<img src="./Pictures/image-20250708155340635.png" alt="image-20250708155340635" style="zoom:50%;" />

### 2.标号相关

#### 2.1有序标号

要创建有序列表,请在每个列表项前添加数字并紧跟一个英文句点。数字不必按数学顺序排列,但是列表应当以数字 1 起始。

1. nihao
2. queshi

> 要创建块引用

<img src="./../IAR/Pictures/image-20250710155713655.png" alt="image-20250710155713655" style="zoom:50%;" />

#### 2.2无序标号

要创建无序列表,请在每个列表项前面添加破折号 (-)、星号 (*) 或加号 (+) 。缩进一个或多个列表项可创建嵌套列表。

* 你好

<a id="section1"></a>

* 对的

<img src="./../IAR/Pictures/image-20250710155750585.png" alt="image-20250710155750585" style="zoom:50%;" />

#### 2.3段落

要创建段落,请使用空白行将一行或多行文本进行分隔。

比如这样

分开了

<img src="./Pictures/image-20250708155510443.png" alt="image-20250708155510443" style="zoom: 80%;" />

### 3.文字相关

#### 3.1粗体(Bold)

要加粗文本,请在单词或短语的前后各添加两个星号(asterisks)或下划线(underscores)。如需加粗一个单词或短语的中间部分用以表示强调的话,请在要加粗部分的两侧各添加两个星号(asterisks)。
**星号加粗**

__下划线加粗__

<img src="./Pictures/image-20250708155536014.png" alt="image-20250708155536014" style="zoom:50%;" />

#### 3.2斜体

要用斜体显示文本,请在单词或短语前后添加一个星号(asterisk)或下划线(underscore)。要斜体突出单词的中间部分,请在字母前后各添加一个星号,中间不要带空格。

*型号斜体

_下划线斜体

<img src="./Pictures/image-20250708155601355.png" alt="image-20250708155601355" style="zoom:50%;" />

#### 3.3加粗倾斜

要同时用粗体和斜体突出显示文本,请在单词或短语的前后各添加三个星号或下划线。要加粗并用斜体显示单词或短语的中间部分,请在要突出显示的部分前后各添加三个星号,中间不要带空格。

***型号

___下划线

**_混用

<img src="./Pictures/image-20250708155614646.png" alt="image-20250708155614646" style="zoom:50%;" />

#### 3.4删除线

前后加两个~ ~ ~ ~

~~比如这样~~

~~也可以只在前面加,但是会删除整行

<img src="./Pictures/image-20250708155628100.png" alt="image-20250708155628100" style="zoom:50%;" />

### 4.代码块

#### 4.1单行代码块

代码块的每一行缩进至少四个空格或一个制表符。

int a;
float b;

<img src="./Pictures/image-20250708155650658.png" alt="image-20250708155650658" style="zoom:50%;" />

#### 4.3多行代码块

根据Markdown处理器或编辑器的不同,您将在代码块之前和之后的行上使用三个反引号((```)或三个波浪号(~~~)。

~~~
#include <stdio.h>
int a;
int b;
~~~

<img src="./Pictures/image-20250708155714755.png" alt="image-20250708155714755" style="zoom:33%;" />

### 5.超链接

#### 5.1文字超链接

链接文本放在中括号内,链接地址放在后面的括号中,链接title可选。

超链接Markdown语法代码:[超链接显示名](超链接地址 "超链接title")

这是个编译器 [点击进入在线编辑器](https://markdown.com.cn/editor/ "这个是MarkDown的在线编译器")

<img src="./Pictures/image-20250708155739721.png" alt="image-20250708155739721" style="zoom:50%;" />

#### 5.2图片超链接

\[![沙漠中的岩石图片](/assets/img/shiprock.jpg "Shiprock")](https://markdown.com.cn)

[![超级凶的狗](https://ts1.tc.mm.bing.net/th/id/R-C.6e8bf84d4d9c57813ca595b36e48bf3b?rik=Zp6MkbBADpgABg&riu=http%3a%2f%2fpic.qianye88.com%2f4kaijic5331ea4-e35d-3baf-8b09-c37769139446.jpeg&ehk=QAtk9bDA1oBGfXSWW8tNWbRuG6jc%2bdegUz0c3BQhdf4%3d&risl=&pid=ImgRaw&r=0 "很凶")]( https://ts1.tc.mm.bing.net/th/id/R-C.6e8bf84d4d9c57813ca595b36e48bf3b?rik=Zp6MkbBADpgABg&riu=http%3a%2f%2fpic.qianye88.com%2f4kaijic5331ea4-e35d-3baf-8b09-c37769139446.jpeg&ehk=QAtk9bDA1oBGfXSWW8tNWbRuG6jc%2bdegUz0c3BQhdf4%3d&risl=&pid=ImgRaw&r=0 )

<img src="./Pictures/image-20250708155800582.png" alt="image-20250708155800582" style="zoom:50%;" />

#### 5.3页面内跳转

[跳转到第一节](#MarkDown相关知识点)

[cc](#section1)


### 6.其他

#### 6.1分割线

要创建分隔线,请在单独一行上使用三个或多个星号 (***)、破折号 (---) 或下划线 (___) ,并且不能包含其他内容。

***

---

___

<img src="./Pictures/image-20250708155842847.png" alt="image-20250708155842847" style="zoom:50%;" />

#### 6.2图片

要添加图像,请使用感叹号 (!), 然后在方括号增加替代文本,图片链接放在圆括号里,括号里的链接后可以增加一个可选的图片标题文本。

![超级凶的狗](https://ts1.tc.mm.bing.net/th/id/R-C.6e8bf84d4d9c57813ca595b36e48bf3b?rik=Zp6MkbBADpgABg&riu=http%3a%2f%2fpic.qianye88.com%2f4kaijic5331ea4-e35d-3baf-8b09-c37769139446.jpeg&ehk=QAtk9bDA1oBGfXSWW8tNWbRuG6jc%2bdegUz0c3BQhdf4%3d&risl=&pid=ImgRaw&r=0 "很凶")

#### 6.3表格

要添加表,请使用三个或多个连字符(---)创建每列的标题,并使用管道(|)分隔每列。您可以选择在表的任一端添加管道。

| 首先|然后|其次|
|:---:|:---|---:|
|nihao|你好|hello|

<img src="./Pictures/image-20250708155916615.png" alt="image-20250708155916615" style="zoom:50%;" />

#### 6.4引用

要创建块引用,请在段落前添加一个 > 符号。

块引用可以包含多个段落。为段落之间的空白行添加一个 > 符号。

块引用可以嵌套。在要嵌套的段落前添加一个 >> 符号。

>有点重复了好像
> > 确实是这样,不过应该没事吧
> > >只好这样了

<img src="./Pictures/image-20250708155941980.png" alt="image-20250708155941980" style="zoom:50%;" />


BIN
MarkDown/Pictures/image-20250708155340635.png Vedi File

Prima Dopo
Larghezza: 968  |  Altezza: 335  |  Dimensione: 16 KiB

BIN
MarkDown/Pictures/image-20250708155417689.png Vedi File

Prima Dopo
Larghezza: 1017  |  Altezza: 347  |  Dimensione: 25 KiB

BIN
MarkDown/Pictures/image-20250708155510443.png Vedi File

Prima Dopo
Larghezza: 429  |  Altezza: 170  |  Dimensione: 6.0 KiB

BIN
MarkDown/Pictures/image-20250708155536014.png Vedi File

Prima Dopo
Larghezza: 1010  |  Altezza: 123  |  Dimensione: 16 KiB

BIN
MarkDown/Pictures/image-20250708155601355.png Vedi File

Prima Dopo
Larghezza: 1062  |  Altezza: 138  |  Dimensione: 15 KiB

BIN
MarkDown/Pictures/image-20250708155614646.png Vedi File

Prima Dopo
Larghezza: 974  |  Altezza: 191  |  Dimensione: 22 KiB

BIN
MarkDown/Pictures/image-20250708155628100.png Vedi File

Prima Dopo
Larghezza: 740  |  Altezza: 245  |  Dimensione: 8.6 KiB

BIN
MarkDown/Pictures/image-20250708155650658.png Vedi File

Prima Dopo
Larghezza: 660  |  Altezza: 414  |  Dimensione: 11 KiB

BIN
MarkDown/Pictures/image-20250708155714755.png Vedi File

Prima Dopo
Larghezza: 931  |  Altezza: 519  |  Dimensione: 12 KiB

BIN
MarkDown/Pictures/image-20250708155739721.png Vedi File

Prima Dopo
Larghezza: 866  |  Altezza: 265  |  Dimensione: 13 KiB

BIN
MarkDown/Pictures/image-20250708155800582.png Vedi File

Prima Dopo
Larghezza: 999  |  Altezza: 190  |  Dimensione: 15 KiB

BIN
MarkDown/Pictures/image-20250708155842847.png Vedi File

Prima Dopo
Larghezza: 1655  |  Altezza: 222  |  Dimensione: 18 KiB

BIN
MarkDown/Pictures/image-20250708155916615.png Vedi File

Prima Dopo
Larghezza: 537  |  Altezza: 431  |  Dimensione: 16 KiB

BIN
MarkDown/Pictures/image-20250708155941980.png Vedi File

Prima Dopo
Larghezza: 830  |  Altezza: 235  |  Dimensione: 13 KiB

BIN
MarkDown/Pictures/image-20250708160446388.png Vedi File

Prima Dopo
Larghezza: 456  |  Altezza: 195  |  Dimensione: 46 KiB

BIN
Source Insight/Pictures/image-20250708160507674.png Vedi File

Prima Dopo
Larghezza: 456  |  Altezza: 195  |  Dimensione: 46 KiB

BIN
Source Insight/Pictures/image-20250708160523160.png Vedi File

Prima Dopo
Larghezza: 509  |  Altezza: 325  |  Dimensione: 31 KiB

BIN
Source Insight/Pictures/image-20250708160555697.png Vedi File

Prima Dopo
Larghezza: 824  |  Altezza: 427  |  Dimensione: 36 KiB

BIN
Source Insight/Pictures/image-20250708160619344.png Vedi File

Prima Dopo
Larghezza: 733  |  Altezza: 453  |  Dimensione: 36 KiB

BIN
Source Insight/Pictures/image-20250708160639717.png Vedi File

Prima Dopo
Larghezza: 103  |  Altezza: 80  |  Dimensione: 2.8 KiB

BIN
Source Insight/Pictures/image-20250708160654871.png Vedi File

Prima Dopo
Larghezza: 1058  |  Altezza: 679  |  Dimensione: 71 KiB

+ 0
- 65
Source Insight/Source Insight.md Vedi File

@@ -1,65 +0,0 @@
## Source Insight相关知识点



### 1.常规操作

#### 1.1工程新建/添加

点击上方Project,选择New Project进行项目创建,或选择Open Project进行项目添加。

![image-20250708160507674](./Pictures/image-20250708160507674.png)

#### 1.2文件新建/添加

项目新建后,会弹出窗口提示文件添加,根据想要添加的文件位置进行查找并添加即可。

新建文件可以选择左侧的File,选择New即可添加新文件并进行编写。

![image-20250708160523160](./Pictures/image-20250708160523160.png)

#### 1.3符号表同步

选择上方菜单栏的Project,并选择其中的Synchronize Files进行代码的同步。

<img src="./Pictures/image-20250708160555697.png" alt="image-20250708160555697" style="zoom:50%;" />

#### 1.4视图切换

右侧Panel view窗口内选择想要查看的程序。

<img src="./Pictures/image-20250708160619344.png" alt="image-20250708160619344" style="zoom:50%;" />

选择windows,选择Arrange,选择多视图排版,可以进行使徒的切换。

<img src="./../IAR/Pictures/image-20250710161708689.png" alt="image-20250710161708689" style="zoom:50%;" />

高亮选中符号:F8

替换:Ctrl + h

查找:Ctrl + f

全局查找:Ctrl + /

向上搜索 Ctrl + F3

向下搜索 Ctrl + F4

跳转到行:F5

跳转到定义:Ctrl + 鼠标左键

#### 1.5常用窗口打开或关闭

在VIew菜单进行想要的窗口打开或关闭即可。

<img src="./Pictures/image-20250708160639717.png" alt="image-20250708160639717" style="zoom:200%;" />

#### 1.6搜索引用

可以在想要搜索的函数上右键鼠标,选择Look up,或者在软件的右上角R图标进行搜索即可。若要跳转至函数页面,可以Ctrl加鼠标左键即可。

上方选择search也可以进行搜索引用。

<img src="./Pictures/image-20250708160654871.png" alt="image-20250708160654871" style="zoom:50%;" />

BIN
Sourcetree/Pictures/image-20250708160913942.png Vedi File

Prima Dopo
Larghezza: 895  |  Altezza: 610  |  Dimensione: 27 KiB

BIN
Sourcetree/Pictures/image-20250708160925365.png Vedi File

Prima Dopo
Larghezza: 1395  |  Altezza: 607  |  Dimensione: 38 KiB

BIN
Sourcetree/Pictures/image-20250708160944832.png Vedi File

Prima Dopo
Larghezza: 1083  |  Altezza: 608  |  Dimensione: 33 KiB

BIN
Sourcetree/Pictures/image-20250708161000682.png Vedi File

Prima Dopo
Larghezza: 822  |  Altezza: 264  |  Dimensione: 11 KiB

BIN
Sourcetree/Pictures/image-20250708161023565.png Vedi File

Prima Dopo
Larghezza: 955  |  Altezza: 526  |  Dimensione: 22 KiB

BIN
Sourcetree/Pictures/image-20250708161149061.png Vedi File

Prima Dopo
Larghezza: 975  |  Altezza: 540  |  Dimensione: 14 KiB

BIN
Sourcetree/Pictures/image-20250708161204838.png Vedi File

Prima Dopo
Larghezza: 600  |  Altezza: 537  |  Dimensione: 26 KiB

BIN
Sourcetree/Pictures/image-20250708161218765.png Vedi File

Prima Dopo
Larghezza: 716  |  Altezza: 508  |  Dimensione: 35 KiB

BIN
Sourcetree/Pictures/image-20250708161231708.png Vedi File

Prima Dopo
Larghezza: 965  |  Altezza: 383  |  Dimensione: 31 KiB

BIN
Sourcetree/Pictures/image-20250708161247753.png Vedi File

Prima Dopo
Larghezza: 1150  |  Altezza: 499  |  Dimensione: 60 KiB

BIN
Sourcetree/Pictures/image-20250708161301912.png Vedi File

Prima Dopo
Larghezza: 503  |  Altezza: 560  |  Dimensione: 38 KiB

BIN
Sourcetree/Pictures/image-20250708161314068.png Vedi File

Prima Dopo
Larghezza: 1271  |  Altezza: 335  |  Dimensione: 26 KiB

BIN
Sourcetree/Pictures/image-20250708161333241.png Vedi File

Prima Dopo
Larghezza: 1100  |  Altezza: 457  |  Dimensione: 37 KiB

BIN
Sourcetree/Pictures/image-20250708161414737.png Vedi File

Prima Dopo
Larghezza: 1179  |  Altezza: 465  |  Dimensione: 28 KiB

BIN
Sourcetree/Pictures/image-20250708161435985.png Vedi File

Prima Dopo
Larghezza: 492  |  Altezza: 381  |  Dimensione: 17 KiB

BIN
Sourcetree/Pictures/image-20250708161510352.png Vedi File

Prima Dopo
Larghezza: 952  |  Altezza: 253  |  Dimensione: 7.4 KiB

BIN
Sourcetree/Pictures/image-20250708161523455.png Vedi File

Prima Dopo
Larghezza: 520  |  Altezza: 297  |  Dimensione: 16 KiB

BIN
Sourcetree/Pictures/image-20250708161540040.png Vedi File

Prima Dopo
Larghezza: 1044  |  Altezza: 415  |  Dimensione: 41 KiB

+ 0
- 221
Sourcetree/Sourcetree.md Vedi File

@@ -1,221 +0,0 @@
# 代码管理相关技术点



## Git

### 1.Git的概念

**Git** 是**分布式版本控制系统**的核心工具,用于**追踪文件变更、协调多人协作、保存代码历史快照**。

Git是目前世界上最先进的分布式版本控制系统,在处理各种项目时都十分高效,而且非常的高大上。

作为一个分布式版本控制系统来说,Git是没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。例如我们一个小团队合作开发一个项目,我们可以先建立一个远程仓库,需求分析,搭建大体框架,将项目框架上传至远程仓库,队员可以git clone项目,各自完成自己负责的部分,完善项目等,写好之后还可以比对之前的版本,本地项目写好之后上传至远程仓库,出现错误还可以版本回退等等。

### 2.三个区域的概念

在 Git 中,**三个核心区域**构成了版本控制的核心框架,它们协同工作以实现精确的变更管理。

#### 2.1工作区

**定位**:本地磁盘可见的代码目录。

**本质**:开发者的实施编辑沙盒。

**特点**:所有的文件修改都在此处,状态通过git status查看。

#### 2.2暂存区

**定位**:git目录下的二进制索引文件。

**本质**:提交前的精准快速缓存区。

**特点**:解决了提交半成品代码的痛点。

#### 2.3本地仓库

**定位**:项目根目录下的.git隐藏文件夹。

**本质**:版本数据库,用来存储提交历史。

### 3.仓库的概念

Git 仓库(Repository)是 Git 版本控制系统的核心概念,用于存储项目文件及其完整版本历史。

仓库类型包括了本地仓库和远程仓库两种。

### 4.节点的概念

Git中的**节点**是版本控制的基础,通过提交对象记录项目状态,结合分支和HEAD指针实现高效的代码管理与协作。

节点的本质是**提交对象**,是版本的核心**控制单元**。

节点的组成有以下几部分:

1.**树对象**:指向当前快照的目录结构,记录文件的名称、权限和内容。

2.**父节点**:首次提交没有父节点,普通提交有一个,合并提交会有多个。

3.**元数据**:主要用来记录作者、提交者、时间戳和内容。

### 5.分支的概念

在Git中,**分支(Branch)** 是 **指向提交节点(Commit)的轻量级指针**,用于标记和管理不同的开发线路。其核心作用是允许开发者在并行线程中工作,而不会相互干扰。



## Source tree



### 1.Source tree的概念

Sourcetree 是一款由 Atlassian 开发的免费图形化版本控制客户端,主要用于管理 Git 和 Mercurial(Hg) 代码仓库。它通过直观的界面简化了版本控制操作。

### 1.仓库相关操作

#### 1.1创建本地仓库

首先,在电脑上建立一个文件夹,然后在软件内建立本地仓库,目标路径选择需要管理的文件夹路径,创建成功后,就可以对本地仓库进行管理。

<img src="./Pictures/image-20250708160913942.png" alt="image-20250708160913942" style="zoom:50%;" />

#### 1.2打开本地仓库

仓库创建完成后,在软件上方即可选择刚刚创建的仓库,打开之后,就可以对本地仓库进行管理了。

<img src="./Pictures/image-20250708160925365.png" alt="image-20250708160925365" style="zoom:50%;" />

#### 1.3克隆远程仓库

软件新建仓库时选择克隆,将需要克隆的远程仓库链接填入进来,同时选择克隆的路径,确定之后即可将远程仓库克隆到本地。

<img src="./Pictures/image-20250708160944832.png" alt="image-20250708160944832" style="zoom:50%;" />

#### 1.4获取

在软件内找到和远程仓库关联的仓库,选择上方的获取可以获得远程仓库。

从远程仓库复制到本地文件,但不会合并。

<img src="./Pictures/image-20250708161000682.png" alt="image-20250708161000682" style="zoom:50%;" />

#### 1.5关联远程仓库

软件内找到设置功能,添加远程仓库,进行关联。

<img src="./Pictures/image-20250708161023565.png" alt="image-20250708161023565" style="zoom:50%;" />

### 2.节点相关操作

#### 2.1提交

当本地仓库变动时,文件状态部分会显示需要提交,提交时应当补充变动内容或者能让自己看懂的语句,提交后,可在提交历史查看。

<img src="./Pictures/image-20250708161149061.png" alt="image-20250708161149061" style="zoom:50%;" />

#### 2.2 重置

重置是将本此更改内容取消的操作,本地修改过后,如果在软件的本地仓库内选择重置,则会对本地文件进行版本回退,回到修改前的版本。

<img src="./Pictures/image-20250708161204838.png" alt="image-20250708161204838" style="zoom:50%;" />

#### 2.3回滚提交

在提交历史中选择需要回退到的版本,选择回滚提交,则会将版本回退到想要返回的版本。

<img src="./Pictures/image-20250708161218765.png" alt="image-20250708161218765" style="zoom:50%;" />

### 3.分支相关操作

#### 3.1新建分支

对当前仓库想要进行其他操作,经常采用新建分支,新建分支可以在软件上面菜单栏点击创建,可以选择工作副本或者是新文件进行管理。

<img src="./Pictures/image-20250708161231708.png" alt="image-20250708161231708" style="zoom:50%;" />

#### 3.2合并分支

合并分支指将多个分支进行统一,或者将分支的内容同步至其他分支。

合并分为平行合并和变基合并,平行合并会将分支的内容一次性挪到主干,变基合并会将分支的提交一个一个合并到主干。

<img src="./Pictures/image-20250708161247753.png" alt="image-20250708161247753" style="zoom:50%;" />

#### 3.3删除分支

右键选择分支,直接删除即可。

<img src="./Pictures/image-20250708161301912.png" alt="image-20250708161301912" style="zoom:50%;" />

#### 3.4切换分支

直接左侧分支双击即可

<img src="./Pictures/image-20250708161314068.png" alt="image-20250708161314068" style="zoom:50%;" />

#### 3.5制造冲突

多个分支修改同一文件,同时将分支全部挪到主干时,会显示冲突。

#### 3.6解决冲突

1. 可以手动确认选择,同时在提交时右键标记为已解决即可。
2. 选择忽略。

#### 3.7拉取

可以将他人传送到云端的内容拉取到自己的设备上面并合并。

<img src="./Pictures/image-20250708161333241.png" alt="image-20250708161333241" style="zoom:50%;" />

#### 3.8推送

将本地内容推送到云端。

<img src="./Pictures/image-20250708161414737.png" alt="image-20250708161414737" style="zoom:50%;" />

### 4.其他

#### 4.1书写忽略文件

添加.gitignore 文件,可以将不想让仓库获取的文件写入里面。

#### 4.2停止跟踪

停止跟踪(Stop Tracking)是指将文件从 Git 仓库的版本控制中移除,但不会删除本地文件。这意味着这些文件将不再被 Git 跟踪和管理,但它们仍然保留在你的本地文件系统中。

#### 4.3创建补丁

提交列表中找到想要创建补丁的提交,右键即可创建补丁。

补丁(Patch)在软件开发中是一个记录代码变更的文本文件,它本质上是两个代码版本之间的差异(diff)。它的核心作用是精确、轻量地传递代码变更。

<img src="./Pictures/image-20250708161435985.png" alt="image-20250708161435985" style="zoom:50%;" />

#### 4.4删除补丁

直接右键删除即可。

#### 4.5贮藏

临时保存未提交的本地修改,让工作区恢复干净。但注意,应添加描述。

![image-20250711130022399](./../IAR/Pictures/image-20250711130022399.png)

#### 4.6丢弃

删除未提交的本地修改。

<img src="./../IAR/Pictures/image-20250711130039902.png" alt="image-20250711130039902" style="zoom:67%;" />

#### 4.7创建标签

标记提交。

<img src="./Pictures/image-20250708161540040.png" alt="image-20250708161540040" style="zoom:50%;" />

#### 4.8删除标签

右键删除标签即可。


+ 181
- 0
TrainCamp_chenminjun_BasicLearn/IAR/IAR.md Vedi File

@@ -0,0 +1,181 @@
# IAR相关知识点
## 1.工程操作
- **各类型文件含义**
| 工程文件(.ewp) | 包含工程的配置信息,如工程设置、文件列表和目标设置 |
| ------------------------ | ------------------------------------------------------------ |
| 工程选项文件(.opt) | 包含特定于目标选项的详细配置 |
| .hex | 单片机可执行的十六进制文件 |
| 源代码文件(.c, .cpp, .s) | 包含项目的源代码 |
| 头文件(.h) | 包含源代码文件中引用的声明 |
| .map | 记录了程序中各个模块、函数、变量等在内存中的具体布局信息,包括地址范围、段的大小以及引用关系等 |
| 构建脚本(.bat, .sh) | 如果使用自动化构建流程,则会用到这些脚本文件 |
- **新建/打开工作区**
![打开工作区](./pictures/打开工作区.png)
- **新建/打开工程**
<img src="./pictures/打开工程.png" alt="打开工程" style="zoom:67%;" />
- **工作区中导入/添加工程**
![添加工程](./pictures/添加工程.png)
- **新建分组**
<img src="./pictures/新建分组.png" alt="新建分组" style="zoom:67%;" />
- **新建/打开文件**
![新建文件](./pictures/新建文件.png)
- **工程目录与文件目录的关系**
- 工程目录主要负责项目配置和构建控制,而文件目录则是源代码的物理存储位置。两者通过工程文件中的引用关系连接起来,形成完整的开发环境结构。


## 2.工程配置
- **设备配置**

<img src="./pictures/设备配置.png" alt="设备配置" style="zoom: 50%;" />

- **编译配置**
- 优化等级
​ <img src="./pictures/优化等级.png" alt="优化等级" style="zoom:50%;" />
- 硬件浮点
​ <img src="./pictures/硬件浮点.png" alt="硬件浮点" style="zoom:50%;" />
- 预处理
​ ![预处理](./pictures/预处理.png)
- 链接文件
- 链接脚本控制内存分配

​ <img src="./pictures/链接文件.png" alt="链接文件" style="zoom:50%;" />

- 文件路径配置

​ ![文件路径配置](./pictures/文件路径配置.png)

- 输出文件路径

​ <img src="./pictures/输出文件路径配置.png" alt="输出文件路径配置" style="zoom:50%;" />

- 输出文件配置

​ <img src="./pictures/输出文件配置.png" alt="输出文件配置" style="zoom: 67%;" />
- **调试器配置**

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

- **库相关配置**

​ <img src="./pictures/库相关配置.png" alt="库相关配置" style="zoom:50%;" />

- **静态库的封装**

1. 剔除不需要的文件

<img src="./pictures/静态库封装.png" alt="静态库封装" style="zoom:67%;" />

2. 选择生成静态库,最后点击编译即可。

<img src="./pictures/静态库封装2.png" alt="静态库封装2" style="zoom:67%;" />

- **静态库的调用**

- 将静态库文件与头文件包含进工程后引用即可。
<img src="./pictures/静态库的使用.png" alt="静态库的使用" style="zoom:67%;" />


## 工程调试
- **断点**
- 设置断点
​ 点击代码行左侧,出现红色圆圈
​ ![设置断点](./pictures/设置断点.png)
- 禁用断点
​ 右键红色圆圈,Enable/disable
​ ![禁用断点](./pictures/禁用断点.png)
- 启用断点
​ 右键红色圆圈,Enable/disable
​ ![设置断点](./pictures/设置断点.png)
- 删除断点
​ 再次点击代码行左侧,红色圆圈消失
​ ![删除断点](./pictures/删除断点.png)
- 条件断点
​ 可以设置一个条件,当条件满足时,断点生效![条件断点](./pictures/条件断点.png)
- **监控信息** ![监控信息](./pictures/监控信息.png)


- **寄存器信息**

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


- **内存信息**

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

- **栈信息**

![栈信息](./pictures/栈信息.png)

- **汇编信息**

![汇编信息](./pictures/汇编信息.png)

- **调用堆栈信息**

​ ![调用堆栈信息](./pictures/调用堆栈信息.png)

- **单步调试**
- 逐过程
​ 跟踪执行一条C语句或汇编指令,跟踪进入C函数或者汇编语言子程序。
​ ![逐过程](./pictures/逐过程.png)
- 逐语句
​ 单步执行一条C语句或汇编指令,不跟踪进入C函数或者汇编语言子程序。
​ ![逐语句](./pictures/逐语句.png)
- 复位
​ ![复位](./pictures/复位.png)
- 跳出
​ 启动C函数或汇编语言子程序从当前位置开始执行,并返回到调用该函数或子程序的下一语句。
​ ![跳出](./pictures/跳出.png)

BIN
TrainCamp_chenminjun_BasicLearn/IAR/pictures/优化等级.png Vedi File

Prima Dopo
Larghezza: 800  |  Altezza: 733  |  Dimensione: 134 KiB

BIN
TrainCamp_chenminjun_BasicLearn/IAR/pictures/内存信息.png Vedi File

Prima Dopo
Larghezza: 890  |  Altezza: 316  |  Dimensione: 29 KiB

BIN
TrainCamp_chenminjun_BasicLearn/IAR/pictures/删除断点.png Vedi File

Prima Dopo
Larghezza: 356  |  Altezza: 291  |  Dimensione: 18 KiB

BIN
TrainCamp_chenminjun_BasicLearn/IAR/pictures/复位.png Vedi File

Prima Dopo
Larghezza: 430  |  Altezza: 115  |  Dimensione: 16 KiB

BIN
TrainCamp_chenminjun_BasicLearn/IAR/pictures/寄存器信息.png Vedi File

Prima Dopo
Larghezza: 1265  |  Altezza: 621  |  Dimensione: 88 KiB

BIN
TrainCamp_chenminjun_BasicLearn/IAR/pictures/库相关配置.png Vedi File

Prima Dopo
Larghezza: 795  |  Altezza: 529  |  Dimensione: 130 KiB

Dato che sono stati cambiati molti file in questo diff, alcuni di essi non verranno mostrati

Caricamento…
Annulla
Salva