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.

[参考译文] TMDSCNCD28388D:在 Code Composer Studio 上调试 CM RAM 和 CM 闪存时出错

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1466577/tmdscncd28388d-problem-debugging-cm-ram-and-cm-flash-blinky-on-code-composer-studio

器件型号:TMDSCNCD28388D
Thread 中讨论的其他器件: C2000WARE

工具与软件:

您好!

我有一个 TMDSCNCD28388D 电路板、当我 在 code composer studio 上调试 CM RAM 和 CM 闪存闪烁时、我收到一个不 接受文件 cm.out 的奇怪错误、我不知道为什么 CM RAM 调试正常工作、但在开始运行时 LED 不闪烁、因为 CM 闪存给出了可以链接 cm.out 的错误、因为我在文件夹中看到不存在链接 cm.out 的原因?

[2]构建目标:"led_ex1_c28x_cm_blinky_cm.out"
[3]正在调用:ARM 链接器
[4]"C:/TIWORK/ti-cgt-arm_20.2.7.LTS/bin/armcl exblinky"-mv7M4 --code_state=16 --float_support=none -me -off --define=debug --define=flash --flash_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on -z -m"led_ex /TIWORK/ti-cgt-arm_20.2.7.LTS/lib /TIWORK/ti-cgt-arm_20.2.7.LTS/include /device/cm.obj /ti/C2000Ware_5_04_00_00/driverlib/f2838x/driverlib_cm/ccs/Debug/driverlib_cm.lib  
[5]<Linking>
 
[6]       首先引用了未定义的
[7]              文件中的符号     
[8]-------        -------
[9] vectorTableFlash ./device/cm.obj
 
[10] Error #10234-D:unresolved symbols remain
[11]错误#10010:链接过程中遇到错误;未构建"led_ex1_c28x_cm_blinky_cm.out"
 
[12]>>编译失败
[13]makefile:139:目标'led_ex1_c28x_cm_blinky_cm.out'的配方失败
[14]gmake[1]:***[led_ex1_c28x_cm_blinky_cm.out]错误1.
[15]makefiles:135:实现目标"全部"失败
[16]gmake:***[All]错误2.

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

    您好!  

    在运行 CM 侧代码之前、您是否在 CPU1 (C28x 内核)上运行代码?  CPU1是此器件上的主内核、它必须初始化外设并引导 CM 内核 POST、CM 可以开始执行代码。

    另外、我无法重现您观察到的编译错误。

    此致

    Siddharth

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

    尊敬的 Siddharth:

    我正在发送关于我的问题和工作的部分的屏幕截图

    谢谢、此致

    Gabriele

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

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

    Gabriele

    很抱歉响应延迟。   

    vectorTableFlash 是在 startup_cm.c 中定义的,在其下方附加 snaphot  

    您能否检查"_FLASH"是否可作为如下所示工程属性中的预定义符号使用?

    此致

    Siddharth

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

    尊敬的 Siddharth:

    我进行了检查、但启动文件存在、但它是 startup.ccs、但在项目中仍找不到该文件、而仅在 我附加的 interrupt.h 文件上找到此信息的任何地方都不可见

    相反、我在预先定义的符号的属性中找到了_FLASH

    谢谢

    Gabriele

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

    Gabriele

    startup_cm.c 包含在 led_ex1_c28x_cm_blinky_cm 项目中、该项目应位于以下文件夹中。

    C:\ti\c2000\C2000Ware_5_04_00_00\device_support\f2838x\common\source

    如果未将该文件添加到工程中、则可以将其添加、然后重新编译该工程。

    此致

    Siddharth

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

    尊敬的 Siddhart:

    昨天我找到了 startup 文件、但代码仍然不起作用、我可能发现了 CM 闪存问题、因为我看到 CM RAM 可以工作、但闪存无法工作、我在未定义的符号中添加了 vectorTableFlash

    但在 startup 文件中有该 vectorTableFlash 的定义

    谢谢、此致

    Gabriele

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

    Gabriele

    如果"_flash"符号是在工程属性中定义的、则不应在"vectorTableFlash"中抛出任何错误  

    是否可以与预定义符号共享项目属性的快照?

    我在 PC 上进行了试用、现在可以编译项目、没有任何错误。

    此致

    Siddharth

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

    尊敬的 Siddharth:

    这是屏幕截图、定义了_flash 符号

    谢谢

    Gabriele

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

    尊敬的 Siddharth:

    您有没有可以尝试使用的示例代码?

    谢谢

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

    Gabriele

    我使用的工程与 C2000Ware v5.04中位于以下文件夹的工程相同

    C:\ti\c2000\C2000Ware_5_04_00_00\driverlib\f2838x\examples\c28x_cm\led

    此致

    Siddharth

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

    尊敬的 Siddharth:

    这和我以前用过的一样、很奇怪、它不起作用

    谢谢

    Gabriele

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

    代码就是这样

    #include "driverlib_cm.h"
    #include "cm.h"


    //
    // Main (主菜单)
    //
    void main (void)
      //
      //初始化器件时钟和外设
      //
      cm_init()

      //
      //初始化 GPIO 并将 GPIO 引脚配置为推挽输出
      //
      //这是通过 CPU1配置的
      
      //
      //永远循环
      //
      for (;;)
      {
        //
        //打开 LED
        //
        GPIO_writePin (DEVICE_GPIO_PIN_LED2、0);

        //
        //延迟500000uS。
        //
        DEVICE_DELAY_US (100000);

        //
        //关闭 LED
        //
        GPIO_writePin (DEVICE_GPIO_PIN_LED2、1);

        //
        //延迟500000uS。
        //
        DEVICE_DELAY_US (100000);
      }
    }

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

    你(们)好

    您是否可以尝试从 CCS 工作区删除工程并尝试再次从 C2000Ware 文件夹导入?

    此致

    Siddharth

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

    尊敬的 Siddharth:

    是的,我做了你所说的一切,但不起作用

    谢谢

    Gabriele

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

    尊敬的 Siddharth:

    有关此项目 C:\ti\c2000\C2000Ware_5_04_00_00\driverlib\f2838x\examples\c28x_cm\led

    我还没有使用它、因为在 Code Composer Studio 的"入门"部分、选择电路板器件 F28388D 除关键字以外的值、以及选择的 led_ex1_c28x_cm_blinky 该项目的 cm 闪存不起作用、原因是什么? 你可以试试吗?

    这将是一个很大的帮助

    谢谢、此致

    Gabriele