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.

[参考译文] CCS/LAUNCHXL-F2.8069万M:CCS错误:PieVectTable的声明不兼容

Guru**** 2553360 points
Other Parts Discussed in Thread: CONTROLSUITE, SYSBIOS

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/631397/ccs-launchxl-f28069m-ccs-error-incompatible-declaration-of-pievecttable

部件号:LAUNCHTXL-F2.8069万M
主题中讨论的其他部件:controlSUITESysBIOS

工具/软件:Code Composer Studio

您好,  

我正在6.1 进行有关CCS F2.8069万M的TI_RTOS内核研讨会。 我在实验4中参考了学生指南,参加了面向C28x的TI_RTOS内核研讨会。

我生成项目并出现错误:
#148声明与“struct pie_VECT_table PieVectorTable”(在“C:\ti\controlSUITE\device_support\f2806x\v136\F2806x_headers\include\F2806x_PieVect.h")2806) F6x_GlobalVariable3762806 F6x_GlobalVariable376的第194行声明    

我尝试的解决方案是将F2806x_PieVect.h中的结构PIE_VECT_TABLE更改为易失性结构PIE_VECT_TABLE

 

我仍然收到相同的错误。 是否可以有人建议解决方案。 我添加了屏幕截图以供参考。 感谢你的时间和帮助。

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

    正如屏幕截图中控制台的警告所示,volatile不属于结构定义,因此撤消该更改。 相反,我认为您需要将其放在靠近.h文件底部的PieVectTable的extern声明中。 这样是否可以消除错误?

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

    感谢您的回复。 我也尝试过,这给了我更多的错误(44个错误)。

    此致,
    Anjali
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    F2806X_GlobalVariableDefs.c中的PieVectorTable是否不稳定? 我想这就是您添加"易失性"的原因,对吗?

    您能告诉我这44个错误中有哪些说法吗?

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

    是的,F2806X_GlobalVariableDefs.c中的PieVectorTable是易失性的。 但在F2806x_PieVect.h中却并非如此。 由于该错误显示不兼容,因此我在F2806x_PieVect.h中将其更改为volatile

    下面是 将F2806x_PieVect.h中的extern struct PieVectorTable (如您所述,位于文件底部)更改为volatile时出现的错误的屏幕截图。 谢谢你。

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

    如果我在不支持FPU的情况下构建SysBIOS并将项目配置为支持FPU,我就能够重现类似的错误。 我认为您需要在项目中修复类似的不匹配问题。

    我不知道研讨会使用什么设置,但我怀疑您需要打开app.cfg并转到SYS/BIOS的"基本运行时选项"页面(应该是顶部的"运行时"链接),然后查找标有"自定义编译器选项"的框。 您需要检查--float_support选项,并确保它与项目属性的生成选项中的float支持选项相匹配。

    我使用的SYS/BIOS版本与您略有不同,但希望它们看起来非常相似。

    Whitney

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

    您好,Whitney,

    很高兴您能重现此错误。 我更改了BIOS-基本运行时选项,并将float_support添加到自定义兼容程序选项。

    但是,当我在不更改F2806X_PieVect.h的情况下生成项目时,它给出1个错误-不兼容(与第一个错误相同)

    如果我在F2806X_PieVect.h的末尾向PieVectorTable添加volatile,则Build会抛出44个类似的错误。

    请您提出我必须改变的做法。 我清理了项目并重新构建了它,但仍然遇到相同的错误。

    谢谢你。

    此致,

    Anjali

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

    我想你需要保持PieVectTable上的挥发性。 奇怪的是,更改“自定义编译器选项”并不能帮助消除其他错误。

    是否可以将项目的编译器选项和BIOS的自定义编译器选项发送给我,以便我比较它们并查看是否可以发现问题?

    谢谢!
    Whitney
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    项目的编译器选项:
    -v28 -ml -mt --cla_support=cla0 --float_support=fpu32 --vcu_support=vcu0 --include_path="C:/ti/controlSUITE/device_support/f2806x/v136/f2806x_common/include"--include_path="C2806--include_path="C:6.4 /ti/gt_control_x_x_tools/fdiag_f280x_contacts=6/s-contacts/fx_contact=280x_contact/fdip_conti_f6/s-fx_contact=280x_contact=280dip_contacts=-fdip_contacts=280dip-fx_fx_fx_f6/s-fx_conti_conti_conti_conti_fdip_fx_fx_fx_fx_

    BIOS的自定义编译器选项:
    -v28 -dlarge_model=1 -ml --float_support=fpu32 -q -mo --program_level_compile -o3 -g --optimize_with _debug

    希望这有所帮助。 谢谢你。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    一切看起来都很好...

    执行清理时,请尝试删除整个Debug文件夹,以防某些内容被保留在其中。

    Whitney
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的建议。 但这没有什么帮助。 我仍然遇到错误。

    此致,
    Anjali
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在“常规”下的项目“属性”中,您是否可以查看RTSC选项卡中的“目标”? 是ti.targets.c28_large还是ti.targets.c28_float? 如果是_large,请将其更改为_float。

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

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

    太棒了! 成功了。 谢谢你。

    此致,

    Anjali