打印
[技术问答]

Keil文件类型及相关描述

[复制链接]
134|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
loutin|  楼主 | 2025-2-17 06:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1.你在提交项目、打包保存项目时,你会删掉不必要的文件吗? 2.你知道这些uvoptx、uvprojx、map、dep......是什么文件吗?现象or疑问:1.购买一块开发板,厂家提供的源代码例程没有几个,但文件却有几百兆。2.百度网盘下载一个别人提供的代码压缩包,几十兆。3.打开别人下载的源代码工程,各种类型文件混杂在一起。4.有些人提供的源代码没有dep文件,这个文件可以删除吗? 删除了会有什么影响?
其实有许多文件都是编译产生的中间文件,我习惯放一个双击删除“编译产生文件”.bat”来管理工程。即每次需要保存,或提交工程,会双击该文件,删除不需要的中间文件。
当你看完本文,理解这些文件类型的含义,你就不会有上面这些烦恼了。(本文内容可参考Keil帮助文档“File Types”文件类型章节)

二、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其他类型文件;

三、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项目界面布局文件。

四、Source Files源代码类型文件
这一类文件相信大家都熟悉,简述一下。
*.c:C源文件
*.h:C头文件
*.cpp:C++源文件
*.s:汇编源文件
*.a51:汇编源文件
*.a66:汇编源文件
*.inc:汇编头文件
*.src:C编译器生成的其他源文件

五、Listing Files链接类型文件
这一类文件属于中间文件,一般在编译过程中产生。可以在工程目标选项中配置对应的链接文件。Project -> Options for Target -> Listing,如下图:

*.map:存储镜像文件 这个文件比较重要,我会在后面专门讲述一篇map相关文章。
*.i:C预处理器输出文件
*.scr:链接器分散加载器文件
*.lst:C编译器或汇编器生成的文件
*.m51:同样也是map文件
*.m66:同样也是map文件
*.htm:链接器的列表文件

六、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 功能,就需要有这类文件。

七、Build Debugger编译调试文件
编译和调试,其实是两类不同文件,由于比较少,综合在一起写。
*.bat:批处理文件
._IA, .__I, ._II, .SCR:工具调用文件
*.ini:于初始化源码文件

八、Other Files其他类型文件
这类文件比较多,但使用较少,简单列几个吧。
*.pack:软件(支持)包文件
*.sct:链接控制文件
*.lnp:连接器传递命令文件
*.dep:目标编译依赖文件
*.cdb:µVision设备数据库文件

使用特权

评论回复
沙发
heisexingqisi| | 2025-2-17 09:09 | 只看该作者
我发现好多都可以删除,比如用清理工程的按钮,就可以

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

69

主题

1422

帖子

0

粉丝