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:使用洋葱的 RAM-Adress 问题

Guru**** 2589300 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1078955/tms320f28379d-ram-adress-problems-with-onion

部件号:TMS320F28379D

大家好,
我的 ram 位置有问题。 我已经为一个通信(首先是互处理器,然后是 SPI)创造了一个洋葱,它包含了一次作为结构的已排序数据,一次作为数组的数据。
但是,内存位置不匹配。 在 RAM 地址,一个值存储在结构中未包含的数组中。 我已经制作了一张屏幕截图并开始了。



是否有人知道导致这种情况的原因以及我如何解决这一问题?

此致
莱昂

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

    莱昂,

    我已将您的职位分配给我们的团队成员之一,请期待您的回复,2月22日,因为我们今天在美国的总统节假日已经不在办公室了。

    最佳

    马修

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

    莱昂,

    很抱歉耽误你的时间。  由于 C2000 CPU 的架构,链接器正在将32位数据与偶数地址对齐,因为长的“数据装入”会跟随一个 int“Seite”,我相信编译器正在在位置5处插入一个有意的孔以实现这一点。  

    能否使用 Datacount 的引用索引到 Char 数组?  我会问其他人这里是否有一个更优雅的太阳。

    最佳
    马修

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="451396" url="~ë/support/icros/c2000-icroms-group/c2f/c2000-微控制器-forum/1078955/tms320f28379d-ram-adpress-problems -with -onya"]是否有人知道导致此问题的原因

    结构的所有32位宽成员必须在2个字的边界上对齐。  如有必要,成员之间会出现孔以实现此对齐。  有关详细信息, 请在 C28x 编译器手册中搜索 标题 为“射野/结构对齐”的子章节。  

    [引用 userid="451396" url="~ë/support/icros/c2000-icroms-group/c2f/c2000-微控制器-forum/1078955/tms320f28379d-ram-adpress-problems -with -onyeon"]我如何修复该问题?

    如果可行,请按结构中字段的顺序进行更改。  如果这不可行,我就看不到解决方案。

    谢谢,此致,

    乔治