初次学习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的配置也没有问题。折磨了好些天了,不明白怎么回事,请大家帮助一下。谢谢。
你的堆栈将要溢出了,请参考你的编译链接软件的手册设置
huifu
我用的usb下载,通过串口传输数据。IAR的编译器
搂主能告诉我你的堆栈是多大?
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)”
根据这些信息,所以我判断是你的堆栈溢出,与如何下载无关,请仔细检查!!
回复
我把debugger里面的plugins选项中的stackgg 给勾掉 然后再编译运行没有出现上述问题,但是在live watch 窗口中出现一个error,不明白怎么回事,通过串口工具也看不到发出的数据。附图一张。请继续指教!谢谢
你的堆栈溢出的问题不解决,程序怎么可能正常地运行呢?
你把报警器关掉了,并不能消除错误的来源。
请用单步执行或断点执行确定执行到哪一句出现错误。既然你是初学者,就更应该从开始就学会程序的调试手段,自己找出错误的所在,这样你才能提高。如果你对使用仿真器调试程序的方法有疑问,我们愿意帮助你解决。
huifu
谢谢指教,仿真器调试程序的方法我不怎么会用,谢谢您指导一下。
使用仿真器调试程序,请参考《IAR EWARM嵌入式系统编程与实
《IAR EWARM嵌入式系统编程与实践》由北航出版社出版,49元/本,里面以实例详细讲解了如何使用仿真器调试ARM程序。
在北航出版社网站上有此书的
详细介绍。
huifu
谢谢浪淘沙 ,这本书我有了,可是感觉内容太琐碎,我这上面找了半天,也没有找到这个问题的解决
我是想教你打渔,可你一直找我要鱼,我现在没有鱼
我在8楼说“请用单步执行或断点执行确定执行到哪一句出现错误”,不知你试了没有?
把项目文件传上来,有空找人看看吧,唉。。。
浪淘沙已经老好人到家了,楼主还是踏实一点吧,不要打击
的热情和好心,呵呵
回复
程序是给的例子没有问题,应该是开发环境没有设置好吧?可是我按照书上的看了感觉没有哪里设置的有问题,才过来求助的。这点让拌住弄得一点进展都没有。我把项目传上来。比较弱的问题麻烦大家这么多次实在不好意思 ,谢谢