打印
[应用相关]

MDK 的编译过程及文件类型全解(1)

[复制链接]
502|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
redone|  楼主 | 2021-10-13 13:41 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 redone 于 2021-10-13 13:41 编辑

编译过程简介

首先我们简单了解下MDK 的编译过程,它与其它编译器的工作过程是类似的,该过程




编译过程生成的不同文件将在后面的小节详细说明,此处先抓住主要流程来理解。
(1) 编译,MDK软件使用的编译器是armcc 和armasm,它们根据每个c/c++和汇编源文件编译成对应的以“.o”为后缀名的对象文件(Object Code,也称目标文件),其内容主要是从源文件编译得到的机器码,包含了代码、数据以及调试使用的信息;
(2) 链接,链接器armlink 把各个.o 文件及库文件链接成一个映像文件“.axf”或“.elf”;

(3) 格式转换,一般来说Windows 或Linux 系统使用链接器直接生成可执行映像文件elf后,内核根据该文件的信息加载后,就可以运行程序了,但在单片机平台上,需要把该文件的内容加载到芯片上,所以还需要对链接器生成的elf 映像文件利用格式转换器fromelf 转换成“.bin”或“.hex”文件,交给下载器下载到芯片的FLASH 或ROM 中。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

132

主题

742

帖子

5

粉丝