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.

[参考译文] TMS320F280049C:C2000ware FSI 示例错误

Guru**** 2522770 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/996534/tms320f280049c-c2000ware-fsi-example-err

器件型号:TMS320F280049C
主题中讨论的其他器件:C2000WARE

我尝试在 c2000ware 中调试 FSI 示例,但当我加载 了软件项目并 对其进行编译时 , 下面的错误无法解决,请帮我,谢谢!

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

    我曾尝试删除或删除它,但它确实起作用;  

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

    您能否创建新的工作区并导入此示例并进行构建?

    此致、

    Veena

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

    是的、我创建了一个新的工作区、但 它也不起作用

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

    这是针对所有示例、还是针对该特定示例发生的?

    此致、

    Veena

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

    似乎所有 driverlib 示例都存在此问题;但器件支持示例没有问题;

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

    您能否共享您正在使用的 device.c 文件?

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

    //########################################################################################################################
    //
    //文件:device.c
    //
    //标题:示例的器件设置。
    //
    //########################################################################################################################
    //$TI 发行版:F28004x 支持库 v1.07.00.00 $
    //$Release Date:Sun Sep 29 07:29:19 CDT 2019 $
    //版权所有:
    //版权所有(C) 2019德州仪器(TI)公司- http://www.ti.com/
    //
    //以源代码和二进制形式重新分发和使用,有无
    //如果满足以下条件,则允许进行修改
    //满足:
    //
    //重新分发源代码必须保留上述版权
    //注意、此条件列表和以下免责声明。
    //
    //二进制形式的重新分发必须复制上述版权
    //注意、中的条件列表和以下免责声明
    //随提供的文档和/或其他材料
    //分布。
    //
    //德州仪器公司的名称和的名称都不是
    //其贡献者可用于认可或推广衍生产品
    //未经特定的事先书面许可,从该软件下载。
    //
    //本软件由版权所有者和作者提供
    //“原样”以及任何明示或暗示的保证,包括但不包括
    //限于对适销性和适用性的暗示保证
    //一个特定的目的是免责的。 在任何情况下、版权均不得
    //所有者或贡献者应对任何直接、间接、偶然、
    //特殊、典型或必然的损害(包括但不包括)
    //仅限于采购替代货物或服务;
    //数据或利润;或业务中断)
    //责任理论,无论是合同责任、严格责任还是侵权行为
    //(包括疏忽或其他)以任何方式因使用而产生
    //此软件,即使已被告知可能会发生此类损坏。
    //$
    //########################################################################################################################

    //
    //包含的文件
    //
    #include "device.h"
    #include "driverlib.h"
    #ifdef __cplusplus
    使用 std::memcpy;
    #endif

    define PASS 0
    #define 失败1.

    uint32_t example_PassCount = 0;
    uint32_t example_fail=0;

    //
    //
    //函数来初始化器件。 主要将系统控制初始化为
    //通过禁用看门狗、设置 SYSCLKOUT 频率、
    和启用外设的时钟。
    //
    //
    void Device_init (void)

    //
    //禁用看门狗
    //
    sysctl_disableWatchdog();

    #ifdef _flash
    //
    //将时间关键代码和闪存设置代码复制到 RAM。 这包括
    //以下函数:InitFlash();
    //
    // RamfuncsLoadStart、RamfuncsLoadSize 和 RamfuncsRunStart 符号
    //由链接器创建。 请参阅器件.cmd 文件。
    //
    memcpy (&RamfuncsRunStart、&RamfuncsLoadStart、(size_t)&RamfuncsLoadSize);
    #endif

    //
    //设置 PLL 控制和时钟分频器
    //
    SYSCTL_setclock (device_setClock_CFG);

    //
    //确保将 LSPCLK 分频器设置为默认值(4分频)
    //
    SYSCTL_setLowSpeedClock (SYSCTL_LSPCLK_PRESALE_4);

    //
    //这些断言将检查中针对时钟速率的#defines
    // device.h 与已配置的实际速率匹配。 如果有的话
    //不匹配,请检查 DEVICE_SYSCLK_FREQ 和的计算结果
    // DEVICE_LSPCLK_FREQ 是精确的。 一些示例不会执行为
    //如果这些不正确则为预期值。
    //
    assert (SYSCTL_getClock (DEVICE_OSCSRC_FREQ)== DEVICE_SYSCLK_FREQ);
    assert (SYSCTL_getLowSpeedClock (DEVICE_OSCSRC_FREQ)== DEVICE_LSPCLK_FREQ);

    //
    //调用闪存初始化以设置闪存等待状态。 此函数必须执行的操作
    //驻留在 RAM 中。
    //
    Flash_initModule (FLASH0CTRL_base、FLASH0ECC_BASE、DEVICE_FLASH_WAITSTATES);

    //
    //打开所有外设
    //
    device_enableAllPeripheral();

    //
    //
    //函数打开所有外设、支持对进行读取和写入
    //外设的寄存器。
    //
    //请注意,要降低功耗,应禁用未使用的外设。
    //
    //
    void Device_enableAllPeripherals (空)

    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_CLA1);
    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_DMA);
    SYSCTL_enablePeripheral (SYSCTL_PERIPH_CLK_TIMER0);
    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_Timer1);
    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_TIMER2);
    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_HRPWM);
    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_TBCLKSYNC);

    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_EPWM1);
    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_EPWM2);
    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_EPWM3);
    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_EPWM4);
    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_EPWM5);
    SYSCTL_enablePeripheral (SYSCTL_PERIPH_CLK_EPWM6);
    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_EPWM7);
    SYSCTL_enablePeripheral (SYSCTL_PERIPH_CLK_EPWM8);

    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_ECAP1);
    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_ECAP2);
    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_ECAP3);
    SYSCTL_enablePeripheral (SYSCTL_PERIPH_CLK_ECAP4);
    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_ECAP5);
    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_ECAP6);
    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_ECAP7);

    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_EQEP1);
    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_EQEP2);

    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_SD1);

    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_SCIA);
    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_SCIB);

    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_SPIA);
    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_SPIB);

    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_I2CA);

    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_CANA);
    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_CANB);

    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_ADCA);
    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_ADCB);
    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_ADCC);

    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_CMPSS1);
    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_CMPSS2);
    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_CMPSS3);
    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_CMPSS4);
    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_CMPSS5);
    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_CMPSS6);
    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_CMPSS7);

    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_PGA1);
    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_PGA2);
    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_PGA3);
    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_PGA4);
    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_PGA5);
    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_PGA6);
    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_PGA7);

    SYSCTL_enablePeripheral (SYSCTL_PERIPH_CLK_DACA);
    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_DACB);

    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_Lina);

    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_PMBUSA);
    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_FSITXA);
    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_FSIRXA);

    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_CLB1);
    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_CLB2);
    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_CLB3);
    SYSCTL_enablePeripheral (SYSCTL_Periph_CLK_CLB4);

    //
    //
    //功能可禁用 GPIO 上的引脚锁定和启用上拉。
    //
    //
    void Device_initGPIO (void)

    //
    //禁用引脚锁定。
    //
    GPIO_unlockPortConfig (GPIO_PORT_A、0xFFFFFFFF);
    GPIO_unlockPortConfig (GPIO_PORT_B、0xFFFFFFFF);
    GPIO_unlockPortConfig (GPIO_PORT_H、0xFFFFFFFF);

    //
    //
    //违反断言时要调用的错误处理函数
    //
    //
    void __error__(字符*filename,uint32_t 行)

    //
    //断言条件被计算为 false。 您可以使用文件名和
    //行参数来确定出现了什么问题。
    //
    ESTOP0;

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

    我使用280049c

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

    而 device.c 也存在错误:

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

    我无法重现错误。 这可能是因为一个头文件已被修改。 如果可能、是否可以重新运行 C2000ware 安装程序?

    我建议改用最新的 C2000ware。

    此致、

    Veena

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

    我安装最新的 C2000ware,但错误仍然存在; 这是否是配置问题? 为什么设备支持示例工作正常

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

    您使用的是哪个 CCS 版本? 您能否安装最新的 CCS 版本?

    此致、

    Veena

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

    这与 CCS 版本没有关系;由于我使用 CCSV9和 CCSV10.1.1、问题仍然存在;

    可能必须设置一些配置

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

    这很奇怪。 它会感觉什么类型的错误

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

    您好、Veena、我已经找到了解决方案、请查看下面的内容、但我不知道您的 TI 设置的示例设计输出为什么是"ELF"而不是"COFF"

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

    f28004x 中的示例可以 EABI 和 COFF 格式编译。 COFF 是 较旧的格式。 对于较新的器件、我们仅支持 EABI 格式。 从编译器的角度来看、新功能在 EABI 中实现、该 EABI 可能不存在 COFF 格式。

    因此、建议使用 EABI。 不确定为什么这解决了您的问题

    在使用 UTF-8编码时报告了类似的问题。

    此致、

    Veena

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

    但为什么我选择 ELF、并且存在错误;  您选择了什么?  您是否重复了使用“UTF-8”的问题?

    为什么会出现我的问题? 是否为单个案例?

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

    我使用了这两种格式、并且编译很好。 我会将此问题通知编译器专家。

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

    好的,期待专家的答复

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

    我不明白为什么从 EABI 更改为 COFF 可以解决该问题。   

    请将项目恢复到发生意外错误诊断的状态。  然后添加编译器选项 --verbose_diagnostics。  这会使编译器用标记回显问题源代码行、以确定问题的开始位置。  这将显示在“控制台”视图中,而不是“问题”视图中。  请告诉我们您的发现。

    谢谢、此致、

    乔治

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

    根据您的说明、错误显示如下:现在我怀疑这是由我们公司的加密系统引起的、可能不是您的 TI 错误;  

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

    是的,我们的 IT 工程师已经解决了这个问题,非常感谢你们的帮助!!