Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Memory 读存储器故障_Memory_Stack Overflow_Interrupt Handling_Msp430 - Fatal编程技术网

Memory 读存储器故障

Memory 读存储器故障,memory,stack-overflow,interrupt-handling,msp430,Memory,Stack Overflow,Interrupt Handling,Msp430,当我通过调试器运行代码时,经过一系列步骤后,它最终会丢失并无序执行命令。我不确定堆栈是否溢出或是什么 这是我经常遇到的错误: MSP430:读取第0页0xffe2e处长度为0x1d2的内存块时出错:参数无效 有什么建议吗?我简要地阅读了关于不处理某些中断可能出现的问题 另外,我试图用一个特定的值填充我的RAM,这样我就可以判断堆栈是否溢出,关于如何用0x1234值填充整个RAM有什么建议吗 谢谢 您使用的是什么调试器和编译器?我发现msp430 gcc和msp430 gdb/gdbproxy可能

当我通过调试器运行代码时,经过一系列步骤后,它最终会丢失并无序执行命令。我不确定堆栈是否溢出或是什么

这是我经常遇到的错误:

MSP430:读取第0页0xffe2e处长度为0x1d2的内存块时出错:参数无效

有什么建议吗?我简要地阅读了关于不处理某些中断可能出现的问题

另外,我试图用一个特定的值填充我的RAM,这样我就可以判断堆栈是否溢出,关于如何用0x1234值填充整个RAM有什么建议吗


谢谢

您使用的是什么调试器和编译器?我发现msp430 gcc和msp430 gdb/gdbproxy可能会与启用的gcc优化非常混淆。然而,有时在没有打开它们的情况下发出损坏的代码(实际上,这是一个高质量的产品)

填充内存的最简单方法是修改crt0.s启动文件并自己链接它。当内存设置为0时,可以在那里更改模式


你正在使用哪种设备?在16位设备上,0xffe2e在处理器的地址空间之外,可能是一个数组索引或类似的索引变为负数。

在使用code composer studio和TI的USBFET程序员时,我也看到了这个错误,尽管我还没有找到一个明确的原因

假设您正在使用CCS,以下是一些提示:

1) 捕获ACCV(UNMI)和VMA(SYSNMI)中断,并在处理程序中设置断点。如果其中一个跳闸,检查堆栈,寻找触发中断的线索

2) 如果您有任何重新启用中断(GIE位)的中断处理程序,请确保它们不会被重复触发

3) 我在逐步优化代码时看到了这个错误(令人费解);因此,关闭优化可能会有所帮助

如果您使用的是CodeComposer studio,作为初始化RAM的替代方法,您可以在堆栈溢出上设置断点。此外,对于暂停的调试会话,CCS允许您使用通过“内存”子窗口选择的任何值填充部分内存。