打印

求助str711问题!

[复制链接]
3026|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
clown0802|  楼主 | 2007-4-7 19:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ST, AC, ck, Stack, se
初次学习ARM买的是STR711F,万利的板子。用了万利的例子,想烧到flash里面运行下,编译通过,但是烧入之后,出现如下错误,一直解决不了。
Sat Apr 07 19:59:05 2007: The stack 'SVC_STACK' is filled to 93% (240 bytes used out of 256). The warning threshold is set to 90%.
Sat Apr 07 19:59:05 2007: The stack 'CSTACK' is filled to 100% (4096 bytes used out of 4096). The warning threshold is set to 90%.
Sat Apr 07 19:59:05 2007: The stack pointer for stack 'FIQ_STACK' (currently 0x00000000) is outside the stack range (0x20001300 to 0x20001400)
如果换成simulator则没有问题,但是不管是RAM 还是FLASH里面都出现这种错误,其他的几个例子也是这个问题。这个例子是串口的显示。debugger,linker的配置也没有问题。折磨了好些天了,不明白怎么回事,请大家帮助一下。谢谢。
沙发
clown0802|  楼主 | 2007-4-9 09:24 | 只看该作者

up

up!没有人能回复么?求助

使用特权

评论回复
板凳
ST_ARM| | 2007-4-9 10:10 | 只看该作者

请问你用的何种下载工具?

使用特权

评论回复
地板
浪淘沙| | 2007-4-9 10:50 | 只看该作者

你的堆栈将要溢出了,请参考你的编译链接软件的手册设置

使用特权

评论回复
5
clown0802|  楼主 | 2007-4-11 20:40 | 只看该作者

huifu

我用的usb下载,通过串口传输数据。IAR的编译器 

使用特权

评论回复
6
浪淘沙| | 2007-4-11 21:08 | 只看该作者

搂主能告诉我你的堆栈是多大?

Sat Apr 07 19:59:05 2007: The stack 'SVC_STACK' is filled to 93% (240 bytes used out of 256). The warning threshold is set to 90%.
这句话的意思是:“星期六 四月七日 19时59分05秒 2007年:堆栈'SVC_STACK' 已经93%满(已用256字节中的240字节),警告阀值被设为90%”

Sat Apr 07 19:59:05 2007: The stack 'CSTACK' is filled to 100% (4096 bytes used out of 4096). The warning threshold is set to 90%.
这句话的意思是:“星期六 四月七日 19时59分05秒 2007年:堆栈'CSTACK' 已经100%满(已用4096字节中的4096字节),警告阀值被设为90%”

Sat Apr 07 19:59:05 2007: The stack pointer for stack 'FIQ_STACK' (currently 0x00000000) is outside the stack range (0x20001300 to 0x20001400)
这句话的意思是:“星期六 四月七日 19时59分05秒 2007年:'FIQ_STACK'的堆栈指针(当前为0x00000000)以超出堆栈边界(0x20001300 to 0x20001400)”



根据这些信息,所以我判断是你的堆栈溢出,与如何下载无关,请仔细检查!!

使用特权

评论回复
7
clown0802|  楼主 | 2007-4-12 19:30 | 只看该作者

回复

我把debugger里面的plugins选项中的stackgg 给勾掉 然后再编译运行没有出现上述问题,但是在live watch 窗口中出现一个error,不明白怎么回事,通过串口工具也看不到发出的数据。附图一张。请继续指教!谢谢

使用特权

评论回复
8
浪淘沙| | 2007-4-12 21:43 | 只看该作者

你的堆栈溢出的问题不解决,程序怎么可能正常地运行呢?

你把报警器关掉了,并不能消除错误的来源。

请用单步执行或断点执行确定执行到哪一句出现错误。既然你是初学者,就更应该从开始就学会程序的调试手段,自己找出错误的所在,这样你才能提高。如果你对使用仿真器调试程序的方法有疑问,我们愿意帮助你解决。

使用特权

评论回复
9
clown0802|  楼主 | 2007-4-13 08:54 | 只看该作者

huifu

谢谢指教,仿真器调试程序的方法我不怎么会用,谢谢您指导一下。

使用特权

评论回复
10
浪淘沙| | 2007-4-13 09:46 | 只看该作者

使用仿真器调试程序,请参考《IAR EWARM嵌入式系统编程与实

《IAR EWARM嵌入式系统编程与实践》由北航出版社出版,49元/本,里面以实例详细讲解了如何使用仿真器调试ARM程序。

在北航出版社网站上有此书的详细介绍

使用特权

评论回复
11
clown0802|  楼主 | 2007-4-13 18:58 | 只看该作者

huifu

谢谢浪淘沙 ,这本书我有了,可是感觉内容太琐碎,我这上面找了半天,也没有找到这个问题的解决

使用特权

评论回复
12
浪淘沙| | 2007-4-13 20:47 | 只看该作者

我是想教你打渔,可你一直找我要鱼,我现在没有鱼

我在8楼说“请用单步执行或断点执行确定执行到哪一句出现错误”,不知你试了没有?

把项目文件传上来,有空找人看看吧,唉。。。

使用特权

评论回复
13
mohanwei| | 2007-4-13 21:01 | 只看该作者

浪淘沙已经老好人到家了,楼主还是踏实一点吧,不要打击

的热情和好心,呵呵

使用特权

评论回复
14
clown0802|  楼主 | 2007-4-16 14:36 | 只看该作者

回复

程序是给的例子没有问题,应该是开发环境没有设置好吧?可是我按照书上的看了感觉没有哪里设置的有问题,才过来求助的。这点让拌住弄得一点进展都没有。我把项目传上来。比较弱的问题麻烦大家这么多次实在不好意思 ,谢谢

使用特权

评论回复
15
taitaijing| | 2011-11-25 21:28 | 只看该作者
堆栈溢出,可是不容易解决啊。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

13

帖子

0

粉丝