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/TMS320C6415:存储器映射、读取和写入问题。

Guru**** 2587365 points
Other Parts Discussed in Thread: TMS320C6415

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/813103/ccs-tms320c6415-problems-with-memory-mapping-reading-and-writing

器件型号:TMS320C6415

工具/软件:Code Composer Studio

我有4个 TMS320C6415 DSP 连接到 XDS510 PP Plus 仿真器。 我使用的是 Code Composer 3.3。 这些都是要求、我无法更改。 在 Code Composer 中、我使用并行调试管理器。 我可以连接到所有4个 DSP、打开工作区并将程序加载到这些 DSP。 但是、当我加载自定义.gel 文件时、它会尝试写入特定的存储器位置、但无法写入。 为清楚说明、尽管 GEL 未正确加载、但我通常能够读取和写入寄存器。

错误信息为“Memory mapping prevented write to target memory 0x.........(内存映射阻止写入目标内存0x.........)” "。 我有时收到的另一个错误消息是“Memory mapping prevented read at target memory 0x......... "。 是否存在会导致此问题的常见问题? 如何在不出现此错误的情况下写入所需的存储器位置?

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

    你好、Matthew

    [引用用户="Matthew Wong1"]

    。 但是、当我加载自定义.gel 文件时、它会尝试写入特定的存储器位置、但无法写入。 为清楚说明、尽管 GEL 未正确加载、但我通常能够读取和写入寄存器。

    错误信息为“Memory mapping prevented write to target memory 0x.........(内存映射阻止写入目标内存0x.........)” "。 我有时收到的另一个错误消息是“Memory mapping prevented read at target memory 0x......... "。 是否存在会导致此问题的常见问题?

    [/报价]

    调试器内存映射 阻止对自定义 GEL 文件尝试写入的内存区域的访问。  

    [引用用户="Matthew Wong1"]如果不出现此错误,如何向所需的内存位置写入数据?

    您可以调整或关闭调试器存储器映射。 但是、在执行此操作之前、您必须先研究为什么调试器内存映射是这样配置的。 调试器内存映射用于保护以防止无效的内存访问。 因此、请检查此存储器映射布局是否正确。 如果不是、则进行调整(调试器内存映射通常由启动 GEL 文件配置)。 如果布局正确、则需要查看您的自定义 GEL 文件是否尝试访问无效的存储器并进行更正。

    希望这对您有所帮助

    Ki

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

    Ki、

    我收到了我们客户的此 GEL 文件。 它在其系统上工作正常。

    我收到错误"Memory map preventing write to target memory at 0x18000054。

    我还有一个"GEL_MapAdd (0x18000000、0、0x00000054、1、1)"。

    存储器映射是否超出范围? 如果是、什么会使我处于范围内? 参数0x00000054是什么意思?

    Matt

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

    [引用用户="Matthew Wong1"] GEL_MapAdd (0x18000000、0、0x00000054、1、1)[/quot]

    第一个参数是范围的起始地址

    第二个是存储器页面("0"是诸如 C6x 之类的非分页存储器系统的正确值)

    第三个是以字节为单位的范围长度

    第四个指示该范围是否可读(1'= true)

    第五个指示该范围是否可写。

    因此、对于:  

    [引用用户="Matthew Wong1"] GEL_MapAdd (0x18000000、0、0x00000054、1、1)[/quot]

    以上内容将设置一个可读且可写的存储器范围、地址为0x18000000至0x18000053

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

    我将范围更改为0x00000064、错误似乎消失了。 谢谢。