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.

[参考译文] 编译器/MSP430FR5994:使用受限数据模型时数组索引工作不正常

Guru**** 2606725 points
Other Parts Discussed in Thread: MSP430F5338

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/630798/compiler-msp430fr5994-array-indexing-not-working-properly-when-using-restricted-data-model

部件号:MSP430FR5994
主题中讨论的其他部件:BOOSTXL-音频

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

您好,  

我一直在用BOOSTXL-音频录制播放示例修复一些错误,并注意到在修改"数据模型"参数时出现了一些意外行为。 此项目记录音频数据并将其存储到两个64KB数组中,这些数组位于自定义数据段中,该数据段从FRAM2 (0x1万)的开头开始。 当数据模型设置为"受限"时,音频数据将按非顺序回放。 但是,当数据模型设置为"大"时,音频播放正常。  

我读了受限数据模型,发现单个对象的大小限制为64KB。 根据此规定,音频数据仍应正确播放。 但是,我决定将阵列大小减半,以便每个阵列大小为32kB,并且音频开始正确播放。 在不同的数据模型之间切换时,您是否可以对可能导致音频播放错误的原因进行一些说明?

我附上了一个项目的压缩版本,该版本可以使用大数据模型正常工作。 要遇到此问题,您只需更改为受限数据模型并观察不正确的回放。 有问题的阵列位于AUDIO_COLLEC.c文件中,这些阵列的回放位于AUDIO_REPLAY_C文件中。  

e2e.ti.com/.../BOOSTXL_2D00_AUDIO_5F00_Record_5F00_Playback.zip

此致,  

Caleb Overbay

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

    但是,当数据模型设置为"大"时,音频播放正常。  

    我读了受限数据模型,发现单个对象的大小限制为64KB。 根据此规定,音频数据仍应正确播放。 但是,我决定将阵列大小减半,以便每个阵列大小为32kB,并且音频开始正确回放。附加项目使用TI MSP430 v 16.9 .4.LTS编译器。

    我没有查看为项目生成的代码,但是根据问题描述,您可能会遇到错误 CodeGen-1995“指针数学添加错误地截断到MSP430上的ptrdiff _t”,或者可能 是CodeGen-1412。

    CodeGen-1995在 MSP430_MSP.6.LTS 16.9 或 MSP430_MSP4.0.STS中报告为FIXED,17.9 因此升级编译器可以解决此问题。

    有关  错误的一些背景信息,请参见Compiler/MSP430F5338:Adding offset larger than 32k to pointers in Restricted data model。

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

    感谢您的回复。 我似乎找不到16.9 6或17.9 0编译器版本。 执行CCS更新并手动下载最新的TI MSP430编译器后,CCS中似乎没有显示该编译器。 这些版本是否已发布?

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

    我似乎找不到16.9 6或17.9 0编译器版本。 执行CCS更新并手动下载最新的TI MSP430编译器后,CCS中似乎没有显示该编译器。 这些版本是否已发布?[/QUOT] CCS 7.2 帮助->安装新软件显示17.9 .........0可用于安装,但没有16.9 的迹象。6:

     MSP430_CodeGen.0.STS版本中的已解决缺陷  列出了17.9 Gen-1995的修复程序。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    16.9 6尚未发布。 请访问 processors.wiki.ti.com/.../Production_Compiler_Releases