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

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

3天内不再提示

Keil项目/生成的各种文件类型(.AXF、.D、.crf、.exf)说明

技术让梦想更伟大 来源:CSDN 2023-01-04 14:35 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

KeilARM 推出(收购)的针对 Cortex-M 系列等低功耗芯片芯片的集成开发环境的品牌名称。目前 Keil 的最新版本为 μVision5。旧版本的 Keil 目前使用的已经非常少了,当前使用主要以 μVision4 和 μVision5 这两个版本为主。??在使用 Keil 时,Keil 构建项目时会产生很多扩展名的文件,了解各文件的作用对于深入研究编译有很大帮助(主要是各种编译输出文件)。例如,.map文件就是个非常有必要在项目开发阶段实时查看,并且深入研究的文档。同样,其他文件将是深入研究时有效的参考。??随着 Keil 的升级,各种文件在不同版本可能有区别。部分文件在高版本中已经弃用,或者被新的文件代替。具体见下文的说明。适用范围包括 Keil 全部产品:MDK-ARM、C51、C166、C251。

严格来说,以下部分文件不应该算是 Keil 的文件,因为他们是由编译器产生的,而 Keil 就是个 IDE,ARM 公司除了提供了各种方便的 IDE 之外,还提供独立版的编译套件,可以方便的在命令行中使用。

Project Files

项目文件主要是通过 Keil 创建项目(工程)时生成的各种文件,这些文件记录项目(工程)的各种信息。在使用 Keil 打开项目时,Keil 会使用这些文件。

  • .OPT: Keil 早期版本使用的项目配置选项文件,已经被新的文件替代(具体见下面的说明)。

  • .UVGUI[.user-name]:μVision4 窗口布局文件。即:使用者在调整了Keil 中各窗口布局后,再次打开 Keil 会保持之前的修改,修改就是记录在该文件中。

  • .UVGUIX[.user-name]:μVision5 窗口布局文件,XML格式,记录了 MDK 软件的 GUI 布局,如代码编辑区窗口的大小、编译输出提示窗口的位置等等。

  • .UVMPW:用于多个项目的 μVision4 项目文件(工作空间项目文件)。包含对其他项目文件的引用,并将它们绑定到一个项目中。当多个项目分组到一个项目中时,该文件是必需的。具有 XML 结构,可以在工作组中共享。

  • .UVPROJ: Keil μVision4 的项目文件,它使用了 XML 格式记录了工程的结构,双击它可以打开整个工程。

  • .UVPROJX: Keil μVision5 的项目文件,它使用了 XML 格式记录了工程的结构,就是我们平时双击打开的工程文件,它记录了整个工程的结构,如芯片类型、工程包含了哪些源文件等内容。

  • .UVOPT: Keil μVision4 项目配置文件,XML 格式,包括调试配置、跟踪信息配置、断点等。

  • .UVOPTX:Keil μVision5 项目配置文件,记录了工程的配置选项,如下载器的类型、变量跟踪配置、断点位置以及当前已打开的文件等等。

  • .UV2: μVision3 项目文件。使用更高版本的 μVision 打开文件,将文件转换为新的项目类型。

具体见下图:541a8508-8bf2-11ed-bfe3-dac502259ad0.png

Source Files

源码文件应该没啥可说的。表示了Keil 所支持的源码文件类型(支持代码高亮、错误提示等)。

  • .A51:汇编源码文件

  • .A66:汇编源码文件

  • .C:C 语言源码文件

  • .CPP:C++ 语言源码文件

  • .H:C/C++ 语言的头文件

  • .INC:汇编语言的头文件(使用"$include"来包含)

  • .S:Assembler source file (typical used for ARM source files).

  • .SRC:Other source file generated by the C compiler.

Listing Files

