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.

TMS320F2800137: 使用CCS12.3版本进行仿真调试,监控ECap2Regs寄存器出错

Part Number: TMS320F2800137

一、ECap2Regs寄存器调试监控显示如图Memory map prevented reading现象问题,但是测试实际程序里面是可以进行读写。

1、使用CCS12.3版本进行TMS320F2800137进行仿真调试、ECap2Regs寄存器值无法查看。出现如图所示问题。

2、使用CCS20.2版本则无相关问题出现、可以正常监控ECap2Regs寄存器的值。

二、

因为使用全局变量较多、所以Demo里面Cmd文件只分配使用了RAMLS0的地址、在Cmd文件里修改合并了RAMLS0和RAMLS1地址.如图。就会出现部分全局变量监控显示Memory map prevented reading现象。测试这些变量确实是没办法读写,导致程序跑飞。

  • 您好,

    已经收到了您的案例,调查需要些时间,感谢您的耐心等待。

  • 您好

    这可能是由于 CCS20.2中更新了 device.xml。 如果适用于此版本的 CCS、我建议继续使用最新的 CCS 版本、因为这些版本对正确的存储器映射所需的任何 device.xml 都具有最新的更新。

    对此可能造成的不便深表歉意。

  • 我使用12.8版本CCS进行过调试仿真,同样也是监控不到ECap2Regs寄存器的值,CCS12.8是发布在24年8月,TMS320F2800137是23年的样子,后发布的CCS也不能兼容吗?可以帮忙确认一下这个问题吗,到底是CCS的原因造成的,还是其他原因。另外第二个问题有没有指导建议呢?RAMLS0和RAMLS1是否可以直接像截图所示那样使用呢。

  • 您好

    请参阅此主题: https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1333068/couldn-t-see-the-ecap2-register/5093010#5093010

    这是一个已经存在的错误、已在 CCS12.8.1中修复。

    https://www.ti.com/tool/download/CCSTUDIO/12.8.1#:~:text=12.8.1%20(Sep%2030%2C%202024)

    因为使用全局变量较多、所以Demo里面Cmd文件只分配使用了RAMLS0的地址、在Cmd文件里修改合并了RAMLS0和RAMLS1地址.如图。就会出现部分全局变量监控显示Memory map prevented reading现象。测试这些变量确实是没办法读写,导致程序跑飞。

    内存分配问题:
    当全局变量在监控器中显示"存储器映射阻止读取"时、这通常意味着在链接器命令文件(.cmd)中分配存储器部分的方式存在问题。
    这些变量可能在分配给它们的存储器位置中没有适当的读取/写入权限
    解决方案方法:
    正确的内存段配置(4):

    // In your .cmd file
    MEMORY {
        RAMLS0 : origin = 0x8000, length = 0x800    // Adjust address/length as needed
        RAMLS1 : origin = 0x8800, length = 0x800    // Adjust address/length as needed
    }
    
    SECTIONS {
        .ebss : > RAMLS0 | RAMLS1, PAGE = 1    // For uninitialized global/static variables
        .data : > RAMLS0 | RAMLS1, PAGE = 1    // For initialized global/static variables
    }

    内存访问权限(7): 确保 CPU 对存储器区域具有适当的写入权限

    确保 CPU 对存储器区域具有适当的写入权限 调试提示:

    请检查.map 文件以验证存储器分配 使用 CCS 中的存储器查看器来确认变量放置 验证变量已正确初始化 检查链接器命令文件中的存储器重叠情况

  • 我使用过CCS12.8.1版本,进行仿真调试,监控Ecap2寄存器时现象和CCS12.3版本一致,都是如图所示现象。

  • 您好

    此问题是由于 GEL 文件之间不匹配造成的。

    请将 GEL 文件从新的 CCS 版本复制并粘贴到 CCS12.8.1版本。

    f2800137.gel

    The diff is below.