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.

[参考译文] CCS/TMS320F28379D:在 CLA 上切换 GPIO

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

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/735455/ccs-tms320f28379d-toggling-a-gpio-on-cla

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

工具/软件:Code Composer Studio

与上一个主题类似、我在从 CLA 任务访问 GPIO 时遇到了问题、尽管我的特定问题稍有不同(我已经设置 GPIO 以供 CLA 内核访问)。 我已将以下代码行插入到之前工作的 CLA 任务中(在.cla 源文件中):

GpioDataRegs.GPBSET.bit.GPIO_debug2_field=1; 

编译器抱怨"identifier "GpioDataRegs"未定义。" 该代码适用于 CPU (我在项目中包含了来自 C2000器件的 GPIO 支持)、但显然.CLA 源代码无法识别它。 如果我在.cla 文件中手动包含"F2837xD_GPIO.h"、它会返回错误、抱怨未定义的数据类型(uint16等、显然 CLA 编译器不支持这些数据类型)。 其他外设访问寄存器(AdcaRegs、EpwmRegs 等)也是如此。

我在其他地方看到过、CLA 有自己的寄存器用于访问 GPIO、但在 TRM 或 C2000ware 库中找不到任何对此的具体引用。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    请参阅 C:\ti\c2000\C2000Ware_1_00_05_00\driverlib\f28004x\examples\cLA 中的 F28004x 示例

    称为 cla_ex3_background_Nesting_task_cla.cla

    您可以看到 CLA 是如何处理 GPIO 寄存器的。

    CLA 没有自己的 GPIO 寄存器。 但您必须使 CLA 成为您尝试使用的 GPIO 的主器件。

    希望这对您有所帮助、
    SAL
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Sal、您好、感谢您的建议。 我看到该示例项目使用 HWREG 宏来直接访问寄存器。 我正在尝试坚持 c2000ware "device support"文件夹(而不是 driverlib 文件夹)中的示例项目所使用的结构/位字段样式 API。 以这种方式进行管理要容易得多...

    我能够找到至少一个示例项目 sdfm_filter_sync_cla_cpu01、它通过 CLA 任务内的正常 API 访问外设。 它在.CLA 源文件中包含多个额外的头文件(F2837xD_CLA.h、F2837xD_sdfm_drivers.h、F2837xD_struct.h 等)。 不确定它在示例项目中的工作方式,包括我自己的此类文件,只是进一步中断了...
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Mike:

    您可以使用 CLA 上的位字段、如该示例所示。 请尝试解决编译器问题。

    SAL