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.

[参考译文] F29P329SM-Q1:内存中变量的对齐要求是什么&#39?

Guru**** 2952020 points

Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1652452/f29p329sm-q1-what-s-the-alignment-requirement-for-the-variable-in-memory

器件型号: F29P329SM-Q1
主题: SysConfig 中讨论的其他器件

您好的团队、

我向我的客户询问这个问题。

我的客户想知道 F29 内存中的变量是否有 alignmnent 要求

在 SysConfig 中、它显示闪存段应为 8 字节对齐

image.png

在数据表中、显示它应该是 16 字节对齐。

image.png

我们对此感到困惑、您能帮助解释一下吗?

BRS

Shuqing

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

    您好、Shuqing、

    要将数据成功编程到闪存、数据必须至少为 64 位对齐。

    您问题的关键是代码片段:“这样指令位置在要提取的 256 位范围内“----即闪存访问始终为 256 位对齐、但指令不一定与同一边界对齐。

    此致、

    Alex

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

    您好 Alex、

    感谢您的答复,仍然有以下问题:

    1.下面的理解是正确的:对于指令, 256 位对齐不是必须的,但如果会影响代码执行效率?

    2.结构变量 包含  布尔变量的对齐方式是什么? 总结构变量是否应该 8 字节 alignmenter每个布尔变量是否应该 8 字节对齐?

    3. RAM 的对齐要求是什么? 客户发现堆栈也需要 8 字节对齐。 如果它不是 8 字节对齐、中断将消失

    BRS

    Shuqing

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

    Shuqing

    [quote userid=“610907“ url=“~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1652452/f29p329sm-q1-what-s-the-alignment-requirement-for-the-variable-in-memory/6386164 以下理解是否正确:对于指令、256 位对齐不是必须的、但如果会影响代码执行效率?

    每次从闪存存储器获取指令时总共读出 256 位----从交错组对的每一半读出 128 位。 从闪存访问的起始地址自动对齐到 256 位边界、以便指令位置在待获取的 256 位范围内。

    我邀请了另一位专家回答 2 和 3。

    此致、

    Alex

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

    您好、

    存储器启动器 — CPU 可按字节寻址、并可生成 8/16/32/64 位写入访问。  所有 RAM 都具有 32 位粒度的 ECC 保护

    在 MEMSS 存储器控制器中、对 8 位和 16 位写访问在本地执行读取 — 修改-写入操作。

    请参阅 TRM 中“系统控制“一章的“存储器控制器“一节

    谢谢