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.

[参考译文] 编译器/TMS320F28377S:堆和 CIO 对齐

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/698530/compiler-tms320f28377s-heap-and-cio-alignment

器件型号:TMS320F28377S

工具/软件:TI C/C++编译器

您好!

我有一个基于 F28377的项目、其中包含 CCS V8、TI 编译器 C2000 v18.1.2。

由于内存 RAM 空间至关重要、我会观察哪个 RAM 变量发生在映射中。

我正在使用 CIO、并且已经为堆大小配置了0x2000。 (我不知道我是否可以减小 它、也不知道我是否可以减小它…)

在链接器文件中、我有以下用于测试的内容:  

  

RAM_VAR1:origin = 0x01902E、length = 0x002500

…μ A

.esysmem:>RAM_VAR1,page = 1//堆

.cio:>RAM_VAR1,page = 1//仅用于调试

然后在.Map 文件中、我们可以看到以下内容:

1 0001902e _sys_memory
1 0001b040 __CIOBUF_

为什么 CIOBuf 从1b040开始?  我们可以期望从0x1902E + 0x2000 = 0x1B02E 开始。

如果需要重新点火、我希望它位于0x1B030、但不是1b040!

所以我输了18个字!

我 在其他变量的映射文件中多次看到此行为(但在声明为"align(4)"的段上)。 但是、即使在这种情况下、我也希望每个0x10 => 0x00、0x10、0x20等都具有 ALIGNement。

 

是我不明白的吗?

 

注:如果我从19000开始部分,CIO 从1B000开始....

谢谢

1     00018d28  __TI_ENABLE_EXIT_PROFILE_OUTPUT                                                          
1     00018d2a  __TI_clean_ptr                                                                         
1     00018d2c  __TI_dptors _ptr                                                                           
1     00018d2e  _sys_memory                                                                              
1     0001ad40  __CIOBUF_                                                                                 
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="a GIR"]因此我丢失了18个字!

    感谢您报告此问题。  我可以重现类似的结果。  我不知道为什么会发生这种情况。  因此、我在 SDOWP 系统中提交了 CodeGen-4875、以对其进行调查。  欢迎您在我的签名中使用下面的 SDOWP 链接进行访问。   

    谢谢、此致、

    乔治

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

    谢谢你

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

    您好!

    CodeGen-4875在 SDOWP 系统中仍然不可用?

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

    抱歉。   CodeGen-4875未标记为公共视图。  我刚刚更改了它。  该更改需要几个小时才能在系统中传播。  请重试。

    谢谢、此致、

    乔治