@@ -0,0 +1,181 @@ | |||||
# IAR相关知识点 | |||||
## 1.工程操作 | |||||
- **各类型文件含义** | |||||
| 工程文件(.ewp) | 包含工程的配置信息,如工程设置、文件列表和目标设置 | | |||||
| ------------------------ | ------------------------------------------------------------ | | |||||
| 工程选项文件(.opt) | 包含特定于目标选项的详细配置 | | |||||
| .hex | 单片机可执行的十六进制文件 | | |||||
| 源代码文件(.c, .cpp, .s) | 包含项目的源代码 | | |||||
| 头文件(.h) | 包含源代码文件中引用的声明 | | |||||
| .map | 记录了程序中各个模块、函数、变量等在内存中的具体布局信息,包括地址范围、段的大小以及引用关系等 | | |||||
| 构建脚本(.bat, .sh) | 如果使用自动化构建流程,则会用到这些脚本文件 | | |||||
- **新建/打开工作区** | |||||
 | |||||
- **新建/打开工程** | |||||
<img src="./pictures/打开工程.png" alt="打开工程" style="zoom:67%;" /> | |||||
- **工作区中导入/添加工程** | |||||
 | |||||
- **新建分组** | |||||
<img src="./pictures/新建分组.png" alt="新建分组" style="zoom:67%;" /> | |||||
- **新建/打开文件** | |||||
 | |||||
- **工程目录与文件目录的关系** | |||||
- 工程目录主要负责项目配置和构建控制,而文件目录则是源代码的物理存储位置。两者通过工程文件中的引用关系连接起来,形成完整的开发环境结构。 | |||||
## 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%;" /> | |||||
- 预处理 | |||||
 | |||||
- 链接文件 | |||||
- 链接脚本控制内存分配 | |||||
<img src="./pictures/链接文件.png" alt="链接文件" style="zoom:50%;" /> | |||||
- 文件路径配置 | |||||
 | |||||
- 输出文件路径 | |||||
<img src="./pictures/输出文件路径配置.png" alt="输出文件路径配置" style="zoom:50%;" /> | |||||
- 输出文件配置 | |||||
<img src="./pictures/输出文件配置.png" alt="输出文件配置" style="zoom: 67%;" /> | |||||
- **调试器配置** | |||||
 | |||||
- **库相关配置** | |||||
<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%;" /> | |||||
## 工程调试 | |||||
- **断点** | |||||
- 设置断点 | |||||
点击代码行左侧,出现红色圆圈 | |||||
 | |||||
- 禁用断点 | |||||
右键红色圆圈,Enable/disable | |||||
 | |||||
- 启用断点 | |||||
右键红色圆圈,Enable/disable | |||||
 | |||||
- 删除断点 | |||||
再次点击代码行左侧,红色圆圈消失 | |||||
 | |||||
- 条件断点 | |||||
可以设置一个条件,当条件满足时,断点生效 | |||||
- **监控信息**  | |||||
- **寄存器信息** | |||||
 | |||||
- **内存信息** | |||||
 | |||||
- **栈信息** | |||||
 | |||||
- **汇编信息** | |||||
 | |||||
- **调用堆栈信息** | |||||
 | |||||
- **单步调试** | |||||
- 逐过程 | |||||
跟踪执行一条C语句或汇编指令,跟踪进入C函数或者汇编语言子程序。 | |||||
 | |||||
- 逐语句 | |||||
单步执行一条C语句或汇编指令,不跟踪进入C函数或者汇编语言子程序。 | |||||
 | |||||
- 复位 | |||||
 | |||||
- 跳出 | |||||
启动C函数或汇编语言子程序从当前位置开始执行,并返回到调用该函数或子程序的下一语句。 | |||||
 |
