OpenEdv-开源电子网

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

TTF字体创建进入 HardFault_Handler

[复制链接]

11

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
188
金钱
188
注册时间
2014-10-10
在线时间
68 小时
发表于 2019-6-4 19:09:07 | 显示全部楼层 |阅读模式
20金钱
请教,阿波罗F7的板子,10.1寸的屏,创建TTF字体时进入硬件错误,错误的地方
在ftbase.c 下的         sign_shift = 16; 这行。这根本就看不出有什么错误, sign_shift  定义的是一个整形,不是数组也不是指针。
不加TTF字体,STemWin 显示正常。
加入字体的代码参考的原子的代码

                                        ttfBuffer 为SD卡中的TTF字体,换成原子代码的字体也不行
                                        TTFData.pData = ttfBuffer;
                                        TTFData.NumBytes = SDFile.obj.objsize;
                                       
                                        Cs0.pTTF                 = &TTFData;
                                        Cs0.PixelHeight = 12;
                                        Cs0.FaceIndex         = 0;
                                       
                                        Cs0.pTTF                 = &TTFData;
                                        Cs0.PixelHeight = 18;
                                        Cs0.FaceIndex         = 0;
                                       
                                        Cs0.pTTF                 = &TTFData;
                                        Cs0.PixelHeight = 24;
                                        Cs0.FaceIndex         = 0;
                                       
                                        Cs0.pTTF                 = &TTFData;
                                        Cs0.PixelHeight = 36;
                                        Cs0.FaceIndex         = 0;
                                                                               
                                        result = GUI_TTF_CreateFont(&TTF12_Font,&Cs0);                                       
                                        printf("  GUI_TTF_CreateFont TTF12_Font = %d  \r\n",result);
                                       
                                        result = GUI_TTF_CreateFont(&TTF18_Font,&Cs1);                               
                                        printf("  GUI_TTF_CreateFont TTF18_Font = %d  \r\n",result);       
                               
                                        result = GUI_TTF_CreateFont(&TTF24_Font,&Cs2);                                       
                                        printf("  GUI_TTF_CreateFont TTF24_Font = %d  \r\n",result);
                                       
                                        result = GUI_TTF_CreateFont(&TTF36_Font,&Cs3);                                       
                                        printf("  GUI_TTF_CreateFont TTF36_Font = %d  \r\n",result);                                                                               
                                                       
第一个创建字体就进入 HardFault_Handler                               

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

使用道具 举报

11

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
188
金钱
188
注册时间
2014-10-10
在线时间
68 小时
 楼主| 发表于 2019-6-4 19:13:31 | 显示全部楼层
有没有高手有类似的经历,谢谢分享下。这个问题搞了快一个星期了,没有任何进展
回复

使用道具 举报

11

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
188
金钱
188
注册时间
2014-10-10
在线时间
68 小时
 楼主| 发表于 2019-6-4 19:15:37 | 显示全部楼层
truetype 的内存使用都是用的外部内存,替代了他自己原来的内存申请函数
#define ttf_scalloc          pvPortCalloc
#define ttf_sfree     vPortFree
#define ttf_smalloc   pvPortMalloc
#define ttf_srealloc  pvPortRealloc


#define ft_scalloc   ttf_scalloc//calloc
#define ft_sfree     ttf_sfree//free
#define ft_smalloc   ttf_smalloc//malloc
#define ft_srealloc  ttf_srealloc//realloc

这些内存申请函数都测试过了,没有问题。
回复

使用道具 举报

11

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
188
金钱
188
注册时间
2014-10-10
在线时间
68 小时
 楼主| 发表于 2019-6-4 19:36:38 | 显示全部楼层
这个是源码,请高手帮忙看看。

STM32F767_BSP.rar

7.39 MB, 下载次数: 1

回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2019-6-6 02:51:17 | 显示全部楼层
帮顶
回复

使用道具 举报

37

主题

595

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1572
金钱
1572
注册时间
2017-7-17
在线时间
308 小时
发表于 2019-6-6 08:43:16 | 显示全部楼层
在MDK里面仿真调试,在错误的地方打一个断点,然后系统信息里面看看引起hard fault的原因是什么。
回复

使用道具 举报

10

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
92
金钱
92
注册时间
2017-6-21
在线时间
23 小时
发表于 2019-7-4 22:02:35 | 显示全部楼层
解决没?
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-23 00:11

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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