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.

[参考译文] TMS320F28379D:大型结构数组初始化错误(.ebss)

Guru**** 2540720 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1363487/tms320f28379d-wrong-initialize-of-big-array-of-structs-ebss

器件型号:TMS320F28379D

大家好!

目前我在 Modbus 表映射中工作。 由大量结构体构成。

我在.c 文件中初始化这个结构数组   并将其扩展到.h 文件 外部 Modbus_map_t hr_map [numero_holding_registers_slave];  

该结构如下  

这个大型数组属于.ebss、我目前将其存储在 GSRAM 中、加入4个扇区       .ebss         :> RAMGS0_4,页面= 1

问题出现在运行代码之前、可能使用调试器看到结构体的值、并且其中许多都已正确初始化、但其中一些错误、没有指向正确的变量和值。

有人知道如何解决这个问题吗?

提前感谢

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

    您使用的是 EABI 还是 COFF 格式? 另外、我假设这在 CPU1上

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

    尊敬的 Vivek

    在哪里可以找到 EABI 或 COFF 格式的信息?

    在 CPU1中为是。

    正如你可以看到地址2,091,20920922093未正确初始化,是非常罕见的

    感谢先进的

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

    ITS COFF  

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

    指的是编译器团队。

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

    非常感谢。 此外、这只会在 im 调试时发生。 调试结束后、"量产中"的地址是正确的、因为我可以与它们通信。

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

    您只是在查看变量时观察到问题,还是在连接了调试器的情况下运行代码时引起问题?

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

    仅在我调试时。 如果代码在没有调试会话的情况下运行、这个位置运行正常、因为我可以读取它们

    我已尝试将优化设置为0或作为常量放置、但不起作用。

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

    我询问是否在连接了调试的情况下代码执行失败。 此外,当你暂停 CPU 以查看这些变量时?

    维维克·辛格

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

    您的项目中的入口点是什么?

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

    "那你打算怎么办?"

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

    入口点位于项目设置中、但这也有帮助。 所以基本上,你先在 main ()中暂停,然后再查看这些变量。

    您是否还能说明此问题会影响您的应用程序执行?

    是否可以将该 CCS 项目发送给我们进行查看?  

    维维克·辛格