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.
工具与软件:
我阅读了有关将 COFF 更改为 EABI 的文档。
在 EABI 链接器命令文件中、有".data"用于放置已初始化的数据。
但在 COFF 中、此段不适用、为何要将初始化数据放入 COFF 中?
您好!
[报价 userid="624304" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1437910/tms320f280039c-coff-to-eabi "]但在 COFF 中、此段不适用、为何要将初始化数据放入 COFF 中?
[报价]此致!
Ryan Ma
Ryan、您好!
正如我在这张图片中标记的、 我认为描述是不一致的。
您好!
我认为对于 COFF 和 EABI、它们都应使用.data 来放入已初始化的数据。
我已在此表中提交一个待更新的 TT。
https://software-dl.ti.com/ccs/esd/documents/sdto_cgt_Linker-Command-File-Primer.html
此致!
Ryan Ma
我认为这种区别是被忽视的。 务必单独考虑这些问题。 编译器如何使用命名的段 .data ? 汇编语言编程器如何使用命名的段 .data ? 第一篇文章中的表格仅回答第一个问题。 它没有提到第二个。
编译器如何使用命名的段 .data ? 在 COFF ABI 中、段名 .data 是不使用的。 在 EABI 中、 .data 用于包含已初始化的读写变量。 从汇编器出来的时候、这些段会被初始化。 链接器处理的内容 .data 初始化段 .cinit 、然后更改 .data 更改为未初始化。
汇编语言程序员如何使用 .data ? 在 COFF ABI 中、通常从不使用它。 但有时用于包含初始化数据。 在 EABI 中 .data 该部分按上一段所述进行处理。 汇编程序员需要知道链接器的行为。
谢谢。此致、
-George.
谢谢!
我对这个问题有基本的了解。
对于 COFF ABI 中的编译器、哪个段用于包含已初始化的读写变量?
He Chen 说:.data 是不使用的。 在 EABI 中、 .data 用于包含已初始化的读写变量。 [报价]2、我也不是很明白这一点。
[/quote]链接器处理的内容 .data 初始化段 .cinit 、然后更改 .data 更改为未初始化。 [报价]
在 COFF ABI 中、哪一部分用于包含已初始化的读写变量? [报价].ebss . 此段包含未初始化和已初始化的全局变量和静态变量。
[报价 userid="624304" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1437910/tms320f280039c-coff-to-eabi/5518163 #5518163"]我不太明白这一点。
[报价]链接器处理的内容 .data 初始化段 .cinit 、然后更改 .data 更改为未初始化。有关更详细的说明、请在 C28x 嵌入式应用程序二进制接口 中搜索标题为" 变量初始化"的子章节。
谢谢。此致、
-George.
谢谢!
我稍后将阅读该文档。