文章目录
1.项目创建及导出
1.1 导入项目
1.创建工作空间
2.导入项目到工作空间
3.选择要导入的工程路径代码
- 4.编译测试
-
- 多项目导入
- 6.异常情况处理
1.没有导入工程路径代码到工作空间会导致无法正常编译
2.删除无效工作空间(如果直接从同事共享的工程路径启动IDE时会产生无效工作空间)
1.2 新建項目
1、文件 — 新建 ---- KungFu32项目;參考https://blog.youkuaiyun.com/Fanshijun1/article/details/128084361
2、将文件复制粘贴到工作空间下或者新建源码目录、.c,.h文件:

3.设置头文件依赖

4.编译优化配置
5.警告类型配置
6.C语言标准设置
7.生成hex文件
- 8.编译前后可执行的指令
- 9.调试参数设置
- 10.固件编程设置
1.3 导出项目
- 1.导出为归档文件
2.項目构建
2.0 工程编译配置
配置工程的编译,如优化等级、警告等信息:

2.1 编译工程
选择构建操作时,会自动生成makefile文件,gmake -k all按makefile规则触发整个编译链接过程:
1.IDE编译相关工具在"…\KungFu32\ChipONCC32\ccr1_issue_v0\bin"目录下,包括
C编译器、汇编器、链接器、kf32-objdump、kf32-objcopy工具;
2.gmake在"…\KungFu32\ChipONCC32\common"目录下;
3.makefile文件在Release或Debug目录下;
2.2 编译生成的文件
1.编译过程中会生成多种中间文件:
.o 文件:由编译器将每个.c或.cpp源文件编译生成的二进制中间文件;
.i 文件:由预处理器(cpp)生成,是源文件经过宏展开、#include替换、条件编译处理后的纯文本文件;
.s 文件:由编译器将C/C++代码转换成的汇编语言文件;
.d 文件:记录源文件(如.c)所依赖的头文件路径(如.h);
2.编译生成的目标文件
.elf文件:由链接器生成,包含完整的可执行程序,包括代码(.text)、数据(.data、.bss)、调试信息(如DWARF格式)、符号表等,可用于调试;
.list文件:由编译器生成,包含C源代码 + 对应的汇编代码,便于分析编译器优化和代码执行流程。可用于性能优化或排查编译器优化问题; list 包含了最多的信息,包括每个程序地址下的机器码,汇编指令,源码对应关系。这里也是查看编译结果是否正确的观察出发点
.map文件:由链接器生成,记录:所有函数和变量的地址(.text、.data、.bss 等段)。
内存布局(Flash、RAM的占用情况)。库文件依赖关系.用于分析内存溢出、优化存储布局或排查链接错误; Map文件的作用主要查看项目中定义的变量或编译过程使用的中间变量所分配的地址情况。根据变量所在地址,在调试时可以通过打开内存视图查看变量的实际结果,从而不局限于变量或表达式窗口。
.s19文件:Motorola S-record(S19/SREC格式)一种ASCII编码的烧录文件格式,包含地址和数据记录;
清理.o和.d文件,比較奇怪的是不會清除.i, .s文件;

3. 调试
1.调试相关快捷操作
1.调试快捷键
编译工程: CTRL + B
启动硬件仿真:F11
仿真运行: F8
终止仿真: Ctrl + F2
程序下载: Ctrl + Shift + U
2.调试口配置
3.选择硬件仿真
2.调试前需要关闭看门狗
1.调试前如果不关闭看门狗,会导致无法正常调试,出现很多反常识的现象,如下图所示:

2.关闭看门狗可正常


3.断点调试
1.添加断点和删除断点

2.监控断点:变量出现指定的操作(如指定修改时触发断点)

4.通过内存视图调试
在内存视图中直接查看变量地址,获取存储的数据:

5.使用数字示波器调试
示波器是芯旺微芯片唯一可以实时显示变量数据变化的调试工具:

6.其它调试手段
注意:变量和通用寄存器仅能在暂停时才能显示数据

4.固件烧录专用工具KF32 Programmer


























1252

被折叠的 条评论
为什么被折叠?



