大家好、我一直在阅读汇编器/链接器的功能、我不清楚一些内容-我不理解 .data 段的使用。
假设您在没有操作系统的情况下运行程序、该程序 将保存 到内部 闪存中并从此处运行-没有任何可将值预加载到 SRAM 中的内容。 那么、.data 段的功能是什么? 它用于何处/如何使用? 汇编器是否编写单独的初始化例程?
如果您有一个单独的操作系统或加载程序将程序加载到存储器中并 填充 SRAM、我理解这一点、但是 如果您的程序是独立的、它是如何工作的?
谢谢你。
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.
大家好、我一直在阅读汇编器/链接器的功能、我不清楚一些内容-我不理解 .data 段的使用。
假设您在没有操作系统的情况下运行程序、该程序 将保存 到内部 闪存中并从此处运行-没有任何可将值预加载到 SRAM 中的内容。 那么、.data 段的功能是什么? 它用于何处/如何使用? 汇编器是否编写单独的初始化例程?
如果您有一个单独的操作系统或加载程序将程序加载到存储器中并 填充 SRAM、我理解这一点、但是 如果您的程序是独立的、它是如何工作的?
谢谢你。
您好!
data 段用于初始化的变量-它们可以出现在每个 C/C++程序中、无论是否有底层操作系统。 链接器会创建该段、并在运行时(Tiva 中的启动文件)将该段从闪存复制到 RAM。 要了解有关 C 程序所有部分的更多信息、请参阅 此 TI 文档。 考虑到有一个与 ARM C 编译器相关的类似文档。
正如朋友 CB1在上一篇关于.asm 的文章中所建议的那样、J.Yiu 书籍也是一个很好的信息来源。 此外、Valvano 书籍也是如此。