From e3dc1c771adce0b964c9fe79d87f5a1a95e8af83 Mon Sep 17 00:00:00 2001 From: "DESKTOP-J5JP3RN\\kanxingyu" <1764726953@qq.com> Date: Tue, 15 Jul 2025 12:26:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9EIAR=E3=80=81source=20insight?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 0 IAR/IAR.md | 148 ++++++++++++++++++ MarkDown/MarkDown.md | 4 +- .../Pictures/image-20250715110850248.png | Bin 0 -> 32058 bytes Source Insight/Source Insight.md | 47 +++++- UintTest/Pictures/image-20250714094111503.png | Bin 0 -> 12312 bytes .../企业微信截图_17522164518089.png | Bin 0 -> 11165 bytes .../企业微信截图_17524732096026.png | Bin 0 -> 29034 bytes UintTest/UnitTest.md | 2 +- 9 files changed, 196 insertions(+), 5 deletions(-) create mode 100644 .gitignore create mode 100644 Source Insight/Pictures/image-20250715110850248.png create mode 100644 UintTest/Pictures/image-20250714094111503.png create mode 100644 UintTest/Pictures/企业微信截图_17522164518089.png create mode 100644 UintTest/Pictures/企业微信截图_17524732096026.png diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/IAR/IAR.md b/IAR/IAR.md index 60da620..69d9427 100644 --- a/IAR/IAR.md +++ b/IAR/IAR.md @@ -117,24 +117,78 @@ ![1](./Pictures/image-20250709180547755.png) +1. **None (-O0)** + - **特点**:不进行优化,编译速度最快。 + - **应用场景**:调试阶段,便于跟踪源代码与机器码的对应关系。 + - **缺点**:生成的代码体积大、执行慢。 +2. **Low (-O1)** + - **特点**:基本优化,主要减少代码大小。 + - 优化内容: + - 消除未使用的变量和函数。 + - 简化常量表达式(如计算 `2+3` 为 `5`)。 + - 执行基本的循环优化(如循环展开小迭代次数的循环)。 + - **应用场景**:需要平衡代码大小和编译时间的场景。 +3. **Medium (-O2)** + - **特点**:中度优化,兼顾代码大小和执行速度。 + - 优化内容: + - 执行更激进的循环优化(如循环不变代码外提)。 + - 函数内联(对小函数)。 + - 寄存器分配优化。 + - **应用场景**:大多数生产环境的默认选择。 +4. **High (-O3)** + - **特点**:最高级优化,侧重执行速度。 + - 优化内容: + - 激进的函数内联(包括较大的函数)。 + - 循环展开和向量化(适用于 DSP 等架构)。 + - 全局变量和内存访问优化。 + - **缺点**:可能增加代码体积,编译时间显著延长。 + - **应用场景**:对性能要求极高的代码(如算法核心、中断处理)。 + + + #### 3.2硬件浮点 General Options 界面,选择32bit或64bit,选择fpu功能是否开启。 ![1](.\Pictures\image-20250708140541188.png) +硬件浮点单元通过专用电路加速浮点数运算,显著提升了嵌入式系统的计算能力、能效比和开发效率。对于需要处理复杂算法、高精度数据或实时响应的应用,FPU 几乎是必备组件。 + #### 3.3预处理 右键Options,选择C/C++ --> Preprocessor ,Defined symbols进行预处理。 ![1](./Pictures/image-20250709180618391.png) +- 硬件资源的抽象映射(如寄存器地址)。 +- 代码的灵活配置与优化。 +- 跨平台兼容性支持。 +- 调试与生产版本的快速切换。 + #### 3.4链接文件 Linker页面设置链接文件。 ![1](.\Pictures\image-20250708142245783.png) +作用: + +- 定义物理内存布局(如 Flash、RAM 的起始地址和大小)。 +- 指定代码段(.text)、数据段(.data)、BSS 段(.bss)等如何分配到物理内存。 +- 控制栈(Stack)和堆(Heap)的大小与位置。 +- 支持复杂的内存分区(如将关键代码放在特定 Flash 区域)。 +- .stack:栈区域,用于局部变量和函数调用。 +- .heap:堆区域,用于动态内存分配(如`malloc()`)。 + +**关键段说明**: + +- **.intvec**:中断向量表,包含系统启动和中断处理函数的地址,必须位于 Flash 起始位置(0x08000000)。 +- **.text**:程序代码段,包含编译后的指令。 +- **.data**:已初始化的全局变量和静态变量(如 `int a = 10;`)。 +- **.bss**:未初始化的全局变量和静态变量(如 `int b;`),不占用 Flash 空间,运行时自动初始化为 0。 +- **.stack**:栈区域,由编译器自动管理,用于存储局部变量和函数调用上下文。 +- **.heap**:堆区域,用于动态内存分配(如 `malloc()`、`free()`)。 + #### 3.5文件路径位置 在Option页面C/C++设置文件路径位置,包括头文件位置。 @@ -147,6 +201,12 @@ Linker页面设置链接文件。 ![1](.\Pictures\image-20250708142616060.png) +1. .hex文件:十六进制文件。 +2. .bin文件:二进制文件。 +3. .txt文件:文本格式文件。 +4. .srec文件:SREC(也称为 S-Record、S-File)是一种 ASCII 文本格式,将二进制数据编码为可读字符串,便于在不同系统间传输和存储。 +5. .sim:通常指用于仿真(Simulation)的配置文件或结果文件。 + #### 3.7输出文件路径 打开Option,选择General,选择output进行配置。 @@ -159,6 +219,35 @@ Linker页面设置链接文件。 ![1](.\Pictures\image-20250708143112548.png) +| 选项 | 功能描述 | +| ---------------------------------------- | ------------------------------------------------------------ | +| **Core Reset** | 是指针对微控制器(MCU)内核(如 ARM Cortex-M 系列)的复位操作,**软件触发**:通过写入特定寄存器触发 | +| **System(default) Reset** | 上电复位 | +| **Software Reset** | 通过写入 SCB_AIRCR 寄存器触发软件系统复位(SYSRESETREQ)。 | +| **Hardware Reset** | 通过控制 NRST 引脚触发硬件复位。 | +| **Connect During Reset(复位期间连接)** | 允许调试器在目标设备复位期间建立并保持连接 | + + + +| 操作 | 功能描述 | 适用场景 | +| ----------------------- | --------------------------------------- | ------------------ | +| **Debug Download** | 下载程序并启动调试会话 | 开发阶段调试代码 | +| **Production Download** | 仅下载程序,不启动调试(如 Flash 编程) | 生产环境烧录固件 | +| **Run to main()** | 下载后自动运行到 `main()` 函数入口 | 跳过冗长的启动代码 | +| **Load Symbol File** | 仅加载符号表(不下载程序) | 附加到已运行的程序 | + +jlink:提供了高效的硬件调试、Flash 编程和性能分析功能。 + +stlink:ST-Link 是意法半导体(STMicroelectronics)为其 STM32 系列微控制器开发的官方调试工具,用于程序下载、调试和系统开发。它集成了 JTAG/SWD 接口和 USB 通信功能 + +ijet:**iJet** 是德国 Lauterbach 公司开发的高性能调试工具,专为复杂嵌入式系统设计,尤其适用于对调试深度、实时性和性能要求极高的场景 + +| 工具 | 优势 | 劣势 | +| ----------- | ---------------------------------------- | ------------------------ | +| **iJet** | 超高性能追踪、多处理器支持、全系统可见性 | 价格昂贵,适用于高端场景 | +| **J-Link** | 功能全面、性价比高 | 追踪能力较 iJet 有限 | +| **ST-Link** | 低成本、官方支持 | 仅支持 STM32 系列 | + ### 5.库相关配置 设置库文件相关位置,同时在程序内include头文件,使用库。 @@ -173,6 +262,12 @@ Linker页面设置链接文件。 ![1](./Pictures/image-20250710142954145.png) +CMSIS提供 Cortex-M 处理器内核的底层访问接口,包括: + +- 寄存器定义(如 NVIC、SCB、SysTick)。 +- 中断处理函数接口。 +- 系统时钟配置函数。 + ### 6.静态库的封装和调用 新建项目,同时设置.h和.c文件,进行内部程序的编写。注意减少外部依赖,能够直接移植调用。写完之后点击option进行设置,选择General,OutPut选择library,然后make编译生成.lib文件,使用时复制.lib文件到项目内,并在option内进行配置,然后选择Linker -- > Library,将静态库.lib文件添加,返回工程重新编译。 @@ -217,6 +312,18 @@ Linker页面设置链接文件。 image-20250708152756370 +| 类型 | 特点 | 适用场景 | 更新方式 | | | +| --------------------------- | --------------------------------------------------------- | ------------------------ | -------------- | ---- | ---- | +| **Watch Window** | 手动添加、持续跟踪 | 长期监视关键变量 | 自动(暂停时) | | | +| **Quick Watch** | 临时查看、即时计算 | 快速验证单个变量 | 手动触发 | | | +| **Auto Watch** | 自动跟踪当前上下文 | 快速了解局部变量状态 | 自动(执行时) | | | +| **Memory Watch** | 直接访问内存地址 | 调试内存相关问题 | 自动(暂停时) | | | +| **Register Watch** | 监控硬件寄存器 | 底层硬件调试 | 自动(执行时) | | | +| **断点条件 Watch** | 条件触发与监视结合 | 捕获特定状态 | 条件满足时 | | | +| **Live Watch** | 允许在程序运行过程中实时跟踪变量值,而无需暂停 CPU 执行。 | 实时系统调试 | 自动 | | | +| **Local Watch(局部监视)** | 主要用于跟踪程序中**局部变量**的变化 | 查看局部函数内的局部变量 | 自动 | | | +| | | | | | | + ### 9.寄存器信息 打开view的registers窗口即可查看寄存器信息。 @@ -233,6 +340,8 @@ CPSR和SPSR都是程序状态寄存器,其中SPSR是用来保存中断前的CP ![image-20250708153108132](.\Pictures\image-20250708153108132.png) +想要查看变量信息,可以通过添加取址符号&进行查看。 + ### 11.栈信息 打开view的stack窗口即可查看栈信息 @@ -251,6 +360,25 @@ CPSR和SPSR都是程序状态寄存器,其中SPSR是用来保存中断前的CP image-20250708153531949 +**堆栈的解释:**是内存中的一块连续区域,遵循 **后进先出(LIFO)** 原则。 + +- 核心作用: + + - 保存函数调用时的上下文(如返回地址、寄存器值)。 + + - 存储局部变量和函数参数。 + + - 支持中断处理和异常响应。 + + | **特性** | **堆栈(Stack)** | **堆(Heap)** | + | -------------- | -------------------------- | --------------------------------- | + | **管理方式** | 由 CPU 自动管理(SP 指针) | 由程序员手动分配(如 `malloc()`) | + | **分配效率** | 快(直接移动 SP) | 慢(需动态查找空闲内存块) | + | **空间大小** | 固定(由链接脚本指定) | 动态(受限于剩余内存) | + | **数据生存期** | 与函数调用周期绑定 | 由程序员控制(`free()`) | + | **生长方向** | 通常向下(低地址) | 向上(高地址) | + | **内存碎片** | 不存在 | 可能产生(多次分配 / 释放) | + ### 14.单步调试 #### 14.1逐过程调试 @@ -259,6 +387,26 @@ CPSR和SPSR都是程序状态寄存器,其中SPSR是用来保存中断前的CP image-20250708153851629 +调试图标介绍(从左到右) + +| **序号** |**作用**| +| :--------: |:--------: | +| 1 | 编译当前页 | +| 2 | 编译全部文件 | +| 3 | 切换断点 | +| 4 | 编译并重新启动调试 | +| 5 | 重新开始调试 | +| 6 | 推出调试 | +| 7 | 逐语句 | +| 8 | 逐过程 | +| 9 | 跳出 | +| 10 | 运行到下一个结尾符号 | +| 11 | 运行到光标处 | +| 12 | 全速运行 | +| 13 | 停止运行 | +| 14 | 重新运行 | +| 15 | | + #### 14.2逐语句调试 菜单栏Step into。 diff --git a/MarkDown/MarkDown.md b/MarkDown/MarkDown.md index 6818400..6c1a4d8 100644 --- a/MarkDown/MarkDown.md +++ b/MarkDown/MarkDown.md @@ -85,9 +85,9 @@ ___下划线 #### 3.4删除线 -前后加两个~ ~ ~ ~ +前后加两个~~ ~~~什么~~ -~~比如这样~~ +~~比如这样~~ ~~也可以只在前面加,但是会删除整行 diff --git a/Source Insight/Pictures/image-20250715110850248.png b/Source Insight/Pictures/image-20250715110850248.png new file mode 100644 index 0000000000000000000000000000000000000000..7aacb7b13d119b70a510f04c44c056120d392ac7 GIT binary patch literal 32058 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 -选择windows,选择Arrange,选择多视图排版,可以进行使徒的切换。 +选择windows,选择Arrange,选择多视图排版,可以进行视图的切换。 image-20250710161708689 @@ -56,6 +58,15 @@ 在VIew菜单进行想要的窗口打开或关闭即可。 +##### + +| 窗口 | 名称 | 作用 | +| :-----------------: | :------------: | :----------------------------------------------------------: | +| **Relation Window** | **关系窗口** | **函数调用关系**, **变量引用关系**,**继承与实现关系** | +| **Context Window** | **上下文窗口** | **代码结构可视化**,**实时跟踪光标位置**,**快速导航** | +| **Project Window** | **项目窗口** | **文件与目录管理**,**符号索引**,**快速搜索与跳转** | +| **Window List** | **窗口列表** | **显示所有打开的窗口**,**快速切换窗口**,**窗口分组与排序** | + image-20250708160639717 #### 1.6搜索引用 @@ -64,4 +75,36 @@ 上方选择search也可以进行搜索引用。 -image-20250708160654871 \ No newline at end of file +image-20250708160654871 + +Options各个选项作用 + +| 名称 | 作用 | +| ------------------------ | ------------------------------------------------------------ | +| case Sensitive | 区分大小写 | +| whole Words Only | 确控制搜索范围的选项,确保搜索结果仅包含完整的单词,而非单词的一部分 | +| Skip inactive Code | 用于处理由条件编译(如 `#ifdef`、`#ifndef`)或其他逻辑控制导致的未激活代码区域 | +| Skip Comments | 让搜索操作忽略代码中的注释内容 | +| Search Only Comment | 仅搜索注释内容 | +| Smart Reference Marching | 用于识别和匹配代码中的符号引用(如变量、函数、类型等),而非简单的文本匹配 | + +Serach Method(搜索方法) + +| 名称 | 作用 | +| ------------------ | ------------------------------------------------------------ | +| simple string | 一种基本的搜索模式,用于执行直接的文本匹配 | +| regular Expression | 允许使用特殊字符和元字符来定义复杂的文本匹配规则 | +| Keyword Expression | 是一种介于简单字符串和正则表达式之间的搜索模式,它允许使用预定义的关键字符号来构建更灵活的搜索规则 | +| look up Reference | 用于快速定位代码中符号(如变量、函数、类型等)的定义和所有引用位置 | + +查找的选项功能表 + +![image-20250715110850248](./Pictures/image-20250715110850248.png) + +| 名称 | 作用 | +| ----------------------- | ------------------------------------------------------------ | +| case Sensitive | 区分大小写 | +| use regular Exprossions | **Use Regular Expressions**(使用正则表达式)是搜索功能的高级模式,允许通过特殊字符和元字符定义复杂的匹配规则 | +| warp Around | 循环查找 | +| select when found | 会高亮查找的文本 | +| whole words only | 启用该选项后,工具只会查找与搜索词完全一致的**完整单词**,而不会匹配包含该词的更长单词 | \ No newline at end of file diff --git a/UintTest/Pictures/image-20250714094111503.png b/UintTest/Pictures/image-20250714094111503.png new file mode 100644 index 0000000000000000000000000000000000000000..f1aef8fa8c76622316700026b1127ea7c4be5ed4 GIT binary patch literal 12312 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 NC-p(H9Blmg{{Wrfk5K>s literal 0 HcmV?d00001 diff --git a/UintTest/Pictures/企业微信截图_17522164518089.png b/UintTest/Pictures/企业微信截图_17522164518089.png new file mode 100644 index 0000000000000000000000000000000000000000..3a7e7620377bea84b0d8c4fc46e903240ce73fc2 GIT binary patch literal 11165 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 +![image-20250714094111503](./Pictures/image-20250714094111503.png) #### 2.3运行性能