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 文件。