OpenEdv-开源电子网

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

STemwin移植到F429调用GUI_Init()进入hardFault Handler

[复制链接]

13

主题

38

帖子

0

精华

初级会员

Rank: 2

积分
112
金钱
112
注册时间
2013-7-9
在线时间
6 小时
发表于 2015-10-20 16:44:01 | 显示全部楼层 |阅读模式
5金钱
将STemwin移植在F429上面后开启CRC校验,然后调用GUI_Init(),发现程序在进入该函数后便进入了HardFault handler函数,我第一感觉是内存分配小了,于是将10*1024的内存分给emwin,结果还是进入HardFault handler,之前移植分配的内存比这小的多都没有导致这个问题,说明不是内存分配太小的问题,于是查看emwin手册,在emwin手册上面说GUI_Init()函数按顺序调用了GUI_X_Config()、LCD_X_Config()、LCD_X_DisplayDriver()这三个函数,我想如果把这三个函数中的内容都屏蔽掉使其成为空函数,那么虽然GUI_Init()此时已经没有任何用了,但是至少不会进入HardFault handler,于是将三个函数的内容都屏蔽了,结果还是进入了HardFault handler,我就不解了,这个硬件错误是怎么导致的,会不会是因为硬件FPU上面错了
我是按照原子的emwin教程来移植的

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2015-10-20 22:44:21 | 显示全部楼层
回复

使用道具 举报

3

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
51
金钱
51
注册时间
2014-7-10
在线时间
1 小时
发表于 2015-11-28 21:47:41 | 显示全部楼层
#define USE_EXRAM 0  //不使用外部SRAM
#define GUI_NUMBYTES (20*1024)  //0x200000
#define GUI_BLOCKSIZE 0X80     //块大小


我也出现了同样的问题,我的是内存分配过大导致的,GUI_NUMBYTES  原先是100*1024  因为用的STM32F103, 可供分配的内存为40K,将GUI_NUMBYTES 修改为 20K 就正常了。
回复

使用道具 举报

13

主题

38

帖子

0

精华

初级会员

Rank: 2

积分
112
金钱
112
注册时间
2013-7-9
在线时间
6 小时
 楼主| 发表于 2015-12-5 14:27:24 | 显示全部楼层
回复【3楼】sucore:
---------------------------------
我是显存分配小了,导致溢出了,呵呵
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

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

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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