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:带有 SysConfig 的 CLA

Guru**** 2478765 points
Other Parts Discussed in Thread: SYSCONFIG, C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1445750/launchxl-f28379d-cla-with-sysconfig

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

工具与软件:

您好!

我想在我的2内核项目中添加一个 CLA 函数。

我看到在 TI 示例中完成了什么、但我不能在我的项目中执行相同的操作。 所以今天我问几个问题(黄色)、这样也许有助于我更好地理解这个外设。

首先、我在 SysConfig 中使用 MEMCFG 生成将为 CLA 初始化 RAM 的函数:

- LS5用于程序

- LS4为其他人

然后、我在 SysConfig 中使用 CMD 生成一个符合 CLA 的链接器命令 fil

我的第一个问题出现在 SysConfig 界面中:出现警告、我不知道如何管理它:

我想执行什么操作来"启用 Memcfg 模块"?

然后、我在我的项目中添加了一个*。cla 文件。

对于 CLA、int 变量与 CPU 的长度不同。 我希望 声明__TMS320C28XX_CLA__宏以便在声明 uint16_t 变量时使_types.h 在存储器中保留正确的空间:

但这样做时、会出现一个错误:

如何确定*。cla 文件中的"uint16_t"声明将创建一个"short"变量(而不是一个长变量)?

最后一点

-我在 SysConfig 中添加了 CLA 外设、仅限任务1、由 EPWM12触发

-我在 CLA 源文件中添加了相应的 ISR

-我在 CPU 源文件中添加了 CPU1 ISR

CLA 不会出现在调试(Debug)窗口中:

虽然我输入了 PWM12 ISR (INT_CmdCLA_ISR)、但我永远不会输入 CLA ISR (cla1Isr1)

有人知道我的错误在哪里?

感谢所有能帮我的人。

