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.

[参考译文] Linux:Windows 和 Linux 编译代码中的内存映射不同。

Guru**** 2609285 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/653694/linux-memory-mapping-different-in-windows-and-linux-compiled-code

工具/软件:Linux

您好!

我已在 Linux 和 Windows 上签出代码库。 我已将代码编译从 Windows 移植到 Linux。

以下工具用于编译(在 Windows 和 Linux 中都是如此)
DSP_BIOS:5.33.03.00
C6000_CGT:6.1.11
TI_CSL:c6488

在 Linux 上没有执行其他优化。

但是、存储器映射存在一些差异。 我已附加地图文件供您参考。
您能帮我弄清楚为什么在存储器放置方面会出现差异?

谢谢、

Tejaswini

e2e.ti.com/.../meswtrx_5F00_core0_5F00_map_5F00_LINUX.txte2e.ti.com/.../meswtrx_5F00_core0_5F00_map_5F00_WINDOWS.txt

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您正在编译哪个 TI RTOS SDK 版本?

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Yordan、您好!

    这是使用编译器 6.1.11版为 Faraday DSP 编译的应用代码。

    我再次检查了 Linux 和 Windows 上的 makefile 优化级别。

    在 Linux makefile 中、优化如下所示:

    optimization_flag =-o3 -mf5 -ms1

    而在 Windows makefile 中、 optimization_flag =-o3 -mf5。

    (我从 Linux makefile 文件中删除了-ms1并检查了二进制文件的大小、现在的大小与 windows bin 的大小匹配)

    与在代码中压缩函数大小相关的-MS1是否具有任何意义?

    此致、

    Tejaswini

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Tejaswini、

    请查看下面提供的编译器优化指南。 请参阅第3.5节、了解-ms 的影响、这是用于减小代码大小的编译器选项。
    www.ti.com/.../spru187u.pdf

    希望这对您有所帮助。

    此致、
    Rahul