MDK 的編譯過程
- 編譯過程圖解:
- 編譯工具及其路徑:
- MDK 下方的“Build Output”窗口輸出提示信息:
(1) 提示信息的第一部分說明構建過程調用的編譯器。圖中的編譯器名字是“V5.06(build 20)”,後面附帶了該編譯器所在的文件夾。
(2) 使用 armasm 編譯彙編文件。圖中列出了編譯 startup 啓動文件時的提示,編譯後每個彙編源文件都對應有一個獨立的.o 文件。
(3) 使用 armcc 編譯 c/c++文件。圖中列出了工程中所有的 c/c++文件的提示,同樣地,編譯後每個 c/c++源文件都對應有一個獨立的.o 文件。
(4) 使用 armlink 鏈接對象文件,根據程序的調用把各個.o 文件的內容鏈接起來,最後生成程序的 axf 映像文件,並附帶程序各個域大小的說明,包括 Code、RO-data、RW-data 及 ZI-data 的大小。
(5) 使用 fromelf 生成下載格式文件,它根據 axf 映像文件轉化成 hex 文件,並列出編譯過程出現的錯誤(Error)和警告(Warning)數量。
(6) 最後一段提示給出了整個構建過程消耗的時間。 構建完成後,可在工程的“Output”及“Listing”目錄下找到由以上過程生成的各種文件。
每個 C 源文件都對應生成了.o、.d 及.crf 後綴的文件,還有一些額外的.dep、.hex、.axf、.htm、.lnp、.sct、.lst 及.map 文件。