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.

[参考译文] TMS320C5517:使用无符号长整型等变量的运算中出现的问题

Guru**** 2469930 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1467383/tms320c5517-problems-in-operations-using-variables-like-unsigned-long

器件型号:TMS320C5517

工具与软件:

大家好、我在 C 函数内使用定义为 unsigned long (32位变量)的变量。 在函数内部、我使用它执行一些没有所需效果的运算。 例如、如果我要重置此变量(将其设置为0)、则仅会重置16个最高有效位(我在调试中看到)。 16个最低有效位保持不变。
或者、如果我定义一个指向无符号长整型矢量的指针、并且在地址函数内将该指针指向该矢量的第一个元素、则寻址不会正确执行。
我想这两者是相关的、或者好像编译器不能正确识别此类变量。
您能提供解决此问题的建议吗?

感谢您发送编修。

Matteo Crulli

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

    尊敬的 Matteo:  

    该变量是否也在该函数之外被处理? 这可能是原子操作的问题。 但我会查阅 C55编程指南以了解该 DSP 内核自带的数据类型。 可在以下位置找到一本指南: https://www.ti.com/lit/ug/spru376a/spru376a.pdf。 看起来无符号长整型 以及其他标准 C 类型都应被定义。  

    我们的 C55x 专家目前不在办公室、但能够在一周左右与您联系。  

    -Randy

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

    尊敬的 Matteo:

    C55x 中的无符号32位字支持为"unsigned long"。 您可以查看 CSL 03.08.01的 CSL_USB_MSC_pollExample 中的用法:

    C:\ti\c55_LP\C55_CSL_3.08.01\ccs_v6.x_examples\usb\CSL_USB_MSC_pollExample\chk_mc.c.

    确保已随 CSL 03.08.01一起安装以下组件:

    DSP/BIOS 5.42.00.07和 DSP/BIOS 5.42.02.10
    CCS 7.3或更高版本
    C5500 4.4.1的 CGT
    XDCTools 3.24.05.48
    xDAIS 7.24.00.04

    此致、

    Ming