1. 程式人生 > >Keil綜合(01)_一些常見檔案型別的作用和功能說明

Keil綜合(01)_一些常見檔案型別的作用和功能說明

轉載自:

https://blog.csdn.net/ybhuangfugui/article/details/70037586

相關標題:

Keil中.uvmpw、.uvprojx、.uvproj、.uvoptx、.uvopt的意思是什麼?

Keil中.d  .o .axf .elf這些檔案可以刪除嗎?

 

前言

看著一大堆檔案舒服嗎?

 

相信大部分朋友看見過類似上圖“凌亂”的現象。

工程檔案和編譯過程檔案雜亂放在一起,其實只有.uvoptx和.uvprojx這兩個比較重要,其他大部分都不重要。

 

微主我習慣在工程檔案中放一個“刪除編譯產生垃圾檔案.bat”檔案,在最後原始碼存檔時刪除編譯過程產生的檔案。

 


Ⅰ、寫在前面
本文說的“檔案型別”指的是像.uvoptx、 .uvprojx、 .hex、 .map、

.axf、.ini、.c、.h···等一些字尾不同的檔案,他們各自的作用和功能。

 

有時開啟從其他地方獲取的原始檔,發現除了工程檔案“.uvprojx”之外還有很大雜七雜八的檔案,如:.crf、.d、.o···等一些讓人看了都“煩躁”的原始檔。

其實有很多檔案都是在建立工程及編譯之後產生的“中間檔案”,對於我們來說,並不需要儲存,只是在編譯除錯的過程中需要使用到。

 

當我們需要使用儲存一個工程及相關原始碼時,就需要把有些不必要的中間檔案刪除掉。於是,我們就需要知道這些檔案的意思,哪些檔案可以刪除,哪些不能刪除。

 

我們使用Go to Definition Of 使用到的檔案為.crf檔案,有時候Go to Definition Of不能使用(或按F12不起作用),有可能就是相關的.crf檔案被刪除了,或者沒有。

線上除錯的時候,不能跟蹤除錯,很有可能是沒有除錯型別檔案。

 

Ⅱ、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工程型別檔案
工程型別檔案是比較重要的,一般不能刪除。刪除之後有可能打不開軟體工程,所以,不能輕易刪除這一類檔案。

.uvmpw:多工程(工作空間)檔案;

.uvprojx:工程檔案(Keil V5)

.uvproj:工程檔案(Keil V4)

 

.uvoptx:工程選項配置檔案(Keil V5)

.uvopt:工程選項配置檔案(Keil V4)

 

.uv2:工程檔案(Keil V3)

 

Ⅳ、Source Files原始碼型別檔案
這一類原始檔,我想,應該不用多說。主要就是原始檔和標頭檔案,大體上有如下一些型別:

.c、 .h、 .cpp、 .inc、 .a51、 .s、 .a66、 .src等。

 

Ⅴ、Listing Files連結型別檔案
Project -> Options for Target -> Listing,如下圖:

這類檔案的輸出就在上圖的地方配置,需要輸出就勾選上。常見檔案型別有如下幾種:

.map:MAP檔案就是儲存映象檔案,這個檔案非常重要。當代碼出現異常,對分析程式碼非常有幫助,我打算後面專門寫一篇文章來講述這個檔案。

.i:C語言前處理器輸出檔案;

.lst:C編譯器或彙編程式生成的檔案;

.cod:包括混合C和彙編程式碼的完整的程式清單檔案;

 

Ⅵ、Object and HEX Files目標和Hex型別檔案
Project -> Options for Target -> Output,如圖:

這一類檔案比較重要,除錯資訊、預覽資訊、可執行檔案等都在這裡面。

.hex:可執行檔案(和.bin類似 用於下載到晶片的程式檔案);

.axf:包含除錯資訊的程式檔案,有時候我們在除錯時出現錯誤,可能是axf沒有檔案;

.d:編譯生成的依賴檔案,一般一個.c檔案對應一個.d檔案;

.o:也是目標的依賴檔案(重定位定址的依賴檔案);

.lib:庫檔案,生成庫就在這裡;

.elf:ELF/DWARF連結的檔案;

.crf:瀏覽資訊檔案,在文章開頭說了,使用Go to Definition Of 功能,就需要有這類檔案。

 

Ⅶ、剩下一些型別檔案
Build Files編譯型別檔案:

這一類檔案重點提一下“bat批處理檔案”,也就是說在編譯的時候,可以配合bat檔案一起編譯。Bat檔案主要就是一些命令,如拷貝、新建等。

 

Debugger Files除錯型別檔案:

.ini:除錯載入類檔案。就是在除錯時載入的檔案:

Other Files其他型別檔案:

.pack:支援包檔案;

.sct:連結控制檔案;

.lnp:聯結器傳遞命令檔案;

·······

這類檔案還有很多,重要性不強,不一一說明了。

 

Ⅷ、最後
我的部落格:http://blog.csdn.net/ybhuangfugui

微信公眾號:EmbeddDeveloper

更多精彩文章我將第一時間在微信公眾號裡面分享,如果不想錯過,可以關注我的微信公眾號。