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:更改链接器命令文件后未解析的符号

Guru**** 2609775 points
Other Parts Discussed in Thread: CONTROLSUITE, C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1083103/tms320f28379d-unresolved-symbols-after-change-linker-command-file

部件号:TMS320F28379D
“线程:controlSUITEC2000WARE”中讨论的其它部件

大家好,
我遇到了一个问题,希望将程序从 RAM 中的 debug 更改为闪存中的 debug。 但是,当我更改命令链接器文件时,所有符号(ADC,ePWM 等)都无法解析(错误#10263)。
我用该程序所基于的 controlSUITE (RAM_MANAGEMENT)的示例测试了这种情况。 出现同样的问题。
因为 cmd 文件实际上与符号无关,所以谁能帮助我识别实际问题? 实际上,这些符号应该通过“F28x_Project.h”中的导入标题进行定义,该标题没有改变。

此致
莱昂

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

    莱昂,

    您可以使用最新的 C2000Ware SDK 示例吗? 不再维护 controlSUITE。  

    从 C2000Ware 4.01.00.00导入任何示例,并尝试构建 CPU1_RAM。首先配置。 然后切换到 CPU1_flash 版本配置。  

    如果您仍在 C2000Ware SDK 示例中看到此问题,请告诉我们。

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

    你好 Santosh,

    首先,当我从 C2000Ware 4.00.00.00 (最新版本)构建 CCS11时,示例 ram_ex1_managemant_CPU1会收到15条警告。 如果随后将链接器 cmd 文件更改为2837x_flash_ink_CPU1,则首先会出现错误,说明已定义了两次某些区域。 如果我删除了该项目中存储的 cmd 文件,编译器将不再找到分割 ram 区域,因为这些区域在 cmd 中没有定义。 很遗憾,我找不到闪存的等效共享 RAM cmd。

    此致
    莱昂

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

    你好,莱昂,

    我刚刚导入了该项目,该项目是为 CPU1_RAM_debug 和 CPU1_FLASH 调试构建配置构建的,在这两种配置中,我没有看到任何警告。

    您看到的警告是什么? 您能发布警告吗?

    此外,您应该更改生成配置(右键单击项目, 生成配置->设置活动-> CPU1_flash_debug),然后它将自动包括闪存链接器命令。

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

    哈洛·桑托什,

    模具警告 bei RAM-Debug 命令:



    温尼克维尔苏切达斯 Ändern habe ich keine Auswahlmöglichkeiten:


    此致
    莱昂

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

    你好,莱昂,

    您正在尝试导入哪个项目? 您能将项目的全部路径都放到哪个位置? 此外,是否可以在控制台中发送完整的内部版本日志?

    我在尝试:  

    C:/ti/CC2000 /C2000Ware_4_01_00_00/device_support/f2837xd/examples/dual/RAM_management

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

    好的,该程序只有一条警告,说明该程序是为另一个编译器编写的。 我以前曾测试过联机资源管理器的示例。

    RAM_Managment 程序运行良好。 现在是否有办法将 DMA_TRANSFER_SHARED 外设程序作为独立程序写入闪存中?

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

    莱昂,

    我们没有 DMA_TRANSFER_SHARD_Peripheral_cpu01项目的闪存配置。 您可以 使用 RAM_MANAGEMENT_cpu01项目作为参考,自行添加 Flash 配置。

    否则,会有一个基于 DriverLib 的示例,该示例具有闪存配置。 如果这对您有效,您可以使用它。

    C:/ti/CC2000 /C2000Ware_4_01_00_00/driverlib/f2837xd/examples/dual/DMA

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

    非常感谢。 工作正常。
    重新启动系统后,仅程序不会执行。
    我选择了构建闪存选项,并将引脚72和84都设置为高。
    我是否忘记了其他东西?

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

    您是否也构建并刷新了 CPU2?

    在继续执行程序之前,将发生 IPC 握手。

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

    是的,我也刷过 CPU2。 调试过程中,所有操作都有效。 但是,如果我重新启动系统,而不再次刷新程序,它将无法正常工作。

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

    莱昂,

    是否可以在 CPU1 c 文件中添加以下行并重试? 但我没有尝试过。

        //
        // Initialize device clock and peripherals
        //
        Example_deviceInit();
        
        
    #ifdef _FLASH
        //
        // Send boot command to allow the CPU2 application to begin execution
        //
        Device_bootCPU2(C1C2_BROM_BOOTMODE_BOOT_FROM_FLASH);
    #endif
    
        //
        // Initialize GPIO and configure the GPIOs 0 and 1 as ePWM outputs
        //
        Device_initGPIO();