OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5930|回复: 5

求助,探索者F407运行emWin例程死机

[复制链接]

5

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2016-6-4
在线时间
16 小时
发表于 2016-6-17 15:52:11 | 显示全部楼层 |阅读模式
1金钱
例程用的是这里的:http://www.openedv.com/posts/list/43643.htm

开机运行后显示正常,触摸光标也正常,但是在过一段时间后死机。

每次死机都是跑在demo:GUIDEMO_Speed 这里。

死机时画面是花屏,说明进入了下面for循环里挂掉的。

for (i = 0; i< 8; i++) {
    aColorIndex = GUI_Color2Index(_aColor);
  }  
  TimeStart = GUIDEMO_GetTime();
  for (i = 0; ((GUIDEMO_GetTime() - TimeStart) < 5000) && (GUIDEMO_CheckCancel() == 0); i++) {
    GUI_SetColorIndex(aColorIndex[i&7]);
    //
    // Calculate random positions
    //
    Rect.x0 = rand() % xSize - xSize / 2;
    Rect.y0 = rand() % ySize - ySize / 2;
    Rect.x1 = Rect.x0 + 20 + rand() % xSize;
    Rect.y1 = Rect.y0 + 20 + rand() % ySize;
    GUI_FillRect(Rect.x0, Rect.y0, Rect.x1, Rect.y1);
    //
    // Clip rectangle to visible area and add the number of pixels (for speed computation)
    //
    if (Rect.x1 >= xSize) {
      Rect.x1 = xSize - 1;
    }
    if (Rect.y1 >= ySize) {
      Rect.y1 = ySize - 1;
    }
    if (Rect.x0 < 0 ) {
      Rect.x0 = 0;
    }
    if (Rect.y1 < 0) {
      Rect.y1 = 0;
    }
    GUI_Exec();
    //
    // Allow short breaks so we do not use all available CPU time ...
    //
  }


在hardfault中打印了fault寄存器的值:
CFSR: 8200
HFSR:40000000
DFSR:8
AFSR:0

我查了M4手册,HFSR值为40000000没有定义
DFSR在M4手册里也查不到定义。



正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2016-6-17 16:56:29 | 显示全部楼层
直接下载例程到开发板中没有做任何修改?
回复

使用道具 举报

5

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2016-6-4
在线时间
16 小时
 楼主| 发表于 2016-6-17 17:01:23 | 显示全部楼层
没有任何修改,而且刚才用仿真跑了半小时没有发生死机,我也奇怪了本来想仿真看看寄存器的值
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2016-6-17 17:11:32 | 显示全部楼层
月猪 发表于 2016-6-17 17:01
没有任何修改,而且刚才用仿真跑了半小时没有发生死机,我也奇怪了本来想仿真看看寄存器的值

具体哪个例程?
开往春天的手扶拖拉机
回复

使用道具 举报

5

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2016-6-4
在线时间
16 小时
 楼主| 发表于 2016-6-17 17:29:50 | 显示全部楼层
文件太大上传不了,我给的地址里面407无操作系统移植emwin那个

回复

使用道具 举报

5

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2016-6-4
在线时间
16 小时
 楼主| 发表于 2016-6-17 17:48:39 | 显示全部楼层
刚才改了一下LCD.C,在REG和RAM地址定义前用volatile修饰了一下,跑了半个多小时没死机,打算改一下GUIDEMO让他反复跑speed  demo
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 21:54

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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