这部分主要是一些由编译器和连接器输出的中间文件,对于研究编译过程非常有帮助。

  • .COD:Complete program listing file. Includes mixed C and Assembly code. All references are resolved and addresses are fixed-up.

  • .HTM:链接器的列表文件。

  • .I: C Preprocessor Output File. 预处理后的文件

  • .LST:Listing file generated by the C Compiler or Assembler. C及汇编编译器产生的列表文件。

  • .MAP:Listing file (or Map file) generated by the Linker. 这个文件还是非常有用的。我们查看编译信息利器。

  • .M51: Listing file (or Map file) generated by the Linker.

  • .M66: Listing file (or Map file) generated by the Linker.

  • .SCR: Linker scatter loader file. Generated by the Linker. Can be altered manually.链接器产生的分散加载文件。通常会使用手动指定的.sct文件.

Keil 中可以通过如下配置,来输出其中的某些文件5441c96a-8bf2-11ed-bfe3-dac502259ad0.png用户在选择了这些条目之后,其实就是在命令行工具中增加对应的参数。例如连接器参数54505e6c-8bf2-11ed-bfe3-dac502259ad0.png

Object and HEX Files

这部分主要是编译器输出(连接器输出)的各种编译后的文件,包括可执行文件、库文件、对象文件等。

  • .(no extension): Absolute Object File (executable programs generated by the Linker).

  • .AXF:Absolute and executable object file generated by the Linker. (连接器产生)可执行文件(ELF文件格式),该格式文件包含大量调试信息。

  • .Bxx:Absolute object file generated by OC51 for individual code banks (xx may be from 00 to 31).

  • .D:Dependency file generated by the ARMCC or GCC compiler.描述了对应.o的依赖的文件

  • .CRF:Cross-Reference file containing browse information (definitions, references for identifiers). 交叉引用文件,它主要包含了浏览信息(browse information),即源代码中的宏定义、变量及函数的定义和声明的位置。,可由上图中的Listing标签配置产生。??我们在代码编辑器中右键菜单"Go To Definition Of ‘xxxx’"的时候,,MDK就是通过*.crf文件查找出跳转位置的。该文件使用了特定的格式,具体如下5464974c-8bf2-11ed-bfe3-dac502259ad0.png

  • .ELF:ELF/DWARF files generated by the Linker/Locater.

  • .HEX:Intel Hex file, generated by the Object-Hex Conversion Utility. 在单片机中常用,MDK中很少用。

  • .H86:Intel Hex file, generated by the Object-Hex Conversion Utility.

  • .LIB:Library object file. (静态)连接库文件。

  • .OBJ: Relocatable object file.

  • .O:Relocatable object files.编译器输出的各种重定位文件,供连接器使用产生可执行文件。

  • .SBR:Source Browser Information file generated by the Linker/Locater.

关于该部分的.ELF.AXF.HEX、文件,详细可见博文 ELF文件、镜像(Image)文件、可执行文件、对象文件 详解

Build Files

  • .BAT:batch file that re-creates a project from the command prompt. μVision may create a batch file when Project - Output - Create Batch File is enabled. 构建项目的批处理文件。在 Keil 中可以选择产生这个文件,主要是在命令行中使用。5472c5ec-8bf2-11ed-bfe3-dac502259ad0.png

  • ._IA, *.__I, *._II, *.SCR: tool invocation files.

Debugger Files

调试文件没啥可说的。

  • .INI:Source code file used typically for initializing the debugger. 这个文件在使用在线调试和Trace时经常用到。可以通过 Keil 的如下界面使用5483259a-8bf2-11ed-bfe3-dac502259ad0.png常用的功能如下:

// 在线调试时使用
LOAD %L INCREMENTAL

// 在使用Keil的Trace功能时使用
///*-------------------------------------------------------------------
//** Define the function to enable the trace port
//**-----------------------------------------------------------------*/
//FUNC void EnableTPIU(void) {

//  _WDWORD(0xE0042004, 0x000000E0);   // Set 4-pin tracing via DBGMCU_CR
//}

///*-------------------------------------------------------------------
//** Invoke the function at debugger startup
//**-----------------------------------------------------------------*/
//EnableTPIU();
12345678910111213141516
  • .dbgconf:Pack options (available for some devices) define default configuration settings for debugging, tracing, or Flash programming and are applied to the options in the dialogs Debug, Trace, and Flash Download. Possibly, not all options have been set. Hence, verify the settings and adapt the configuration when needed.关于这部分,详细参见 Keil 官网文章http://www.keil.com/support/man/docs/ulinkpro/ulinkpro_ctx_pack.htm

