0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Keil 一些常见文件类型的作用和功能说明

黄工的嵌入式技术圈 来源:黄工的嵌入式技术圈 2020-03-20 11:23 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

看着一大堆文件舒服吗?

相信大部分朋友看见过类似上图“凌乱”的现象。工程文件和编译过程文件杂乱放在一起,其实只有.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:连接器传递命令文件;

·······

这类文件还有很多,重要性不强,不一一说明了。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • keil
    +关注

    关注

    69

    文章

    1232

    浏览量

    173305
  • MAP
    MAP
    +关注

    关注

    0

    文章

    50

    浏览量

    15891
  • C编译器
    +关注

    关注

    1

    文章

    39

    浏览量

    14400
  • 预处理器
    +关注

    关注

    0

    文章

    13

    浏览量

    2393
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    LM358常用电路的功能说明

    我整理了 LM358常用电路的功能说明表 ,覆盖常见应用场景和核心特点: 电路类型 核心功能 电路特点 典型应用场景 电压比较器 比较两个输入电压,输出高低电平 单电源供电,阈值由分压
    发表于 04-26 11:27

    如何使用 powerquad 加速器中的一些功能以及 CMSIS 原始实现中的一些功能

    )。 如何使用 powerquad 加速器中的一些功能以及 CMSIS 原始实现中的一些功能。 Example: I do not want to call arm_mat_tran
    发表于 04-03 06:37

    keil定义fputc函数

    函数 fputc 是输出字符的底层函数,只需要实现这个函数,类似 printf、puts 等函数也可以正常使用了。 由于存在3种文件类型,这里分别定义3种文件类型的fputc函数,在 fputc
    发表于 01-22 08:25

    keil (MDK)的IDE支持包*.pack文件如何打开?

    在使用Keil软件过程中,对于特定型号的MCU,需要安装对应的器件型号支持包,这个文件类型是*.pack。 由于我之前将Keil安装在D盘,后面重装了系统后,并未重新安装Keil软件
    发表于 01-20 08:24

    爬壁机器人磁铁的一些常见问题

    爬壁机器人近几年比较火,它是类能够在垂直墙面、天花板、倾斜表面上移动和作业的特种机器人,今天我们不聊其它,只聊下关于磁吸附应用中的磁铁,以下是小编整理的关于爬壁机器人中磁铁的一些常见问题。
    的头像 发表于 01-09 10:06 496次阅读
    爬壁机器人磁铁的<b class='flag-5'>一些</b><b class='flag-5'>常见</b>问题

    关于六类网线一些问题的解答

    今天我们就围绕网友一些常见的关于六类网线的问题进行下汇总式解答: 问 六类网线可以当电源用吗? 答 六类网线并不是设计用于传输电力的电缆,因此般不建议将其用于电源传输。 尽管六类网
    的头像 发表于 12-09 11:13 829次阅读

    飞凌嵌入式ElfBoard-Linux系统中的文件分类

    从本质上讲,Linux系统就是由文件组成的,切皆文件是linux系统设计的核心理念,接下来介绍一下文件类型的种类:1.普通文件:指用户存储
    发表于 12-09 08:59

    对浮点指令扩展中一些问题的解决与分享

    出现无法写的情况。 结论 以上就是我们组在扩展浮点指令中出现的一些问题,这些问题总体上归结于对蜂鸟的代码没有整体性的把握,对内容的掌握程度还不够。在后续的工作中应注意理清功能的整体架构而对所有的相关部分进行修改。
    发表于 10-24 11:47

    飞凌嵌入式ElfBoard-Linux系统基础入门-文件操作相关shell命令

    :change mode功能:设置用户对于文件的权限参数: chmod [参数] 目录或文件示例: 其中-rw-r—r--就是权限信息。第个字符是
    发表于 09-30 09:46

    用STM32的時候是直接用MDK方便还是在vscode用keil插件方便一些

    用STM32的時候是直接用MDK方便還是在vscode用keil插件方便一些
    发表于 08-12 08:02

    射频工程师需要知道的一些常见转接头

    ,是由于转接头的损坏造成的,而且有些接头的连接固定的方式不对,每次修好的仪器,过去后客户又按照他们原来的方式去拧紧了。特别是在一些生产型的企业,由于操作人员流动性比较
    的头像 发表于 08-06 17:39 1613次阅读
    射频工程师需要知道的<b class='flag-5'>一些</b><b class='flag-5'>常见</b>转接头

    UPS电源—特殊UPS电源类型全知晓

    在电力保障领域,除了常见的后备式UPS电源、互动式UPS电源和在线式UPS电源之外,还存在一些特殊类型的UPS电源,以满足特定场景下的电力需求。
    的头像 发表于 06-30 16:57 1204次阅读
    UPS电源—特殊UPS电源<b class='flag-5'>类型</b>全知晓

    在低功耗蓝牙产品开发的过程中,会涉及到一些参数的选择和设定,这些参数是什么意思,该如何设定呢?(蓝牙广播)

    在低功耗蓝牙产品开发的过程中,会涉及到一些参数的选择和设定,这些参数是什么意思,该如何设定呢?在此介绍一些: 蓝牙的广播类型(Advertising Type) 可连接广播(ADV_IND):允许
    发表于 06-25 18:25

    有偿请教容性负载的放大电路的一些问题

    两端的二极管反向偏置的作用是帮助释放掉由于buffer跟随器的输入偏置电流导致的电荷累积(论文中提到的),但是我的二极管起不到释放电荷的作用,就导致Cp两端刚开始就会有一些直流电,目前我是需要用万用表
    发表于 05-29 20:06

    解决手表后壳气密性检测仪常见问题的实用技巧

    在手表生产与质检过程中,手表后壳气密性检测仪起着至关重要的作用。然而,在实际使用中,不少用户会遇到一些常见问题。以下是一些实用的解决技巧,助您轻松应对。
    的头像 发表于 05-22 11:21 834次阅读
    解决手表后壳气密性检测仪<b class='flag-5'>常见</b>问题的实用技巧