主题中讨论的其他器件:C2000WARE
当我调试28388时、我发现我无法从[表达式监视窗口]读取任何寄存器的值。 下面显示了一个示例

在[Register Watch Window]中、可以正确读取所有寄存器值。

CCS 版本为10.2.0.00009
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.
当我调试28388时、我发现我无法从[表达式监视窗口]读取任何寄存器的值。 下面显示了一个示例

在[Register Watch Window]中、可以正确读取所有寄存器值。

CCS 版本为10.2.0.00009
下面是我在 CCSv10.3.0中看到的内容。 我看到的一个不同之处是、在我的案例中、表达式视图中为我显示的"类型"是"注册组"。 它是 一个结构 I2CREGS。 因此、我认为在我的案例中、它使用 CCS 中的寄存器定义信息、在您的案例中、它使用 C2000Ware 中的头文件。

我将尝试一些其他 C2000Ware 示例、看看我是否可以重现您看到的内容。 我还将尝试 CCSv10.2.0以查看这是否会产生影响。
此致、
John
不幸运地使用其他 C2000Ware 示例或 CCSv10.2进行复制
我可以看到您和我的另一个区别是您的访问地址@程序、我的访问地址@数据。
是否可以获取工程或.out 文件?
CCS 将使程序中的符号优先于寄存器定义。 因此、由于您的程序在 C 语言中具有定义、这正是它尝试显示的内容。 您还可以发送链接器命令文件吗?
作为一种权变措施、您可以将其添加到 Expressions 视图中、以强制 CCS 使用寄存器定义。
"REG":I2caRegs

此致、
John
我将示例 C2000Ware (3.04.00.00)/英语/器件/ F2838XD/F28388D/示例/位字段/ CPU1/SPI_ex1_loopback 导入到 CCS 10.3中
我没有尝试运行示例的硬件、但构建示例并查看映射文件会显示 用于将 C200Ware 位字段分配到 PAGE 0 (程序存储器)的 RegsFiles 结构。
添加到示例项目的 C2000Ware_3_04_00_Software/device_support/f2838x/headers/cmd/f2838x_headers_nonBIOS_CPU1.cmd 文件不会定义将外设寄存器分配到哪个页面、因此默认情况下猜测链接器会放置在第0页中。
而如果查看其他器 件的链接器命令文件、例如 C2000Ware_3_04_00_00_Software/device_support/f28004x/headers/cmd/f28004x_headers_nonbios.cmd、则外设寄存器会显式分配到第1页(数据存储器)。
我认为编辑 f2838x_headers_nonBIOS_cpu1.cmd 文件会在外设寄存器的内存区域之前添加以下页行来解决这个问题:
MEMORY
{
PAGE 0: /* Program Memory */
PAGE 1: /* Data Memory */
ACCESSPROTECTION : origin = 0x0005F500, length = 0x00000040
我尚未在 C2000Ware 中检查任何其他链接器命令文件、这些文件未将位域代码的外设寄存器显式分配到第1页(数据存储器)。