@@ -0,0 +1,95 @@ | |||||
# Markdown相关知识点 | |||||
## 常用语法 | |||||
### 1.标题相关 | |||||
- 使用特殊符号’#‘:在’#‘号后添加空格,多少等级的标题就是多少个‘#’,例如,一级标题输入该格式->’# 一级标题 ',以此类推。 | |||||
- 例如: | |||||
# 一级标题 | |||||
## 二级标题 | |||||
### 三级标题 | |||||
### 2.标号相关 | |||||
- 无序标号语法 :-空格或者*空格(两步) | |||||
- 有序标号语法:数字.空格(三步) | |||||
- 标号嵌套 | |||||
1. 想要子列表:按Tab | |||||
2. 回到上一层:shift +Tab | |||||
### 3.文字相关 | |||||
- 加粗语法:两个※字符需要加粗的文字两个※字符 | |||||
- 例如:**加粗** | |||||
- 倾斜语法:一个※字符需要加粗的文字一个※字符 | |||||
- 例如:*倾斜* | |||||
- 加粗倾斜语法:三个※字符需要加粗的文字三个※字符 | |||||
- 例如:***加粗倾斜*** | |||||
- 删除线 语法:两个~ 删除的文字 两个~ | |||||
- 例如:~~删除线~~ | |||||
### 4.代码块 | |||||
- 单行代码块语法:创建一个单行的代码块,只需要在代码的前后各加一个反引号`即可 | |||||
- 例如:`这是一行代码` | |||||
- 多行代码块语法:语法: ```+回车 | |||||
- 例如: | |||||
``` | |||||
``` | |||||
### 5.超链接 | |||||
- 文字超链接语法: | |||||
``` | |||||
[超链接描述文本](超链接) | |||||
``` | |||||
例如:[百度](www.baidu.com) | |||||
- 图片超链接语法:[图片描述](图片网络地址) | |||||
- 例如:[](https://img0.baidu.com/it/u=585663195,3046310056&fm=253&fmt=auto&app=138&f=JPEG?w=1067&h=800) | |||||
- 页面内跳转语法:【点击我跳转到一级标题】(# Markdown常用语法) | |||||
- 例如:[点击我跳转到一级标题](# Markdown相关知识点) | |||||
### 6.其他 | |||||
- 分割线 语法:三个- +回车 | |||||
- 例如: | |||||
--- | |||||
- 图片语法: | |||||
- 例如: | |||||
- 表格 语法:Ctrl +T | |||||
- 例如: | |||||
| | | | | |||||
| ---- | ---- | ---- | | |||||
| | | | | |||||
| | | | | |||||
| | | | | |||||
- ·引用 语法:\>+空格 | |||||
- 例如: | |||||
> | |||||
### 7.路径 | |||||
- 相对路径 :相对路径是一种基于当前目录来定位文件或目录的方式。 | |||||
- 绝对路径 :绝对路径是指文件在硬盘上真正存在的路径。 | |||||
@@ -0,0 +1,64 @@ | |||||
# SourceInSight相关知识点 | |||||
## 常规操作 | |||||
### 1.工程新建/添加 | |||||
- **第一步:新建工程** | |||||
<img src="./pictures/新建工程1.png" alt="第一步" style="zoom:67%;" /> | |||||
- **第二步:设置工程名以及工程数据目录** | |||||
<img src="./pictures/新建工程2.png" alt="第二步" style="zoom:67%;" /> | |||||
- **第三步:指定源码目录** | |||||
<img src="./pictures/新建工程3.png" alt="第三步" style="zoom:67%;" /> | |||||
- **第四步:添加源码** | |||||
<img src="./pictures/新建工程4.png" alt="第四步" style="zoom:67%;" /> | |||||
### 2.文件新建/添加 | |||||
<img src="./pictures/添加文件.png" alt="新建文件" style="zoom:67%;" /> | |||||
### 3.符号表同步 | |||||
- 同步文件的意思是让Source Insight去解析源码,生成数据库,这样有助于以后阅读源码。比如点击某个函数时就可以飞快地跳到它定义的地方。 | |||||
<img src="./pictures/新建工程5.png" alt="第五步" style="zoom:67%;" /> | |||||
<img src="./pictures/新建工程6.png" alt="第五步" style="zoom:67%;" /> | |||||
### 4.视图切换 | |||||
- 同时打开多个文件 | |||||
 | |||||
### 5.常用窗口打开/关闭 | |||||
-  | |||||
- **1.符号窗口** | |||||
- 显示了当前文件中的所有符号,比如变量、函数、类等。可以通过符号窗口快速定位和浏览代码中的不同符号,点击符号即可跳转到相应的位置。 | |||||
- **2.项目文件窗口** | |||||
- 显示了项目中的所有文件,并提供了文件夹结构的视图。可以通过文件窗口快速选择和切换文件,以及查看文件的层次结构。该窗口可以通过工具栏的图标  打开或关闭。 | |||||
- **3.关系窗口** | |||||
- 显示了当前选中符号的所有引用位置。当选中一个符号时,可以通过关系窗口查看该符号在代码中的所有引用,方便进行全局搜索和代码分析。 | |||||
- **4.上下文窗口** | |||||
- 显示了当前选中符号的定义和引用位置。当您选中一个符号时,可以通过定义窗口查看该符号在代码中的具体定义和引用情况。 | |||||
### 6.搜索引用 | |||||
- **1. 当前文件搜索** | |||||
<img src="./pictures/搜索引用.png" alt="搜索引用" style="zoom:67%;" /> | |||||
- **2.全局搜索引用** | |||||
<img src="./pictures/搜索引用1.png" alt="搜索引用" style="zoom:67%;" /> |
@@ -0,0 +1,152 @@ | |||||
# 代码管理相关知识点 | |||||
## 一、Git | |||||
- **1.Git的概念** | |||||
- Git是一种分布式版本控制系统,用于跟踪文件的改变和协作开发。 | |||||
- **2.三个区域的概念** | |||||
- 工作区:实际开发时操作的文件夹。 | |||||
- 暂存区:暂存区是一个中间区域,位于工作区和本地版本库之间 | |||||
- 本地仓库:本地仓库是指存储在开发者个人计算机上的Git仓库,它包含了项目的完整历史和所有版本信息。 | |||||
- **3.仓库的概念** | |||||
- Git仓库是存储文件和其历史记录的地方。 | |||||
- **4.节点的概念** | |||||
- 版本快照 | |||||
- **4.分支的概念** | |||||
- 分支(Branch)是代码库的不同线路或路径,用于同时进行不同的开发工作 | |||||
## 二、SourceTree | |||||
- **1.SourceTree的概念** | |||||
- Sourcetree是一款免费的Git图形化版本控制工具。 | |||||
- **2.创建本地仓库** | |||||
<img src="./pictures/创建本地仓库.png" alt="创建本地仓库" style="zoom: 50%;" /> | |||||
- (1)打开本地仓库 | |||||
<img src="./pictures/打开本地仓库.png" alt="打开本地仓库" style="zoom: 50%;" /> | |||||
- (2)克隆远程仓库 | |||||
<img src="./pictures/克隆远程仓库.png" alt="克隆远程仓库" style="zoom: 50%;" /> | |||||
- (3)获取 | |||||
获取是从远程仓库获取信息并同步至本地仓库 | |||||
<img src="./pictures/获取.png" alt="获取" style="zoom: 50%;" /> | |||||
- (4)关联远程仓库 | |||||
<img src="./pictures/关联远程仓库.png" alt="关联远程仓库" style="zoom:67%;" /> | |||||
- **3.节点相关操作** | |||||
- (1)提交 | |||||
<img src="./pictures/提交.png" alt=" 提交" style="zoom: 50%;" /> | |||||
- (2)重置 | |||||
<img src="./pictures/重置.png" alt="重置" style="zoom:67%;" /> | |||||
- (3)回滚提交 | |||||
时候我们提交了代码,但后悔了,需要回滚,那么我们可以使用撤销回滚操作 | |||||
<img src="./pictures/回滚提交.png" alt="回滚提交" style="zoom:67%;" /> | |||||
- **4.分支相关操作** | |||||
- (1)新建分支 | |||||
<img src="./pictures/新建分支.png" alt="新建分支" style="zoom: 50%;" /> | |||||
- (2)合并分支 | |||||
<img src="./pictures/合并分支.png" alt="合并分支" style="zoom: 50%;" /> | |||||
- (3)删除分支 | |||||
<img src="./pictures/删除分支.png" alt="删除分支" style="zoom:67%;" /> | |||||
- (3)切换分支 | |||||
<img src="./pictures/切换分支.png" alt="切换分支" style="zoom:67%;" /> | |||||
- (4)制造冲突 | |||||
<img src="./pictures/制造冲突.png" alt="制造冲突" style="zoom: 50%;" /> | |||||
- (5)解决冲突 | |||||
<img src="./pictures/解决冲突.png" alt="解决冲突" style="zoom: 50%;" /> | |||||
- (6)拉取 | |||||
拉取是从远程仓库获取信息并同步至本地仓库,并且自动执行合并(merge)操作 | |||||
<img src="./pictures/拉取.png" alt="拉取" style="zoom: 50%;" /> | |||||
- (7)推送 <img src="./pictures/推送.png" alt="推送" style="zoom: 50%;" /> | |||||
- **5.其他** | |||||
- (1)书写忽略文件 | |||||
 | |||||
- (2)停止跟踪 <img src="./pictures/停止跟踪.png" alt="停止跟踪" style="zoom: 50%;" /> | |||||
- (3)创建补丁 | |||||
保存某个节点的操作 | |||||
<img src="./pictures/创建补丁.png" alt=" 创建补丁" style="zoom:50%;" /> | |||||
- (4)应用补丁 | |||||
应用某个节点的操作 | |||||
<img src="./pictures/应用补丁.png" alt="应用补丁" style="zoom: 67%;" /> | |||||
- (5)贮藏 | |||||
当在当前分支做了一些修改,突然需要切换到另一个分支去做其他一些紧急的事情,但是既不想提交这些修改,也不想将这些修 改带到别的分支,此时可以选择贮藏功能 <img src="./pictures/贮藏.png" alt="贮藏" style="zoom:67%;" /> | |||||
- (6)丢弃 | |||||
丢弃就是放弃你之前这个文件的所有修改,相当是一键还原到初始状态 | |||||
 | |||||
- (7)移除 | |||||
移除是直接删除本地文件的 | |||||
<img src="./pictures/移除.png" alt="移除" style="zoom:67%;" /> | |||||
- (8)创建标签 | |||||
<img src="./pictures/创建标签.png" alt="创建标签" style="zoom:67%;" /> | |||||
- (9)删除标签 | |||||
 | |||||
- **6.综合** | |||||
· 一系列操作后最终状态 | |||||
 |
@@ -0,0 +1,178 @@ | |||||
# VisualStudio相关知识点 | |||||
## 一、工程创建 | |||||
### 1.工程相关 | |||||
- **1.1创建/打开项目** | |||||
- **创建项目** | |||||
(1)选择创建新项目 | |||||
<img src="./pictures/创建新项目.png" alt="创建新项目" style="zoom:50%;" /> | |||||
(2)选择项目模板 | |||||
<img src="./pictures/创建新项目2.png" alt="创建新项目" style="zoom:50%;" /> | |||||
(3)配置项目名称和存储地址 | |||||
<img src="./pictures/创建新项目3.png" alt="创建新项目" style="zoom:50%;" /> | |||||
- **1.2加载/卸载项目** | |||||
- 选中需要卸载的项目右击,选择移除。 | |||||
<img src="./pictures/卸载项目.png" alt="卸载项目" style="zoom:67%;" /> | |||||
- **1.3设置启动项** | |||||
右击选择需要配置为启动项的项目,选择设为启动项。 | |||||
<img src="./pictures/配置启动项.png" alt="配置启动项" style="zoom:67%;" /> | |||||
- **1.3解决方案相关** | |||||
- **添加项目** | |||||
(1)点击添加新项目 | |||||
<img src="./pictures/添加项目.png" alt="创建项目" style="zoom:50%;" /> | |||||
(2)根据需要选择项目模板 | |||||
<img src="./pictures/添加项目2.png" alt="创建项目" style="zoom:50%;" /> | |||||
(3)设置项目名称并创建 | |||||
<img src="./pictures/添加项目3.png" alt="创建项目" style="zoom:50%;" /> | |||||
- **1.4文件相关** | |||||
- **创建/打开文件** | |||||
 | |||||
- **包括/排除文件** | |||||
<img src="./pictures/排除文件.png" alt="排除文件" style="zoom:67%;" /> | |||||
## 二、工程配置 | |||||
- **2.1解决方案配置** | |||||
- 解决方案配置可以鼠标右键解决方案一项,选择配置管理器打开,配置管理器提供了配置和平台, Debug是方便debug调试的,而Release是能优化程序运行。 | |||||
<img src="./pictures/解决方案配置.png" alt="解决方案配置" style="zoom:67%;" /> | |||||
- **2.2平台配置** | |||||
- 选择编译程序是用什么配置和平台 | |||||
<img src="./pictures/平台配置.png" alt="平台配置" style="zoom:67%;" /> | |||||
- **2.3项目类型配置** | |||||
- 配置输出的文件类型 | |||||
- <img src="./pictures/项目类型文件配置.png" alt="项目类型文件配置" style="zoom:67%;" /> | |||||
- **2.4路径配置** | |||||
- 输出路径配置:目标文件所在的文件目录。 | |||||
<img src="./pictures/输出路径配置.png" alt="输出路径配置" style="zoom:50%;" /> | |||||
- 头文件路径配置:用于搜索使用第三方库的include文件夹 | |||||
<img src="./pictures/头文件路径配置.png" alt="头文件路径配置" style="zoom:50%;" /> | |||||
- 源文件路径配置:源文件存放路径 | |||||
<img src="./pictures/源文件路径配置.png" alt="源文件路径配置" style="zoom: 50%;" /> | |||||
- 库文件路径配置:用于搜索使用第三方库的lib文件夹 | |||||
<img src="./pictures/库文件路径配置.png" alt=" 库文件路径配置" style="zoom: 50%;" /> | |||||
- **2.5宏定义** | |||||
- 宏定义配置 | |||||
<img src="./pictures/宏定义.png" alt="宏定义" style="zoom:67%;" /> | |||||
- **2.6运行库配置** | |||||
- 右键项目名称,打开项目属性页,选择“配置属性”->“C/C++”->“代码生成”->“运行库”。 | |||||
<img src="./pictures/运行库配置.png" alt="运行库配置" style="zoom:67%;" /> | |||||
- **2.7调用库配置** | |||||
- 首先选择头文件和库目录进行配置,将需要调用的头文件的路径添加进来,添加完之后选择链接器-输入-附加依赖项包含lib文件名称即可对动态库进行调用。 | |||||
<img src="./pictures/调用库配置.png" alt="调用库配置" style="zoom:67%;" /> | |||||
- **2.8安全检查** | |||||
<img src="./pictures/安全检查.png" alt="安全检查" style="zoom:67%;" /> | |||||
## 三、工程调试 | |||||
- **3.1断点** | |||||
- 断点创建 | |||||
 | |||||
- 断点删除 | |||||
 | |||||
- 断点禁用 | |||||
 | |||||
- 断点启用 | |||||
 | |||||
- 条件断点 | |||||
<img src="./pictures/条件断点.png" alt="条件断点" style="zoom: 50%;" /> | |||||
- **3.2窗口** | |||||
- 监视窗口 | |||||
<img src="./pictures/监视窗口.png" alt="监视窗口" style="zoom:80%;" /> | |||||
- 内存窗口 | |||||
<img src="./pictures/内存监视.png" alt="内存监视" style="zoom: 50%;" /> | |||||
- 线程窗口 | |||||
<img src="./pictures/线程窗口.png" alt="线程窗口" style="zoom:67%;" /> | |||||
- 调用堆栈窗口 | |||||
<img src="./pictures/调用堆栈.png" alt="调用堆栈" style="zoom:67%;" /> | |||||
- **3.3单步调试** | |||||
- 全速运行 | |||||
 | |||||
- 重新运行 | |||||
 | |||||
- 逐过程 | |||||
 | |||||
- 逐语句 | |||||
 |