注册 登录
查看: 470|回复: 28

k60调试问题?????

[复制链接]
发表于 2014-7-25 16:23:55 | 显示全部楼层 |阅读模式
调试时,程序卡在这里了,是什么问题???
回复

使用道具 举报

 楼主| 发表于 2014-7-25 16:24:53 | 显示全部楼层
每次停止调试这个程序,就卡在这里

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2014-7-25 18:06:44 | 显示全部楼层
断言失败!!

出现这问题,可以参考我们的IAR调试视频(K60视频),里面有针对这些内容来进行讲解的。

你在IAR里打开调用栈,然后截图调用栈的信息,上传上来,让我们看看是什么情况。

调用栈在 view —— call stack 里调出
回复 支持 反对

使用道具 举报

发表于 2014-7-25 18:07:25 | 显示全部楼层
不是比赛已经完成了吗?怎么还在调试代码?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-25 18:43:16 | 显示全部楼层
山外メ雲ジ 发表于 2014-7-25 18:06
断言失败!!

出现这问题,可以参考我们的IAR调试视频(K60视频),里面有针对这些内容来进行讲解的。

忘记这是哪个程序了,再遇到这情况再截图吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-25 18:44:14 | 显示全部楼层
山外メ雲ジ 发表于 2014-7-25 18:07
不是比赛已经完成了吗?怎么还在调试代码?

我参加的不是飞思卡尔比赛,而是光电设计大赛,其赛题一也是要做一辆智能车,并进行光电测量
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-25 20:11:37 | 显示全部楼层
山外メ雲ジ 发表于 2014-7-25 18:06
断言失败!!

出现这问题,可以参考我们的IAR调试视频(K60视频),里面有针对这些内容来进行讲解的。

又出现问题了,本来程序运行正常的,加了一句就不行了,下载到k60,上电就死机,我知道是程序出问题了,就是不知道问题在哪儿,在线调试,一步一步地运行,有时卡死,有时又不卡。卡死时如附图所示

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2014-7-25 21:54:56 | 显示全部楼层
wulitm 发表于 2014-7-25 20:11
又出现问题了,本来程序运行正常的,加了一句就不行了,下载到k60,上电就死机,我知道是程序出问题了,就 ...

程序跑飞了,栈都被破坏了,你用到鹰眼或者DMA吗?

试下在默认中断里设断点,全速运行,看看什么时候停在那里
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-25 22:52:07 | 显示全部楼层
山外メ雲ジ 发表于 2014-7-25 21:54
程序跑飞了,栈都被破坏了,你用到鹰眼或者DMA吗?

试下在默认中断里设断点,全速运行,看看什么时候停 ...

什么原因导致跑飞的?

用了两个线性CCD,叫火眼吧。默认中断是哪个中断?

最近几次,有的程序下载到单片机,工作一段时间就卡死,复位不起作用,一定要断电重启才能继续工作
回复 支持 反对

使用道具 举报

发表于 2014-7-25 23:07:23 | 显示全部楼层
wulitm 发表于 2014-7-25 22:52
什么原因导致跑飞的?

用了两个线性CCD,叫火眼吧。默认中断是哪个中断?

前面已经回复你:试下在默认中断里设断点,全速运行,看看什么时候停在那里。

你的栈已经被破坏,看不到有用的信息,所以我回答不了你的问题,必须你按照上述说的去操作,才有可能知道结果。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-25 23:08:34 | 显示全部楼层
山外メ雲ジ 发表于 2014-7-25 23:07
前面已经回复你:试下在默认中断里设断点,全速运行,看看什么时候停在那里。

你的栈已经被破坏,看不 ...

默认中断是哪个中断???????
回复 支持 反对

使用道具 举报

发表于 2014-7-25 23:18:17 | 显示全部楼层
wulitm 发表于 2014-7-25 23:08
默认中断是哪个中断???????

默认中断函数,就是刚才你截图的调用栈的倒数第三个
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-25 23:20:36 | 显示全部楼层
山外メ雲ジ 发表于 2014-7-25 23:18
默认中断函数,就是刚才你截图的调用栈的倒数第三个

default_isr,是吗?直接说就好了嘛
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-25 23:24:29 | 显示全部楼层
山外メ雲ジ 发表于 2014-7-25 23:18
默认中断函数,就是刚才你截图的调用栈的倒数第三个

现在不在实验室,明天才能调试。或说怎么找到默认中断呀?
回复 支持 反对

使用道具 举报

发表于 2014-7-26 00:41:04 | 显示全部楼层
wulitm 发表于 2014-7-25 23:20
default_isr,是吗?直接说就好了嘛

之前试过很多次直接说这个函数的,很多人都不知道放在哪里。而你在调用栈里双击一下就会定位到的,所以直接在图中说明会比较容易理解。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-26 07:58:00 | 显示全部楼层
山外メ雲ジ 发表于 2014-7-26 00:41
之前试过很多次直接说这个函数的,很多人都不知道放在哪里。而你在调用栈里双击一下就会定位到的,所以直 ...

