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.

[参考译文] LAUNCHXL-F28379D:LAUNXL-F28379DCH、BOOSTXL-POSMGR、BiSS-c 工程编译错误

Guru**** 2537580 points
Other Parts Discussed in Thread: LAUNCHXL-F28379D, BOOSTXL-POSMGR, CONTROLSUITE, C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/980510/launchxl-f28379d-launxl-f28379dch-boostxl-posmgr-biss-c-project-build-error

器件型号:LAUNCHXL-F28379D
主题中讨论的其他器件: BOOSTXL-POSMGRcontrolSUITEC2000WARE

我有 LAUNCHXL-F28379D 和 boostxl-posmgr 产品。 我尝试从与 BiSS-C 通信的绝对编码器(Aksim-2)获取数据 我通过从 Resource Explorer 部分中选择"empty_bitfeld_driverlib_project"创建了一个清理工程。 我按照"sprui37.pdf"文件中的说明将 biss 库添加到项目中。 但是
bissc_data_struct.spi =& SpibRegs;
PM_Bissc_setupPeriph ();
当我添加代码时、我会遇到编译错误。 我将共享下面的误差输出。 以前有人执行过此过程吗? 或者如何解决这个问题?

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

    对于符号错误#10056:

    您可以使用归档器从 controlSUITE 位置管理器库中删除 GlobalVariablesDefs 对象文件。

    有关 归档器选项、请参阅《汇编工具用户指南》(www.ti.com/.../spru513)。   归档器 AR2000.exe 将位于安装编译器的 bin 目录中。

    不适合错误

    看起来链接器正在尝试将程序放入外设寄存器文件区域。  应该有另一个.cmd 文件来描述器件上的所有程序/数据存储器并进行适当分配。  项目中是否缺少此.cmd 文件?

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

    当我执行您指定的归档器 AR2000.exe 操作时、会出现不同的错误。 您可以尝试为 LAUNXL-F28379D 创建项目吗?

    项目中有两个 cmd 文件、分别为2837xD_FLASH_lnk_CPU1.cmd 和 F2837xD_Headers_nonBIOS_CPU1.cmd。

    "程序不适合错误"解决方案

    "CLB1_LOGICCFG:origin = 0x003000、value of length = 0x000040"

    我通过将其更新为来修复它

    "CLB1_LOGICCFG:origin = 0x003000、length = 0x000080"

    此解决方案是否正确?

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

    是否可以通过添加此库来运行 C2000ware?

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

    在 C2000Ware 中、错误中显示的未解析符号在 F2837xD_CLB.h 中定义  如果您将 F28x_Project.h 的# include 添加到 bissc.h 文件中。  这将包括所需的接头。 (C:\ti\c2000Ware_3_03_00_00\device_support\f2837xd\common\include\f28x_Project.h)

    请参阅中的示例  

    此致

    Lori

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

    您好!
    我的 biss.h 文件中已附加#include "F28x_Project.h"。 尽管我遇到了错误。

    * C:\ ti \ controlSUITE \ libs \ app_libs \ position_manager \ v01_02_00_00 \ bissc \ examples \ PM_Bissc_SystemTest

    * C:\ ti \ controlSUITE \ development_kits \ BOOSTXL_POSMGR \ v01_01_00_00 \ bissc-F28379DLPAD-S2 \ examples \ PM_Bissc_SystemTest

    * www.ti.com/.../SPRUI37

    我指的是这三个文件。 我可以查看其他示例吗?  找不到 C2000Ware 的示例?

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

    您好!

    您的反馈和您提到的目录让我有点困惑。  我认为您尝试使用最新的 C2000Ware 支持文件将库包含在项目中?  

    [引用 user="user4928118"]#include "F28x_Project.h"已附加到我的 biss.h 文件中。 尽管我收到了错误。

    您的项目是否指向 controlSUITE 或 C2000Ware 中的"F28x_Project.h"文件?  

    • 检查搜索.h 文件的目录的项目属性-> C2000编译器->包含选项。  
    • c2000Ware 中提供了最新版本的头文件、其中包含 CLB 定义。   

    [引用 user="user4928118">我指的是这三个文件。 我可以查看其他示例吗?  找不到 C2000Ware 的示例

    c2000ware 中目前没有示例。  但是、在 device_support 目录中、我建议从位字段示例开始。   

    此致

    Lori

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

    你是对的、它有点复杂。 我可以解释如下。
    我创建了一个基于 c2000Ware bitfield + driverlib 的空项目。 (Resource Explorer->C2000Ware-3.04.00->器件-> F28379D->Driverlib +位字段空示例 CCS Project->import)。 在这里、我打算使用 Aksim-2 BiSS-c 编码器。

    但您没有适用于 posmgr biss-c 库的 C2000Ware 实例。 我正在尝试通过查看 controlSUITE 示例来添加此功能。 我在这里也遇到了这些错误。

    我还没有找到解决方案、我的项目落后了。

    "您的项目是否指向"F28x_Project.h "controlSUITE 或 C2000Ware 中的文件?" 您在表单中提出了要求。 F28x_Project.h 文件当前位于 c2000Ware 中。

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

    好的、这是有道理的、并与我认为的目标一致。  如果左侧的错误是此屏幕截图中显示的错误-我搜索了 C2000ware 并发现结构在 F2837xD_clb.h 中定义、并且实例在 C2000Ware 中的 F2837xD_GlobalVariablesDefs.c 中创建。  

    C:\ti\c2000Ware_3_04_00_00\device_support\f2837xd\headers\sources\F2837xD_GlobalVariablesDefs.c  

    C:\ti\c2000Ware_3_04_00_00\device_support\f2837xd\common\include\F28x_Project.h ->包括 F2837xD_device.h

    和 C:\ti\c2000Ware_3_04_00_00\device_support\f2837xd\headers\include\F2837xD_device.h ->包括 F2837xD_clb.h  

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

    正如您所说的、是的。 我也找到了它们。 但我已经在项目中的 biss.h 文件中添加了#include "F28x_Project.h"。 但是、屏幕图像中存在错误。

    如下图所示、它在 F2837xD_clb.h 文件中定义、文件前面没有"_"、因此我认为它可能无法找到它。 当我编辑这些内容时、它仍然给出相同的错误。 (我的问题尚未解决、我已将 F2837xD_clb.h 文件设置为原始状态。)

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

    此文件是否也在您的工程中且未从编译中排除?

    C:\ti\c2000Ware_3_04_00_00\device_support\f2837xd\headers\sources\F2837xD_GlobalVariablesDefs.c  

      • 检查所有 include 目录以确保没有任何内容指向 controlSUITE。  
      • 此外、检查工作区中的项目目录中的文件-该目录中的任何文件都将用于项目中。
      • 查看工具是否真正使用了文件的快速方法是在文件中插入错误。  我曾遇到过工具发现错误文件副本的情况、但我没有意识到。  


    此致

    Lori

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

    您好!

    我已检查  我的项目中随附的 C:\ti\c2000Ware_3_04_00_00\device_support\f2837xd\headers\sources\F2837xD_GlobalVariablesDefs.c。
    我还检查了您的回答。 一切看起来都很好。 但我的 c2000Ware bitfiled + driverlib 项目中仍然存在错误。

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

    另一位客户最近做了这个。  他们总结了本主题结束时的步骤:

    https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/973365#pi320995=2

    1.使用  C:\ti\controlSUITE\libs\app_libs\position_manager\v01_02_00_00中的 PM_Bissc_include.h、biss.h、biss.h、biss.c、PM_BissC_Lib.lib

    2.将 #include "F28x_Project.h"添加到 biss.h 中

    3.将"volatile"添加到 BISSC_DATA_STRURT 中(否则、dataReady 不会更改。)

    4.将"F2837xD_Headers_CLB_CPU1.cmd"的内容复制到"F2837xD_Headers_nonBIOS_CPU1_eabi.cmd"

    5.更改 ".ebss       :> RAMLS6 | RAMLS7 "更改为 ".ebss       :>RAMGS7 | RAMGS8 | RAMGS9"的"iddk_server_2837x_ram_link_CPU1.cmd"和

       "iddk_server_2837x_flash_link_cpu1.cmd"  

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

    我有一段时间没有看过这个。 谢谢你。 这起作用了。 我还会分享示例项目。 它可能对其他朋友有用。

    BiSS_c_379d