文森特

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

    您好、Vincent:

    很抱歉耽误你的时间。 下面是我对您的问题的回答:

    Unknown 说:
    我该怎么做才能"启用 Memcfg 模块"?

    我将循环向 SysConfig 专家提出对此的评论、我认为可以忽略此警告。

    如何确定*.cla 文件中的"uint16_t"声明将创建一个"short"变量(而不是一个长变量)?

    您不应从编译器源更改_types.h 文件。  如果您使用的是 uint16_t 类型、它明确定义了存储器中存储的位数(16)、则无需担心 CPU 和 CLA 编译器之间的类型差异。 您只需使用 uint16_t 类型定义变量、两个内核就可以正确访问这些变量。 例如、如果您使用了常规的 int 类型、则会出现问题;在 CLA 上、该类型存储为32位值、而在 CPU 上、该类型存储为16位值(如您发送的_types.h 文件屏幕截图中的 typedef 所示)。

    Unknown 说:
    有人知道我的错在哪里?

    能否验证您是否为 F2837xD 器件使用了正确的目标配置(CCXML)文件?  您应该使用 C2000ware 中以下路径中的一个文件:[C2000ware install]/device_support/f2837xd/common/targetConfigs/。  

    您使用哪一个都无关紧要。

    此致、

    Delaney

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

    您好!

    谢谢您的回答。

    关于目标文件、每个工程(CPU1和 CPU2)似乎都可以:

    但问题可能来自多项目:

    我在窗口"Device Cores"中看不到 CLA 内核。 这是正常的吗?

    关于 CLA 文件中的变量类型、我仍然不明白:

    如果我想在不使用 define uint16_t 类型的情况下声明一个16位整数、我就可以声明一个 short int。

    让我们定义一个  uint16_t:

    并通过单击 Ctrl+左键(两次)来查看声明的内容:

    如您所见、已声明 int、而不是 short。

    只有在 定义了__TMS320C28XX_CLA_时才会声明短路。

    但这不能在 CLA 文件中完成。

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

    您好、Vincent:

    为 CLA 编译工程时、编译器会自动"定义"__TMS320C28XX_CLA__、为 CPU 编译工程时自动删除定义。 因此、屏幕截图中的灰色部分用于 CLA 类型、而屏幕截图中的#else 用于 CPU 类型。 CCS 亮点在此处并不重要、因为会为两个内核编译同一个工程以生成一个.out、而当针对每个内核编译时、定义不同。 请参阅下图了解该过程:

    [报价 userid="573787" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1445750/launchxl-f28379d-cla-with-sysconfig/5571236 #5571236"]

    我在窗口"Device Cores"中看不到 CLA 内核。 这是正常的吗?

    [报价]

    它应该会在目标配置启动时显示所有四个内核(如下所示)。 您使用的是哪个版本的 CCS?

    此致、

    Delaney

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

    您好、Delaney、

    I m、使用5.2版本的 CCS。

    我加入了一个示例项目的存档。 你可以看看它吗?  

    我将离开办公室到1月2日。 我祝您圣诞快乐、祝您在 year.e2e.ti.com/.../2024_5F00_12_5F00_19_5F00_SuppotTI.zip 上度过愉快的时光

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

    您好、Vincent:

    我也会在12月30日前离开办公室、但之后会查看一下。 祝您的假期愉快

    此致、

    Delaney

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

    您好、Vincent:

    很遗憾、我现在意识到自己没有 F2837xD 器件来进行测试、但我在查看了目标配置文件后发现多核项目中没有发现问题。 您正在使用哪个 CCS 版本? 这些资源可能是12.5/12.6/12.7等、5.2似乎是您的 C2000ware 版本。 我之所以提出这个问题、是因为您的 CCS 源文件可能存在问题、这是 CCS 将 CCS 与目标配置文件一同用来连接到器件、并在调试视图中显示不同内核。 当我回到办公室并能够接触到正确的设备时、我可以在下周对此进行测试。

    此致、

    Delaney

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

    您好、Delaney。 首先,我祝你新年快乐。

    我的故障、我实际上是在谈论驱动程序库。 我的 CCS 版本是 12.4.0.00007  

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

    您好!

    Delaney 在下周不在办公室、请期待延迟回复。

    此致、

    Ben Collier

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

    您好、Vincent:

    很抱歉这方面出现延误。  我 没有意识到您的 led_ex2_sysconfig_multi 工程是一个系统工程。 我假设您曾尝试遵循 此处链接的指南。 是否可以改为尝试从目标配置(ccxml)文件而不是从 system.xml 启动? 您可以执行以下操作:

    1. View >> Target Configurations
    2. 右键点击"User Defined"、然后点击"Import Target Configuration"
    3. 导航至[C2000ware install]/device_support/f2837xd/common/targetConfigs/TMS320F8379D.ccxml 并进行导入
    4. 右键单击 CCXML 文件并选择"Launch Selected Configuration"
    5. 现在、您应该会看到 C28x CPU1、CLA1、C28x CPU2和 CLA2
    6. 然后、您可以按照 此处链接的线程中的步骤 连接到每个内核并 加载.out 文件

    请告诉我、这是否可以解决该问题。 如果您真的想改用系统项目方法、请告诉我、我可以邀请 CCS 专家进行评论。

    此致、

    Delaney

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

    您好、Delauney、

    感谢您发送编修。

    您现在应该看到 C28x CPU1、CLA1、C28x CPU2和 CLA2

    实际上、在步骤5结束时、我可以看到:

    但是:

    1 -我无法连接这些内核

    2-我想有一些简单的管理:只需单击"错误"图标

    这第二点对于项目的维护非常重要。

    难道不是有什么办法做到这一点吗?

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

    您好、Vincent:

    [报价 userid="573787" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1445750/launchxl-f28379d-cla-with-sysconfig/5601917 #5601917"]

    1 -我无法连接这些内核

    [报价]

    您应该能够首先右键点击 C28xx_CPU1内核并点击"Connect Target"。 如果您尝试这样做、该表达什么?

    [报价 userid="573787" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1445750/launchxl-f28379d-cla-with-sysconfig/5601917 #5601917"]

    2-我想有一些简单的管理:只需单击"错误"图标

    [报价]

    好的、我看到了、让我咨询一些其他专家、然后向您提供解决方案。

    此致、

    Delaney

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

    您好、Vincent:

    只是为了更新一下、我仍在研究项目2的解决方案、应该在第二天或第二天有回复。 很抱歉耽误你的时间。

    此致、

    Delaney

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

    您好、Vincent:

    很抱歉这方面出现延误。 我咨询了一位 CCS 专家、他们建议您使用初始化脚本来自动执行两个内核的连接/加载过程。 这在最新版本的 CCS (CCS 20)中提供、安装链接如下:

    CCStudio IDE、配置、编译器或调试器|德州仪器 TI.com

    有关如何创建初始化脚本的文档:  7.1.调试概述—Code Composer Studio 20.0.0文档

    请告诉我这种方法是否可行。

    此致、

    Delaney