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

[复制链接]
1681|6
 楼主| xyzjacky 发表于 2018-6-8 15:34 | 显示全部楼层 |阅读模式
本帖最后由 xyzjacky 于 2018-6-8 17:56 编辑

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

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

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


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


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

下图是两种芯片的主要区别


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

本帖子中包含更多资源

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

×
ayb_ice 发表于 2018-6-8 17:29 | 显示全部楼层
还是多怀疑自己吧,这东西毕竟是专家写的,多少人在用
dsyq 发表于 2018-6-8 21:18 | 显示全部楼层
估计只有楼主自己慢慢调试啊   那个塑料壳子很漂亮。
dsyq 发表于 2018-6-8 21:26 | 显示全部楼层
开发板的引线太长,会有问题没?
arm86 发表于 2018-6-8 22:20 | 显示全部楼层
开发板上是不是有其它元器件连接到你所使用的引脚上头去了呢?
sc1884 发表于 2018-6-9 21:18 | 显示全部楼层
进hardfault是因为OS_TimeMS计数到了这个值做了什么事情吧,参考https://blog.csdn.net/electrocrazy/article/details/78173558 这篇博客,定位出错代码就行了
 楼主| xyzjacky 发表于 2018-6-13 11:46 | 显示全部楼层
sc1884 发表于 2018-6-9 21:18
进hardfault是因为OS_TimeMS计数到了这个值做了什么事情吧,参考https://blog.csdn.net/electrocrazy/artic ...

谢谢,你介绍的帖子写得很好!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

25

主题

115

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部