275|0

926

帖子

0

资源

纯净的硅(初级)

一文知道keil编译程序的过程 [复制链接]

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

  

image.png
  编译过程生成的不同文件将在后面的小节详细说明,此处先抓住主要流程来理解。

  (1)编译,MDK软件使用的编译器是armcc和armasm,它们根据每个c/c++和汇编源文件

  编译成对应的以“.o”;为后缀名的对象文件(ObjectCode,也称目标文件),其内容主要是从源文件编译得到的机器码,包含了代码、数据以及调试使用的信息;

  (2)链接,链接器armlink把各个.o文件及库文件链接成一个映像文件“.axf”;或“.elf”;

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

  一般情况下高端的嵌入式系统使用的都是基于Linux系统,包括Android都是基于Linux内核,不过ios系统是基于Unix系统内核。但是移动端硬件方面ARM有着绝对的话语权,目前工业控制类或者手机,强如iPhone8/iPhoneX同样都使用ARM内核的IP,只是由不同的厂商对它进行封装。


回复
您需要登录后才可以回帖 登录 | 注册

最新文章 更多>>
    关闭
    站长推荐上一条 1/4 下一条

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

    电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表