OpenEdv-开源电子网

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

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

[复制链接]

6

主题

75

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
203
金钱
203
注册时间
2013-8-15
在线时间
44 小时
发表于 2018-6-8 15:37:52 | 显示全部楼层 |阅读模式
本帖最后由 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();里面,但是不知道从哪里死进去的。





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

使用道具 举报

2

主题

592

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1458
金钱
1458
注册时间
2019-7-28
在线时间
137 小时
发表于 2022-1-11 16:40:56 | 显示全部楼层

回帖奖励 +6 金钱

楼主解决了吗     
回复 支持 反对

使用道具 举报

2

主题

592

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1458
金钱
1458
注册时间
2019-7-28
在线时间
137 小时
发表于 2022-1-11 16:41:17 | 显示全部楼层

回帖奖励 +6 金钱

我也遇到了这个问题   
回复 支持 反对

使用道具 举报

0

主题

668

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1926
金钱
1926
注册时间
2021-8-13
在线时间
262 小时
发表于 2022-1-11 16:41:23 | 显示全部楼层

回帖奖励 +6 金钱

Mark  ,等答案
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 11:16

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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