|
|
@@ -270,7 +270,10 @@ CMSIS提供 Cortex-M 处理器内核的底层访问接口,包括: |
|
|
|
|
|
|
|
### 6.静态库的封装和调用 |
|
|
|
|
|
|
|
新建项目,同时设置.h和.c文件,进行内部程序的编写。注意减少外部依赖,能够直接移植调用。写完之后点击option进行设置,选择General,OutPut选择library,然后make编译生成.lib文件,使用时复制.lib文件到项目内,并在option内进行配置,然后选择Linker -- > Library,将静态库.lib文件添加,返回工程重新编译。 |
|
|
|
1. 新建项目,同时设置.h和.c文件,进行内部程序的编写。注意减少外部依赖,能够直接移植调用。 |
|
|
|
2. 写完之后点击option进行设置,选择General,OutPut选择library,然后make编译生成.lib文件,使用时复制.lib文件到项目内. |
|
|
|
3. 在option内进行配置,然后选择Linker -- > Library,将静态库.lib文件添加,同时添加头文件,返回工程重新编译。 |
|
|
|
4. 可以发现静态库的函数可以在工程里面进行调用。 |
|
|
|
|
|
|
|
<img src=".\Pictures\image-20250708144035699.png" alt="image-20250708144035699" style="zoom:50%;" /> |
|
|
|
|
|
|
@@ -387,25 +390,22 @@ CPSR和SPSR都是程序状态寄存器,其中SPSR是用来保存中断前的CP |
|
|
|
|
|
|
|
<img src=".\Pictures\image-20250708153851629.png" alt="image-20250708153851629" style="zoom:50%;" /> |
|
|
|
|
|
|
|
调试图标介绍(从左到右) |
|
|
|
|
|
|
|
| **序号** |**作用**| |
|
|
|
| :--------: |:--------: | |
|
|
|
| 1 | 编译当前页 | |
|
|
|
| 2 | 编译全部文件 | |
|
|
|
| 3 | 切换断点 | |
|
|
|
| 4 | 编译并重新启动调试 | |
|
|
|
| 5 | 重新开始调试 | |
|
|
|
| 6 | 推出调试 | |
|
|
|
| 7 | 逐语句 | |
|
|
|
| 8 | 逐过程 | |
|
|
|
| 9 | 跳出 | |
|
|
|
| 10 | 运行到下一个结尾符号 | |
|
|
|
| 11 | 运行到光标处 | |
|
|
|
| 12 | 全速运行 | |
|
|
|
| 13 | 停止运行 | |
|
|
|
| 14 | 重新运行 | |
|
|
|
| 15 | | |
|
|
|
| 序号 | 英文 | 作用 | |
|
|
|
| ---- | ----------------------- | ------------------------------------------------------------ | |
|
|
|
| 1 | compile | 编译当前页 | |
|
|
|
| 2 | make | 编译全部文件 | |
|
|
|
| 3 | toggle Breakpoint | 切换断点 | |
|
|
|
| 4 | Make & Restart Debugger | 重新启动调试器并从头开始调试程序 | |
|
|
|
| 5 | Restart Debugger | 重新开始调试,但不做代码更改或重新编译 | |
|
|
|
| 6 | stop Debugger | 退出调试模式,返回到编辑器状态,释放调试器资源。 | |
|
|
|
| 7 | step over | 逐过程调试 | |
|
|
|
| 8 | step into | 逐语句调试 | |
|
|
|
| 9 | step out | 跳出 | |
|
|
|
| 10 | Next Statement | **不执行当前行**,将程序的执行位置**强制跳转**到下一条语句。用于控制程序流程,但不会影响变量或硬件状态。 | |
|
|
|
| 11 | Run to Cursor | 程序从当前停止的位置开始**连续运行**,直到光标所在的那一行,然后**暂停执行**。 | |
|
|
|
| 12 | Go | 在调试状态下,让程序从当前暂停位置**继续运行**,直到遇到断点、出错或程序结束。 | |
|
|
|
| 13 | Break | **在程序运行过程中强制暂停执行**,进入调试状态,查看当前执行位置、变量状态等。 | |
|
|
|
| 14 | Reset | 让 MCU 从复位向量重新启动程序执行(从 `main()` 或初始化开始)。 | |
|
|
|
|
|
|
|
#### 14.2逐语句调试 |
|
|
|
|
|
|
|