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:如何在 empty_sysconfig _337zwt 示例工程中使用 F021闪存 API?

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1348451/tms320f28379d-how-to-use-f021-flash-api-in-the-example-project-of-empty_sysconfig_337zwt

器件型号:TMS320F28379D
主题中讨论的其他器件:SysConfigC2000WARE

尊敬的所有人:

我已经创建了一个 empty_sysConfig_337zwt 工程的副本、我打算测试 F021闪存 API。 如何进行此操作?

但是、每当我包含文件"F021_F2837xD_C28x.h"时、都会遇到以下错误:

我已在下方上传了项目。 有人可以帮助我吗?

e2e.ti.com/.../test_5F00_import_5F00_f021.zip

谢谢你。

此致、

科迪

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

    您好、Cody、

    您的项目没有为我导入、但我通过导入空项目并查看导致错误的确切代码集、重现了该问题:

    #if FALSE != 0
    #define false FALSE
    #endif
    #if TRUE != 1
    #define true TRUE
    #endif

    即使定义了 true 和 false、这里也似乎存在一些编译器错误。  当我使用在线 C 编译器进行检查时、错误没有出现。 如果有原因、我会将这篇文章转发给我们的编译器团队、进一步解释该问题。

    #ifndef TRUE
       #define TRUE              1
    #endif
    
    #ifndef FALSE
       #define FALSE             0
    #endif
    
    #if FALSE != 0
    #define false FALSE
    #endif
    
    #if TRUE != 1
    #define true TRUE
    #endif

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

    尊敬的 Omer:

    我刚刚用相同的方法尝试了 C2000Ware_5_00_00_00、未发生错误。 为什么会发生这种情况?

    谢谢你。

    此致、

    科迪

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

    您好! 我无法仅通过上面的代码(并在函数中使用)重现问题。 是否可以生产一个能够完全反映问题的小型测试用例?  请按照 如何提交编译器测试用例一文中的说明进行操作。  如果是解析或预处理中的错误、请尽可能获取并发送。

    您还能指出正在使用哪个版本的编译器以及传递给该编译器的选项吗?

    谢谢!

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

    e2e.ti.com/.../empty_5F00_sysconfig_5F00_main.pp.txt

    "c:/ti/ccs1230/ccs/tools/compiler/ti-cgt-c2000_22.6.0.LTS/bin/cl2000 /Users/USER/workspace_v12/empty_sysconfig_337zwt_502 /Users/USER/workspace_v12/empty_sysconfig_337zwt_502/device /ti/ccs1230/ccs/tools/compiler/ti-cgt-c2000_22.6.0.LTS/include /Users/USER/workspace_v12/empty_sysconfig_337zwt_502/CPU1_FLASH/syscfg -v28 -ml -mt --cla_support=cla1 - float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 -Ooff --include_path="C:/ti/c2000/C2000Ware_5_02_00_00/libraries/flash_api/f2837xd/include /ti/c2000/C2000Ware_5_02_00_00/driverlib/f2837xd/driverlib

    >>编译失败
    subdir_rules.mk:36:目标"empty_sysconfig_main.obj"的配方失败
    "C:\ti\c2000\C2000Ware_5_02_00_00\libraries\flash_api\f2837xd\include\types.h"、第129行:错误#18:预计为一个")"
    "C:\ti\c2000\C2000Ware_5_02_00_00\libraries\flash_api\f2837xd\include\types.h"、第132行:错误#18:预计为")"
    "C:\ti\c2000\C2000Ware_5_02_00_00\libraries\flash_api\f2837xd\include\types.h"、第133行:警告#48-D:宏"true"的重新定义不兼容(在"C:/ti/ccs1230/ccs/tools/compiler/ti-cgt-c2000_22.6.0.LTS/include/stdbool.h "的第46行声明)
    编译"../empty_sysconfig _main.c"时检测到2个错误。
    gmake:***[empty_sysconfig_main.obj]错误1

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

    您好 Allan 和 Cody、

    Types.h 文件的语法无关紧要、下面的代码似乎正是问题所在:

    #if FALSE != 0
    #define false FALSE
    #endif
    #if TRUE != 1
    #define true TRUE
    #endif

    出于某种原因 、以下 main.c 将在 C2000Ware 5.00.00中编译、但不会在5.02.00中编译。 我曾尝试过 C2000Ware 本身的内容、但这似乎不是问题的根源。 我在工程中从 C2000Ware 中使用的唯一文件是 adc.h、但即使进行检查以确保它与5.00.00中的版本相同 、仍会导致编译器错误。 我已经在下面压缩并插入了 项目、它可能与项目属性相关、但我不确定要在那里查找什么设置。

    e2e.ti.com/.../3225.project.zip

    我还注意到、当我将 Types.h (或我的项目中的 temp.h)放在其他头文件的上方时、问题就消失了。 我不知道这到底是如何阻止编译器错误的,但我认为这是值得注意的。

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

    另请注意、我比较了用于导入我使用的空项目示例的.projectspec 文件、这些是唯一的区别(我不认为这些应该会导致问题):

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

    感谢您提供附加的详细信息 Omer。  我已经将该主题提请编译器专家注意、以供进一步评论。 谢谢

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

    尊敬的所有人:  

    我发现、如果我们将"F021_F2837xD_C28.h"移到"driverlib.h"之前、就可以构建该工程。  

    我们 对编译器中的头文件有什么条件、但不应该对头文件有任何序列需要。

    您是否可以根据这个观察结果进行检查?  

    此致、

    埃里克·陈

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

    Eric、  

    我已经为它提交了一个错误.  

     hw_types.h 中 true 和 false 行的类型转换会导致此问题。   

    如果您将其替换为以下几行、则 问题已解决

    #ifndef true

    #define true  1

    #endif

    #ifndef false

    #define false  0

    #endif

    此致

    西达尔特

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

    尊敬的 Siddharth:

    我最近使用双 C28和双 CLA 开发了我的项目。 但我经常会遇到 SysConfig 和 Driverlib 的相关参考资料或示例代码缺失的情况。 将来、TI 能否提供更多有关双 C28和双 CLA 的示例、例如前面提到的有关使用 FlashApi 的示例?

    此致、

    科迪

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

    尊敬的团队:

    添加一些有关 Cody 所说内容的评论。

    我们分离了双 CPU 和双 CLA 的文档、没有一个文档可以让用户参考一个文档进行开发。  

    我们没有太多双 CPU 和双 CLA 的示例。  

    如果我们有更多有关双 CPU 和双 CLA 的示例和文档、这对客户和 TI 都有帮助。  

    此致、

    埃里克·陈

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

    我已经为它提交了一个错误.  

     hw_types.h 中 true 和 false 行的类型转换会导致此问题。

    [/报价]

    尊敬的 Siddharth:  

    谢谢您的 

    讲解。 您是否可以注意到这一点、并在下一版本的 C2000ware 中更正? 此致、 埃里克·陈
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Eric、  

    我们将对其进行处理、并在下一个 C2000Ware 版本中对其进行传真。

    此致

    西达尔特