看着一大堆文件舒服吗?
相信大部分朋友看见过类似上图“凌乱”的现象。工程文件和编译过程文件杂乱放在一起,其实只有.uvoptx和.uvprojx这两个比较重要,其他大部分都不重要。
微主我习惯在工程文件中放一个“删除编译产生垃圾文件.bat”文件,在最后源代码存档时删除编译过程产生的文件。
写在前面 1
本文说的“文件类型”指的是像.uvoptx、 .uvprojx、 .hex、 .map、 .axf、.ini、.c、.h···等一些后缀不同的文件,他们各自的作用和功能。
有时打开从其他地方获取的源文件,发现除了工程文件“.uvprojx”之外还有很大杂七杂八的文件,如:.crf、.d、.o···等一些让人看了都“烦躁”的源文件。
其实有很多文件都是在建立工程及编译之后产生的“中间文件”,对于我们来说,并不需要保存,只是在编译调试的过程中需要使用到。
当我们需要使用保存一个工程及相关源代码时,就需要把有些不必要的中间文件删除掉。于是,我们就需要知道这些文件的意思,哪些文件可以删除,哪些不能删除。
我们使用go to definition of使用到的文件为.crf文件,有时候go to definition of不能使用(或按f12不起作用),有可能就是相关的.crf文件被删除了,或者没有。
在线调试的时候,不能跟踪调试,很有可能是没有调试类型文件。
keil中使用到的文件类型? 2
大体可以分为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
工程类型文件是比较重要的,一般不能删除。删除之后有可能打不开软件工程,所以,不能轻易删除这一类文件。
.uvmpw:多工程(工作空间)文件;
.uvprojx:工程文件(keil v5)
.uvproj:工程文件(keil v4)
.uvoptx:工程选项配置文件(keil v5)
.uvopt:工程选项配置文件(keil v4)
.uv2:工程文件(keil v3)
source files源代码类型文件 4
这一类源文件,我想,应该不用多说。主要就是源文件和头文件,大体上有如下一些类型:
.c、 .h、 .cpp、 .inc、 .a51、 .s、 .a66、 .src等。
listing files链接类型文件 5
project -> options for target -> listing,如图:
这类文件的输出就在上图的地方配置,需要输出就勾选上。常见文件类型有如下几种:
.map:map文件就是存储镜像文件,这个文件非常重要。当代码出现异常,对分析代码非常有帮助,我打算后面专门写一篇文章来讲述这个文件。
.i:c语言预处理器输出文件;
.lst:c编译器或汇编程序生成的文件;
.cod:包括混合c和汇编代码的完整的程序清单文件;
object and hex files目标和hex类型文件 6
project -> options for target -> output,如图:
这一类文件比较重要,调试信息、预览信息、可执行文件等都在这里面。
.hex:可执行文件(和.bin类似 用于下载到芯片的程序文件);
.axf:包含调试信息的程序文件,有时候我们在调试时出现错误,可能是axf没有文件;
.d:编译生成的依赖文件,一般一个.c文件对应一个.d文件;
.o:也是目标的依赖文件(重定位定址的依赖文件);
.lib:库文件,生成库就在这里;
.elf:elf/dwarf链接的文件;
.crf:浏览信息文件,在文章开头说了,使用go to definition of功能,就需要有这类文件。
剩下一些类型文件 7
build files编译类型文件:
这一类文件重点提一下“bat批处理文件”,也就是说在编译的时候,可以配合bat文件一起编译。bat文件主要就是一些命令,如拷贝、新建等。
debugger files调试类型文件:
.ini:调试加载类文件。就是在调试时加载的文件:
other files其他类型文件:
.pack:支持包文件;
.sct:链接控制文件;
.lnp:连接器传递命令文件;
·······
这类文件还有很多,重要性不强,不一一说明了。
Vicor聘请企业营销与渠道策略副总裁
谈谈关于SOA的几个问题
养殖场轨道巡检机器人解决方案
无刷直流电机的三相六臂全桥驱动电路讲解
dfrobot超声波扫描套件简介
Keil 一些常见文件类型的作用和功能说明
干货——逆变电焊机维修实例及经验分享
ESD静电测试仪原理 ESD抗扰度试验方法及相关要求
电源厂商都偏爱的小家电电源芯片U6202SC
搭载RK3588,Orange Pi 5 Plus再破性能“天花板”
英美铂业与Platinum成立一家合资企业 将开发下一代电池技术
如何有效规避RTX 4090烧卡
美将28个中国实体列入实体清单 涉及浪潮集团、龙芯中科等
三星将为苹果iPhone 14数量增长将超过最初预期
AGV机器人蓬勃发展 不断加强产品的创新才能确保不被淘汰
在BTS系统中选择开环和闭环MIMO
物联网智慧停车
Sawyer智能协作机器人促进业务增长
涡轮流量计仪表常数计算
Si24R2F+2.4GHz ISM频段低功耗无线集成嵌入式发射基带无线发射芯片