[STM32]

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

[复制链接]
1252|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倒是一直在加,可画面显示完第一下,就不再动了。就是下图这个画面。
QQ图片20180608152354.jpg

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

RET6运行

RET6运行


好生奇怪,我估计应该是和内核有关,否则
原先的定义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();里面,但是不知道从哪里死进去的。

相关帖子

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 ...

谢谢,你介绍的帖子写得很好!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

24

主题

112

帖子

4

粉丝