Other Files

在部分文件有的是编译器输出,有的是Keil输出的。

  • .BUILD_LOG.HTM: Build Log file of the latest project build.

  • .CDB: μVision Device Database file.

  • .DEP: Dependency file for a target build. 整个工程的依赖文件

  • .IC: Intermediate C source file created by the EC++ Compiler.

  • .LIN:Linker control file.

  • .LNP:Linker Input file generated by μVision to be passed to the command line.

  • .ORC: Global Register Coloring file for optimization.

  • .PACK:Software Pack file. Zip-file containing the software and one *.PDSC description file. Mechanism file to distribute device support, Software Components, APIs, and example projects. 存在于 Keil-MDK 5 中

  • .PDSC: Pack Description file. Describes the content of a Software Pack and dependencies to devices, processors, tool chains, or other software components.

  • .PLG:Protocol file that summarizes the last build process.

  • PROJECT_GUI.XSD:XML schema file describing the *.UVGUI file structure. Located in the UV4 folder.

  • PROJECT_MPW.XSD:XML schema file describing the *.UVMPW file structure. Located in the UV4 folder.

  • PROJECT_OPT.XSD:XML schema file describing the *.UVOPT file structure. Located in the UV4 folder.

  • PROJECT_PROJ.XSD:XML schema file describing the *.UVPROJ file structure. Located in the UV4 folder.

  • .SCT:Linker control file (scatter loading). 分散加载文件,这个文件非常有用,也非常值得研究研究。下面是个相对来说复杂点的分散加载文件:

LR_IROM1 0x08003000 0x00005000  {   ; load region size_region
 ER_IROM1 0x08003000 0x00005000  {  ; load address = execution address
  *.o (RESET, +First)              ; 中断向量表
  }

 ER_IROM2 + 0 {                    ; 应用程序信息
  *.o (SECTION_APP_INFO, +First)
  }

 ER_IROM3 + 0 {                    ; 初始化相关代码+其他代码
  *(InRoot$$Sections)  ; 初始化相关
  .ANY (+RO)           ; 其他所有代码
  }

 RW_IRAM1 0x20000000 0x00001800  {  ; 内存
  *.o (SECTION_APP_VECTOR, +First)             /* APP的中断向量表 */
  .ANY (+RW +ZI)
  }
}
12345678910111213141516171819
  • .SCVD: XML schema file for the Component Viewer (System Component Viewer Description file). The file is provided by the vendor or can be build by the user.

  • .UVL:Signal definition file. Saves the signals that have been defined in the Logic Analyzer.

  • .UVLA:File to store signals that have been recorded with the Logic Analyzer.

  • .UVTSK:Event Viewer file. Saves the recorded task-switching events.

  • .SFD: Intermediary pseudo-XML file used to create an .SFR file (.SVD.XML files are used as input).

  • .SFR:Binary file that stores information which is read by the System Viewer.

  • .SVD.XML, *.SVD, *.XML:CMSIS-XML file formats describing the device (CMSIS System View Description file). The file is provided by the vendor.

  • .XSD: XML schema description file.


审核编辑 :李倩


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

    关注

    462

    文章

    53534

    浏览量

    459093
  • XML
    XML
    +关注

    关注

    0

    文章

    188

    浏览量

    34391
  • keil
    +关注

    关注

    69

    文章

    1224

    浏览量

    171815

原文标题:Keil 项目/生成的各种文件类型(.AXF、.D、.crf、.exf)说明

