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.

[参考译文] CODECOMPOSER:GEL_MemorySave ()的奇怪行为

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1463662/codecomposer-strange-behavior-of-gel_memorysave

器件型号:CODECOMPOSER
主题中讨论的其他器件:MSPM0G3519

工具与软件:

您好!

CCS 20.0.1、MSPM0G3519

将长度设置为128K 以上似乎会导致 GEL_MemorySave()挂起? 它保存了一些内容,但超过128K 它总是相同的文件限制在某些数据位置。

这里是我使用的函数

Dialog DumpMemoryRange (StartAddr "起始地址"、
  长度"长度"、
  乘法器"乘数(存储器单元的大小)"、
  第"页:0 (PM)、1 (DM)或2 (I/O)")
  字符串文件="memory_dump.bin";
  INT TOTAL_LENGTH =长度*乘数;

  如果((0!=页)&&(1!=页)&&(2!=页)
  {
   GEL_TextOut ("Invalid memory page %d. 有效:0 (程序存储器)、1 (数据存储器)或2 (I/O 空间)。 正在中止!\n"、、、、、 页);
   返回;
  }

  如果(TOTAL_LENGTH =0)
  {
   GEL_TextOut ("Length 为%x 没有要转储的东西!\n"、、、、、、 TOTAL_LENGTH);
   返回;
  }

  如果(0 == GEL_isconnected ()))
  {
   GEL_TextOut ("\n 正在连接到目标。\n");
   GEL_Connect ();
  }

  GEL_TextOut ("\nHalting target.\n");
  GEL_Halt();
  GEL_TextOut ("DONE.\n\n");

  GEL_TextOut (
   "正在将数据闪存%x-%x 转储到%s..\n"、、、、、
   StartAddr、
   StartAddr + Total_length - 1、
   文件);
  GEL_MemorySave (
   StartAddr、
   PAGE、 // 0 (程序存储器)、1 (数据存储器)或2 (I/O 空间)
   TOTAL_LENGTH、
   文件、
   8、 //原始二进制
   0、 // Overwite 文件
   8、 //位大小
   0);//无字节交换
  GEL_TextOut ("done.\n");
}
此致、
尤金
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Eugene:

    [报价 userid="636987" url="~/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1463662/codecomposer-strange-behavior-of-gel_memorysave "]如果将长度设置为超过128K 似乎会导致 GEL_MemorySave ()挂起?[/QUOT]

    我似乎无法重现此问题。 我已经能够导出/保存长度大于128K 的存储器。 该功能应模拟"memory"视图中的"将数据导出到文件"功能。 如果您使用内存视图导出文件、您会看到同样的问题吗?

    谢谢

    Ki

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

    尊敬的 Ki:

    我相信我已经明白了。 lenth 以字而不是以字节为单位。 这在函数说明中是绝对没有解释的。  

    "长度:定义要保存的字数"是什么意思? 这是否取决于本机处理器字大小?

    这些存储器类型"page:确定待保存的存储器类型:0 (程序存储器)、1 (数据存储器)或2 (I/O 空间)"由什么组成? 是数据存储器 RAM 还是数据闪存?

    此致、

    尤金

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

    有。

    0 (程序存储器)、1 (数据存储器)或2 (I/O 空间)"? 是数据内存 RAM 还是数据闪存?[/QUOT]

    不可以、这些页面实际上仅适用于存储器拆分为多个页面的旧版 C2000器件。 它实际上并不适用于具有统一单页内存布局的其他器件。