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.

[参考译文] C2000-CGT:如何在 CGT-C2000中使用8位值(如 char&unsigned char)时发出警告?

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/838394/c2000-cgt-how-to-throw-a-warning-when-using-8bit-value-like-char-unsigned-char-in-cgt-c2000

器件型号:C2000-CGT

您好!

我将 一个庞大的控制程序从 ARM 移植到 F28335。

我所面临的问题是使用了许多8位值的旧工程、由于 C28x 在8位寻址中的支持限制、因此如果不进行更改、可能会导致问题。

手动检查比较麻烦、因为某些值是使用 宏定义定义的(例如 UINT8 UINT8_T UINT8特性 UChar 等)。

使用 8位值时、是否有办法让 CGT 工具发出警告?

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

    遗憾的是、TI 编译器没有可直接解决您的问题的功能。  话虽如此、这里是一个需要考虑的想法。

    而不是检查源代码、而是检查预处理的代码。  这使您可以看到替换#define 符号后的代码。  在 C28x 编译器手册中搜索 选项 --preproc_with_comment 和 --gen_preprocessor_listing。  然后搜索其中一个选项生成的文件以查找基本类型名称 char。  我相信这种方法或类似的方法将会起作用。

    谢谢、此致、

    乔治

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

    您好!

    谢谢你。

    这解决了我的问题。