版块
论坛
喜欢
话题
应用
搜索
登录
注册
fishly_0的个人空间
访问量
0
新鲜事
帖子
资料
http://bbs3.driverdevelop.com/index.php?m=space&uid=116635
请教:nboot中C代码的执行问题
不知道什么原因,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)
回复
fishly_0
加关注
写私信
0
关注
1
粉丝
149
帖子
返回顶部