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.

[参考译文] TMS320F280049:C2000Ware 3.03及更高版本中的 Cla1SoftIntRegs 定义发生了什么情况

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/986883/tms320f280049-what-happened-to-cla1softintregs-definition-in-c2000ware-3-03-onwards

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

你(们)好

在介绍最新的 C2000Ware 时、我们发现在 C2000Ware 3.03及以后的版本中、仅 CLA 软件中断触发器的寄存器定义已消失。 这是否有原因;它们是否有问题?

在 f28004x_globalvariabledefs.c 中、Cla1SoftIntRegs 已消失。

在 f28004x_headers_nonbios.cmd 中       、"Cla1SoftIntRegsFile:> PIE_CTRL、page = 1、type=DSECT"也缺失。

有什么想法吗?

斯图尔特

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

    您好、Stewart、

    现在使用脚本生成头文件。 这可能导致此问题。 已将您的查询转发给专家。 您很快就会收到回复。

    此致

    Siddharth

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

    您好、Stewart、

    Cla1SoftIntRegs 实际上是  Cla1OnlyRegs 的子集。  Cla1OnlyRegs 包含 CLA 上所有可用寄存器的列表、从0x0C00开始、 Cla1SoftIntRegs 被设置为偏移量0xE0的寄存器。

    地址0x0C00和0x0CE0位于 CLA 地址空间中、我们无法在 包含 C28x 存储器空间地址的 f28004x_headers_nonbios.cmd 文件中映射它们。

    在 f28004x_headers_nonbios.cmd  中、"Cla1SoftIntRegsFile  :>PIE_CTRL、   page = 1、type=DSECT"在  地址0x0CE0分配 Cla1SoftIntRegs、因为 PIE_CTRL 寄存器也从地址0xCE0 (C28x 存储器空间上)开始。 这在技术上 是正确的、但可能会产生误导。 此外、我们无法映射整个 Cla1OnlyRegs 结构。

    此致、

    Veena

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

    管家、

    若要从.CLA 文件仅访问 CLA 寄存器、您可以使用指向该地址的指针。

    例如:

    #define Cla1OnlyRegs ((volatile struct cla_only_regs *)(uintptr_t) 0x0C00U)

    Cla1OnlyRegs->SOFTINTEN.bit.task1=1;

    此致、

    Veena

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

    感谢您提供 Veena 的详细信息。 我将使用您的指针方法。