不知道什么原因,nboot的用C语言写的代码一直不能运行完整。汇编全部执行完毕了,但是一跳到C函数main,问题就来了,不能运行函数,根据我点的灯的情况来看,似乎是卡在函数里面了,就是说跳到函数里面就出不来了,如果将那些初始化代码全部拷贝出来执行(不进行函数调用),那...
全文
回复(6) 2008-03-01 23:01 来自版块 - Wince 程序开发
表情
fishly_0多谢版主,我去研究研究。(2008-03-11 10:36)
microsun应该是SDRAM(如果堆栈是放在SDRAM中)没有正确初始化所致.或者是sp指向的SDRAM根本就不存在. 因为SDRAM没有正常工作,堆栈中不能保存住函数调用时所需要的地址,隔不久可以检查一下sp指向的SDRAM的内容,看是不是能正确保存数据. 在func1,func2不再调...(2008-03-10 20:56)
fishly_0多谢版主的解答。我再描述一下现象吧,前面讲的不是很清楚。 nboot的statrup.s可以执行完毕,也可以正常跳到main.c ,但是在main.c中,不能进行函数调用(宏可以),只要一调用,就会卡住。比如 main() { fun1(); fun2(); } 在调用fun1...(2008-03-10 15:49)
microsun你的意思没有完全明白,不知道我的猜测对不对: 你的现象是:进main函数有问题,不能执行到main函数中的内容? 而从汇编直接跳到其它函数时是正常的? 如果是这样,大致的原因是:sp与RAM分配的有问题,可能有重合现象,或者你用了SDRAM,但SDRAM没有初始化正确.(2008-03-08 20:39)
fishly_0 up(2008-03-08 14:27)
fishly_0自己顶一个(2008-03-02 19:32)

返回顶部