如题,调试ARM926EJ_S内核芯片时出现一个问题,初始化之后进入main()函数
ADS在main代码前增加的* stmfd r13!,{r4-r11,r14}语句引发了DataAbort异常,问题是之前程序没问题,后来增加了些其它代码,程序变大了一百多k,svc堆栈指针在最上面,如何该句代码引发数据中止异常,只能是r13即堆栈指针不能或不正确访问吧,关键是我的代码虽然增加了但是,留给svc模式堆栈空间还有足够空间啊,总RAM512k,原来代码284k,现在代码360k,留给堆栈空间还是足够大啊,咋会出现DataAbort异常呢???
那位高手能帮忙分析下,如何查找原因呢??? |