有没有谁遇到过进入某个函数后,连函数代码都改变了的

2019-03-24 14:22发布

有没有谁遇到过进入某个函数后,连函数代码都改变了的 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
16条回答
liangchaoxi
1楼-- · 2019-03-26 05:59
 精彩回答 2  元偷偷看……
Li_Lei
2楼-- · 2019-03-26 09:22
这个一般都是程序的问题,把代码贴上来看看
liangchaoxi
3楼-- · 2019-03-26 15:08

原帖由 huo_hu 于 2012-5-16 01:33 发表 这个一般都是程序的问题,把代码贴上来看看

 

代码有60KB ……全贴上来不现实。另外会不会是仿真器的bug引起的,看看我发现一个帖子是有仿真器的bug引起的:http://hi.baidu.com/fpga_cpld/blog/item/17519c317a32e5ae5edf0ea9.html

 

“……

里面网友tsb0574 阿波给出了解释 “出现这个问题一般有两种情况!!
1、确实是你的堆栈溢出了,在project->option->c/c++ Complier->system里面改大!!

2、为假相,是你的仿真器或者目标板出问题。仿真器在读取寄存器的值的时候出现问题。读过来的数据错误!! 一般来说是第2种情况,第一种情况的话很少出现,除非传递结构体之类的大参数。”

回头仔细再看我的状态栏提示:

“Tue Oct 07 14:26:39 2008: The stack 'CSTACK' is filled to 100% (1024 bytes used out of 1024). The warning threshold is set to 90.% ”

    想想我的程序很小就那么几行,1024 byte怎么会不够用呢,况且我改成了2048byte仍然提示不够用!难道是真的如阿波所言这是一个假象?目标板有问题?不太可能吧?仿真器问题?我的仿真器可是最新d版 v6 jlink啊,不管怎么样试试看吧,首先怀疑st的芯片swd模式有问题和jlink有冲突,于是改为jtag模式…嗯,很好,问题消失了。换用st linkII,依然没有问题,不过,st的芯片不至于这么烂吧? 难道是jlink的swd模式有问题?更新jlink驱动为3.92a,再试,果然…嗯,只能说问题消失。似乎可以下结论了:jlink之前的驱动3.90d在swd模式下确实存在bug…

……

l0700830216
4楼-- · 2019-03-26 19:24
 精彩回答 2  元偷偷看……

一周热门 更多>

相关问题

    相关文章