个人头像

helloyizhou

论坛等级:    E币:120  (E币换礼)   访问E空间

#1 楼主:KEIL调试程序的问题(困扰我,请教) 精华帖

贴子发表于:2008-8-8 12:09:03

为了方便,我在KEIL C 项目中分了好几个.C文件。我的项目中有两个点C文件,一个是:19264set.c还有一个是screendisplay.c。main()函数放在19264.C中,screendisplay.c是一些相关的子函数。在接了仿真器调试的时候,
1.发现只有存在main()函数的那个.C文件19264set.c中可以设置断点,其他.c文件就是一些子函数,screendisplay里面都不能设置断点。有什么办法在其他.c文件中也设置断点吗?这是不是KEIL的缺点?
2.运行main()函数,到某个子函数,但这个子函数在别的.c文件中screendisplay.c,单步运行时,不能跳进那个子函数中,当断点设到main()函数中的子函数名中,再点单步,操作界面里的那个指针就跑飞了。
3.用KEIL时,有时候发现程序运行一半,又从头开始了,是复位了吗?我接了仿真器调试的。看门狗我已经关了,程序的那个箭头一直反复跑到初始化语句中。请教,在哪些情况下,KEIL软件运行程序的时候程序会自动复位呢?
以上三个问题,请大家帮我解答一下,不胜感激!

个人头像

wangxing

论坛等级:   E币:31426  (E币换礼)     访问E空间

#2 我都没有用过这种调试,都是直接编译!!

贴子回复于:2008-8-8 15:52:14

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

☆☆  雪融无声 ☆☆

☆我们都是风雨中的孩子,手牵着手才不会跌倒!☆

我的博客:http://blog.ednchina.com/wangxing/

可编程器件论坛:http://bbs.ednchina.com/ShowForum.aspx?id=22

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

个人头像

peter_zhang

论坛等级:   E币:119  (E币换礼)     访问E空间

#3 建议可以先软件仿真

贴子回复于:2008-8-9 23:25:06

不知道老兄用的是哪家公司的仿真器,现在市面的仿真器出的问题也不少,其实我觉得8051开发用不着仿真器,软件仿真一下就好。你说的问题:


1.你说的KEILC中断点设置的问题,要是你用软件仿真的时候,在任何地方都是可以设置的,这个KEILC是不会有这么严重的bug的。你可以通过看汇编模式下的代码,然后在那里面可以设置断点的。


2.和问题基本一样,还是到汇编模式下面看看程序执行,应该可以debug的


3.这个问题可能是你的程序哪个地方有问题。你看看程序每次发生复位是否在同一个地方,然后观察一下SP指针是否被程序修改。另外硬件IO有没有冲突。多调试终会找到问题,呵呵,办法总比问题多,引用我一个朋友的话,加油!


 

个人头像

likee

论坛等级:   E币:1838  (E币换礼)     访问E空间

#4 你把所有的C文件加进去编译了没有?

贴子回复于:2008-8-13 15:54:03

其它的都能设置断点的啊!


1 所有的C文件加进去编译了没有?


2 有时候寄存器配置不正确会自动复位。

总共 , 当前 /

快速回复主题--如果想加入编辑器功能,建议使用[高级回复]

设计资源与分销

  • 跳转到:   
  • search
Label
;