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/TMS320F2.8379万D:CCS/TMS320F2.8379万D

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/633292/ccs-tms320f28379d-ccs-tms320f28379d

部件号:TMS320F2.8379万D

工具/软件:Code Composer Studio

大家好,

我目前正在处理电机控制应用程序,包括CAN通信。 我使用的是TMS320F2.8379万D和CCS v 7.2。 当我运行该代码时,一切正常,但过了一段时间后,我收到以下错误:  

"内存映射阻止读取0x0004A000@数据(十六进制)"

内存浏览器如下所示。  

我怀疑Gel文件(见下文),但我相信没有 任何含糊之处。 我还尝试增加堆和堆栈大小,但很遗憾它不起作用。 如果您能提出解决方案,我将不胜感激。

谢谢

/*外设内存映射*/
GEL_MapAddStr (0x0.00480003亿,0x800,"R|W|AS4",0);/* Cana寄存器*/
GEL_MapAddStr (0x0004A0003,0003,0x800,"R|W|AS4",0);/* CANB寄存器*/

GEL_TextOut("\n内存映射初始化完成\n");

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

    您好,Eray,

    您是否可以在代码中设置断点以隔离发生这种情况的位置?您是否在应用程序中同时使用两个CPU?  我假设您在加载代码后再运行任何操作,您就可以在内存浏览器中查看CAN地址内存空间。

    此致,

    约瑟夫

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

    您好,Joseph:

    首先感谢您的回复。 实际上,直到您提到我在运行任何内容之前无法查看CAN地址内存,我才意识到这一点。 但在开始时,我能够从CAN地址读取数据,一切都正常。 我只使用CPU1,但如果我同时使用两者,是否会有所不同?

    我已经向main.c (函数,变量等)添加了更多代码,但我没有收到 “Memory map prevented reading 0x0004A000@Data (Hex)”(内存映射阻止读取0x0004A000数据(十六进制))错误,但现在代码 以“F2837xD_DefaultISR.c”中的用户定义陷阱子例程结束。   

    我之所以阅读勘误表,是因为这种行为是不可预测的。  我将与您分享这一消息。

    此致,

    Eray