求助str711问题!

hanbin   2007-4-7 19:50 楼主
初次学习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的配置也没有问题。折磨了好些天了,不明白怎么回事,请大家帮助一下。谢谢。

回复评论 (13)

up

                                 up!没有人能回复么?求助
点赞  2007-4-9 09:24

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

                                  
点赞  2007-4-9 10:10

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

                                  
点赞  2007-4-9 10:50

huifu

                                 我用的usb下载,通过串口传输数据。IAR的编译器 
点赞  2007-4-11 20:40

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

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)”



根据这些信息,所以我判断是你的堆栈溢出,与如何下载无关,请仔细检查!!
点赞  2007-4-11 21:08

回复

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

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

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

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

huifu

                                 谢谢指教,仿真器调试程序的方法我不怎么会用,谢谢您指导一下。
点赞  2007-4-13 08:54

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

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

在北航出版社网站上有此书的详细介绍
点赞  2007-4-13 09:46

huifu

                                 谢谢浪淘沙 ,这本书我有了,可是感觉内容太琐碎,我这上面找了半天,也没有找到这个问题的解决
点赞  2007-4-13 18:58

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

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

把项目文件传上来,有空找人看看吧,唉。。。
点赞  2007-4-13 20:47

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

                                 的热情和好心,呵呵
点赞  2007-4-13 21:01

回复

                                 程序是给的例子没有问题,应该是开发环境没有设置好吧?可是我按照书上的看了感觉没有哪里设置的有问题,才过来求助的。这点让拌住弄得一点进展都没有。我把项目传上来。比较弱的问题麻烦大家这么多次实在不好意思 ,谢谢
点赞  2007-4-16 14:36
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复