文章出处:【微信号:技术让梦想更伟大,微信公众号:技术让梦想更伟大】欢迎添加关注!文章转载请注明出处。

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    KEIL如何输出bin文件

    可以通过Keil自带的fromelf工具将编译生成的.axf文件转换为.bin文件。 1、打开工程设置 Project → Options
    发表于 11-20 06:51

    Keil5中查看栈大小

    为需要的大小,然后保存并重新编译工程,新的栈大小即可生效。 2、查看.map文件: 方法说明:在Keil MDK中编译工程后,会生成一个.map
    发表于 11-14 06:32

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

    :将内容回显到输出设备,echo命令加上重定向可以创建带内容的文件。参数:echo 内容或者“内容” > 文件示例:2.5.3 file查看文件类型命令:file功能:读取文件
    发表于 09-30 09:46

    使用env生成keil文件好多文件找不到路径,为什么?

    使用env生成文件,使用了 scons —target=mdk5 —dist命令生成文件 但是用mdk打开后全是报错 请问大佬有遇到这种情况吗
    发表于 09-23 06:41

    keil无法写入wsl文件怎么解决?

    ;.Objects' ! E404 : Cannot copy dbgconf file - from 'D:/Program Files (x86)/Keil_v5/Arm
    发表于 09-16 06:04

    Keil 项目在构建目标 software 时,FCARM 工具报错

    使用工具搜索问题,Keil 项目 在构建目标 software 时,FCARM 工具报错,搜索是未指定输出文件名。 根据网上提供的解决办法,在魔法棒OUTPUT中点击Create HEX File
    发表于 08-27 10:12

    生成式 AI 重塑自动驾驶仿真:4D 场景生成技术的突破与实践

    生成式AI驱动的4D场景技术正解决传统方法效率低、覆盖不足等痛点,如何通过NeRF、3D高斯泼溅等技术实现高保真动态建模?高效生成极端天气等长尾场景?本文为您系统梳理AI驱动的4
    的头像 发表于 08-06 11:20 4773次阅读
    <b class='flag-5'>生成</b>式 AI 重塑自动驾驶仿真:4<b class='flag-5'>D</b> 场景<b class='flag-5'>生成</b>技术的突破与实践

    cubemx导入模型后找不到keil找不到工程内的模型的相关文件是怎么回事?

    模型在cubemx内解析后没有问题,但解析之后生成工程keil内缺读取不到生成的三个模型文件
    发表于 07-18 07:18

    3D AD库文件

    3D文件
    发表于 05-28 13:57 6次下载

    使用RASC生成Keil工程

    手动新建一个名为“Workspace_Keil”的文件夹,并将该文件夹作为我们的工作空间,我们的所有Keil工程都会放在这个文件夹里面。值得
    的头像 发表于 05-15 14:46 880次阅读
    使用RASC<b class='flag-5'>生成</b><b class='flag-5'>Keil</b>工程

    瑞萨RA8系列教程 | 基于 RASC 生成 Keil 工程

    对于不习惯用 e2 studio 进行开发的同学,可以借助 RASC 生成 Keil 工程,然后在 Keil 环境下愉快的完成开发任务。
    的头像 发表于 05-01 10:00 1761次阅读
    瑞萨RA8系列教程 | 基于 RASC <b class='flag-5'>生成</b> <b class='flag-5'>Keil</b> 工程

    文件类型定义

    // 开关#define  SW_ON               1#define  SW_OFF              2#define  SW_INVERT           3 // 右移位替代除法#define  SHIFT
    发表于 03-24 18:17 0次下载

    Keil uVision 5安装包下载,详细安装教程~

    安装包获取见文末~ 1、下载Keil uVision 5后,右键单击软件压缩包,选择\"解压到Keil5\"。 2、进入解压文件夹,双击打开MDK511文件夹。 3、运行
    发表于 03-15 12:10

    AGM FPGA/MCU烧写文件类型有哪些及用途

    AGM FPGA/MCU烧写文件类型有哪些及用途 AGM有FPGA和MCU器件,那FPGA/MCU烧写文件类型有哪些及用途,让我们一起梳理一下。 一、AG256 / 576系列: .prg为烧写文件
    发表于 03-14 09:54

    使用stm32cubeMX无法生成mdk工程文件

    几年前使用过cubemx,可以生成keil的工程文件。最近有个工程使用cubemx创建,结果只能生成stm32cubemx类型
    发表于 01-04 20:03