This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:TI C/C++编译器
您好,
我的问题看起来很傻,所以提前很抱歉。 以下是我的问题。
A)为什么对象文件(a.out,COFF,ELF)被划分为.text,.data,.bss等逻辑部分?其背后的原因是什么? 为什么我们需要在对象文件中包含部分??
B)对所有这些文件格式有何需求,例如如果我们有.out格式,为什么 开发COFF格式,类似ELF文件格式???? 什么因素迫使我们需要新的文件格式????
c)微处理器是如何执行的,就像我们有 一个.out文件并将其刻录到例如TMS320F2812 DSC闪存一样,微处理器如何区分不同的部分,它如何执行这个 a.out文件? 微控制器与 从PC中的对象文件创建新进程时通常需要的输出标头有关什么????
D)执行对象文件时,链接程序分配给对象文件中不同部分/变量的地址如何在RAM中得到满足,例如,如果链接程序提供的地址从0到MAX_SIZE,当操作系统加载程序在不同页面上加载此进程时,帧不从位置0开始, 那么,在执行过程中,此过程如何期望从0到MAX_SIZE的地址? 是否使用了虚拟地址空间或偏移?
我不会直接回答您的问题,而是会给您一些相关的想法。
有关TI工具使用的目标文件格式的概述,请参阅Wiki文章 A Brief History of TI Object File Formats(TI目标文件格式的简要历史)。
要查看一些与目标文件中找到的结构一起工作的代码,请查看 cG_xml包中的bootimage脚本。
谢谢,此致,
-George