硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3399|回复: 3
收起左侧

[有问必答] emWin的demo代码执行时的一个奇怪现象,可能和MCU内核有关

[复制链接]

5

主题

47

回帖

62

积分

初级会员

积分
62
发表于 2018-6-8 15:42:27 | 显示全部楼层 |阅读模式
本帖最后由 xyzjacky 于 2018-6-8 17:57 编辑

好奇怪,我在我的产品上(STM32F103RET6),运行GUI_demo的代码,没有问题,
我把该工程改成我开发板上的MCU(STM32F103ZET6),然后来跑,就只显示了第一个画面,后面就不动了?

于是我开始debug,发现OS_TimeMS加到0x1c21就不动了。然后我就改OS_TimeMS
原先的定义是extern volatile int OS_TimeMS;
现在改成extern int OS_TimeMS;

完成后再debug,OS_TimeMS倒是一直在加,可画面显示完第一下,就不再动了。就是下图这个画面。
QQ图片20180608152354.jpg

如果说代码有问题,那肯定不该,因为在产品的硬件上都跑得好好的。如下图,
QQ图片20180608152343.jpg

好生奇怪,我估计应该是和内核有关,否则
原先的定义extern volatile int OS_TimeMS;  OS_TimeMS在ZET6上加到0x1c21会死掉,在RET6上就正常。
后面改成extern int OS_TimeMS;  OS_TimeMS不再死掉,画面却还是不动。



下图是两种芯片的主要区别
QQ图片20180608154844.png

请问有哪位大神能解释一下。
补充:
下午让开发板多debug了一会儿,发现一旦OS_TimeMS计数到0x1c21,它就死到HardFault_Handler();里面,但是不知道从哪里死进去的。





回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106959
QQ
发表于 2018-6-9 01:25:09 | 显示全部楼层
你的第一个界面那个垂直线条是什么情况。
回复

使用道具 举报

5

主题

47

回帖

62

积分

初级会员

积分
62
 楼主| 发表于 2018-6-11 11:08:37 | 显示全部楼层
eric2013 发表于 2018-6-9 01:25
你的第一个界面那个垂直线条是什么情况。

哦,那个是屏上面的一张膜。跟显示无关。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106959
QQ
发表于 2018-6-11 13:28:23 | 显示全部楼层
xyzjacky 发表于 2018-6-11 11:08
哦,那个是屏上面的一张膜。跟显示无关。

不清楚了,如果是我们的板子可以帮你测试下。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-12 00:36 , Processed in 0.161025 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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