新闻  |   论坛  |   博客  |   在线研讨会
Keil c51调试总结
xfjane | 2010-04-30 15:55:15    阅读:8752   发布文章

Keil c51调试有关问题总结

1.
出现warning C182 : pointer to different objects.
re:
A pointer was assigned the address of a different type.

2.
出现warning L16 : uncalled segment, ignored for overlay proess segment: .
re:
函数未被其它函数调用 也会占用程序记忆体空间。

3.
出现ERROR : Target DLL has been cancelled Debugger aborted.
re:
这是硬件仿真,如果不带仿真器就会出现这样的问题。

4.
出现warning L15: MULTIPLE CALL TO SEGMENT.
re:
一.用reentrant使函数重入
关于reentrant的说明:
1)重入函数不能传递bit类型的参数和变量;
2)重入函数建立的是模拟堆栈区,所以不使用一般函数位于存储模式默认空间的可覆盖式堆栈,而是在同一空间从顶端另行分配一个非覆盖式的重入堆栈。
     small  默认空间是 data;
     compact  默认空间是 pdata;
     largr  默认空间是 xdata;
3)由于要保存参数和局部变量,所以会消耗很大的栈空间;尽量少用这种模式;
4)在同一程序中可以定义和使用不同存储器模式的重入函数,任意模式的重入函数不能调用不同存储器模式的重入函数,但可以调用普通函数。
5)实际参数可以传递给间接调用的重入函数。无重入属性的间接调用函数不能包含调用参数。
二.如果空间多的话,可以定义两个同功能的函数,分别在中断和中断外调用。

5.
出现warning L1: UNRESOLVED EXTERNAL SYMBOL.
warning L2: REFFERENCE MADE TO UNRESOLVED EXTERNAL.
re:
由于你使用了某个函数但这个函数没有被定义,或代码被define限制没有参与编译。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客