哦,好的,谢谢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-26 08:02:42 | 显示全部楼层
山外メ雲ジ 发表于 2014-7-26 00:41
之前试过很多次直接说这个函数的,很多人都不知道放在哪里。而你在调用栈里双击一下就会定位到的,所以直 ...

再问个问题,有时候(不是经常)在IAR里面修改了main.c,编译时Messages出现Configuration is up—to—date,再下载到K60程序没有变化,而且从APP目录下直接打开main.c的文本文件,里面的元代码也没变,这是什么原因?
回复 支持 反对

使用道具 举报

发表于 2014-7-26 09:40:14 | 显示全部楼层
wulitm 发表于 2014-7-26 08:02
再问个问题,有时候(不是经常)在IAR里面修改了main.c,编译时Messages出现Configuration is up—to—dat ...

你是不是打开了其他工程的main.c ?经常很多人出现这错误的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-26 10:30:41 | 显示全部楼层
山外メ雲ジ 发表于 2014-7-26 09:40
你是不是打开了其他工程的main.c ?经常很多人出现这错误的

不是吧,我只是有时会同时打开两个工程
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-26 10:36:58 | 显示全部楼层
山外メ雲ジ 发表于 2014-7-25 21:54
程序跑飞了,栈都被破坏了,你用到鹰眼或者DMA吗?

试下在默认中断里设断点,全速运行,看看什么时候停 ...

又出现错误了,我只是在原来的程序里加了一个变量作为计数,start_num,程序就卡了。加的是一,二位置的两行。

if(tun_start==0)
  {
   一 if(start_num==2)
      tun_start=1;
   二 start_num++;
    return;
  }

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-26 10:39:55 | 显示全部楼层
山外メ雲ジ 发表于 2014-7-25 23:07
前面已经回复你:试下在默认中断里设断点,全速运行,看看什么时候停在那里。

你的栈已经被破坏,看不 ...

后来调试,又卡在默认中断了,程序还是一样的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2014-7-26 18:58:34 | 显示全部楼层
山外メ雲ジ 发表于 2014-7-26 00:41
之前试过很多次直接说这个函数的,很多人都不知道放在哪里。而你在调用栈里双击一下就会定位到的,所以直 ...

山哥,我用旧版代码和新版代码都无法进入DMA中断,这是为什么,摄像头采集也因为进入不了DMA中断卡住了,一直不知道是什么原因
回复 支持 反对

使用道具 举报

发表于 2014-7-26 19:42:46 | 显示全部楼层
wulitm 发表于 2014-7-26 10:39
后来调试,又卡在默认中断了,程序还是一样的

在获取图像的地方进入默认中断,看看是不是超频过高,或者没配置采集缓冲区。
回复 支持 反对

使用道具 举报

发表于 2014-7-26 19:43:09 | 显示全部楼层
z2373477 发表于 2014-7-26 18:58
山哥,我用旧版代码和新版代码都无法进入DMA中断,这是为什么,摄像头采集也因为进入不了DMA中断卡住了, ...

用我们的例程呢?先不要跑摄像头例程看看
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-26 19:46:39 | 显示全部楼层
山外メ雲ジ 发表于 2014-7-26 19:42
在获取图像的地方进入默认中断,看看是不是超频过高,或者没配置采集缓冲区。

没有超频,采集图片都是用的山外的LCD_线性CCD例程,我所做的是处理CCD数据,加上相应的小车控制

前面的断言失败又是什么原因?就加了一个计数的变量,程序就卡了,没加之前是能正常运行的
回复 支持 反对

使用道具 举报

发表于 2014-7-26 20:46:15 | 显示全部楼层
wulitm 发表于 2014-7-26 19:46
没有超频,采集图片都是用的山外的LCD_线性CCD例程,我所做的是处理CCD数据,加上相应的小车控制

前面 ...

你的程序,调用栈已经被破坏,所以之前的断言失败已经没意义的。
你必须找到跑飞的那段代码。

你双击那个 采集图像的函数,看看是从哪个语句跳到默认函数的,另外,看看默认函数的中断号是多少。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-26 23:05:21 | 显示全部楼层
山外メ雲ジ 发表于 2014-7-26 20:46
你的程序,调用栈已经被破坏,所以之前的断言失败已经没意义的。
你必须找到跑飞的那段代码。

原来的程序工作正常的,就是加了一、二处的语句,就卡住了
if(tun_start==0)
  {
   一 if(start_num==2)
      tun_start=1;
   二 start_num++;
    return;
  }

采集图像的函数就是用的山外的,我也没有改中断号
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-26 23:21:22 | 显示全部楼层
山外メ雲ジ 发表于 2014-7-26 20:46
你的程序,调用栈已经被破坏,所以之前的断言失败已经没意义的。
你必须找到跑飞的那段代码。

不会看默认函数的中断号呀    下面哪个是默认函数?

                             

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2014-7-27 18:40:20 | 显示全部楼层
wulitm 发表于 2014-7-26 23:21
不会看默认函数的中断号呀    下面哪个是默认函数?

你接入串口,进入默认中断的时候会打印信息出来的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回列表 返回顶部