Keil系列教程10_文件类型及相关描述
置顶/星标公众号,不错过每一条消息!
本教程由原创作者strongerHuang于2018年11月更新发布。
标签:Keil、 MDK-ARM、 µVision
版权所有:禁止商用
申明:该文档仅供个人学习使用,转载请公众号联系作者授权。
1写在前面
1.你在提交项目、打包保存项目时,你会删掉不必要的文件吗?
2.你知道这些uvoptx、uvprojx、map、dep......是什么文件吗?
现象or疑问:
1.购买一块开发板,厂家提供的源代码例程没有几个,但文件却有几百兆。
2.百度网盘下载一个别人提供的代码压缩包,几十兆。
3.打开别人下载的源代码工程,各种类型文件混杂在一起。
4.有些人提供的源代码没有dep文件,这个文件可以删除吗? 删除了会有什么影响?
其实有许多文件都是编译产生的中间文件,我习惯放一个双击删除“编译产生文件”.bat”来管理工程。即每次需要保存,或提交工程,会双击该文件,删除不需要的中间文件。
当你看完本文,理解这些文件类型的含义,你就不会有上面这些烦恼了。(本文内容可参考Keil帮助文档“File Types”文件类型章节)
2
Keil文件类型概述Keil中用到的文件类型很多,大概有五、六十种。下面会重点讲述常用的文件类型,一些不重要的,或者不常见的只简单概述。
Keil文件可以分为7类:
1、Project Files工程类型文件;
2、Source Files源代码类型文件;
3、Listing Files链接类型文件;
4、Object and HEX Files目标和Hex类型文件;
5、Build Files编译类型文件;
6、Debugger Files调试类型文件;
7、Other Files其他类型文件;
3
Project Files工程类型文件工程类型文件是比较重要的,特别是工作空间、 工程文件、工程选项配置这三种文件不能删除。项目界面布局文件可以删除。
3.1 工作空间文件
(这类文件不能删除)
*.uvmpw:µVision Project file for Multiple Projects多工程文件,也就是我们说的工作空间文件。
3.2 工程文件
(这类文件不能删除)
*.uvprojx:µVision5工程文件
*.uvproj:µVision4工程文件
*.uv2:µVision3工程文件
3.3 工程选项配置文件
(这类文件不能删除)
*.uvoptx:µVision5工程选项配置文件
*.uvopt:µVision4工程选项配置文件
3.4 项目界面布局文件
(这类文件可以删除)
*.uvguix[.user-name]:µVision5项目界面布局文件。删除之后,重新打开工程,界面布局会恢复到默认布局。如Demo.uvguix.Administrator。
*.uvguix[.user-name]:µVision4项目界面布局文件。
4
Source Files源代码类型文件这一类文件相信大家都熟悉,简述一下。
*.c:C源文件
*.h:C头文件
*.cpp:C++源文件
*.s:汇编源文件
*.a51:汇编源文件
*.a66:汇编源文件
*.inc:汇编头文件
*.src:C编译器生成的其他源文件
5
Listing Files链接类型文件这一类文件属于中间文件,一般在编译过程中产生。可以在工程目标选项中配置对应的链接文件。Project -> Options for Target -> Listing,如下图:
*.map:存储镜像文件
这个文件比较重要,我会在后面专门讲述一篇map相关文章。
*.i:C预处理器输出文件
*.scr:链接器分散加载器文件
*.lst:C编译器或汇编器生成的文件
*.m51:同样也是map文件
*.m66:同样也是map文件
*.htm:链接器的列表文件
6
Object and HEX Files目标和Hex类型文件这一类文件同样属于中间文件,一般在编译过程中产生。但这类文件比较重要,调试信息、预览信息、可执行文件等都在这里面。
Project -> Options for Target -> Output,如图:
*.hex:可执行文件
*.axf:包含调试信息的程序文件
有时候我们调试出错,可能是axf没有文件。
*.d:编译生成的依赖文件
一般一个.c文件对应一个.d文件。
*.o:也是目标的依赖文件
重定位定址的依赖文件。
*.lib:库文件
生成的库就在这里。
*.elf:ELF/DWARF链接的文件
*.crf:浏览信息文件
使用Go to Definition Of 功能,就需要有这类文件。
7
Build Debugger编译调试文件编译和调试,其实是两类不同文件,由于比较少,综合在一起写。
*.bat:批处理文件
*._IA, *.__I, *._II, *.SCR:工具调用文件
*.ini:于初始化源码文件
8
Other Files其他类型文件这类文件比较多,但使用较少,简单列几个吧。
*.pack:软件(支持)包文件
*.sct:链接控制文件
*.lnp:连接器传递命令文件
*.dep:目标编译依赖文件
*.cdb:µVision设备数据库文件
9
说明1.该文档仅供个人学习使用,版权所有,禁止商用。
2.本文由我一个人编辑并整理,难免存在一些错误。
3.本文收录于公众号「嵌入式专栏」,关注微信公众号回复【Keil系列教程】即可查看全系列教程。
10最后
若觉得文章对你有帮助,随手点赞、分享,也是对我莫大的支持和鼓励。
扫描下面二维码、关注公众号,在底部菜单中查看更多精彩内容!
长按识别图中二维码关注