当前位置: 代码迷 >> 单片机 >> ucos程序中多一行代码,程序就无法启动解决办法
  详细解决方案

ucos程序中多一行代码,程序就无法启动解决办法

热度:49   发布时间:2016-04-28 15:59:59.0
ucos程序中多一行代码,程序就无法启动
请教各位大大,ucos程序中多一行代码,程序就无法启动,听说是跨页的问题,敬请提供解决的思路,谢谢!

------解决方案--------------------
用STM32和MSP430时,从没发现这个问题。。。
------解决方案--------------------
我在arm7上面跑ucos,也没有遇到这种问题啊
------解决方案--------------------
看你具体多一行什么代码
------解决方案--------------------
把函数顺序或文件编译顺序换一下试试,51汇编中有acall和lcall两种函数调用命令,acall好像是有地址跨页的错误,lcall没问题
------解决方案--------------------
你说的这个现象真的不太好说到底是哪儿的问题,如果有仿真器的话建议你调试一下看看,我说的acall和lcall的问题是在写汇编的时候有可能会出错,如果用c写我觉得可能编译器会避免这种问题的吧。
这种异常也有可能是堆栈出错,导致程序无法进行,也就是说你调用的那个函数需要耗费更多的堆栈,单独测可能堆栈还没溢出没问题,跟别的程序一起测的话造成溢出了,这个只是个猜测,你查一下吧,N多年没做51了,很多东西都忘了
  相关解决方案