uclinux下的应用程序错误
使用arm 7 cpu,uclinux 20030522。错误信息如下:
Unhandled fault: external abort on linefetch (F4) at 0x00000001
fault-common.c(97): start_code=0x3ed040, start_stack=0x3f6f2c)
我发现错误是由于在一个函数中定义的结构数组太大引起的。
struct fdb fbs【1024】
其中的fdb结构大小为18。这样整个数组占用的空间为18K。程序执行到这个函数,就报告上面的错误。
奇怪的问题是:如果我增加一个printf函数,又没有问题了。报告的错误类型有时是非法指令。搞得我调试了很久。最后把那个数组使用malloc定义成了一个指针。
我想知道:到底是什么原因引起的这个问题?我感觉好像是stack溢出了。我能不能怎么修改uclinux中的kernel设置来扩大stack。或是使用makefile定义大一些的stack?
请大家帮忙
谢谢!