OpenEdv-开源电子网

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

下载TFTLCD/外部SRAM/内存管理/汉字显示/UCOS相关实验均可以,但下载EMWIN相关程序LCD则显示白屏????

[复制链接]

22

主题

104

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
235
金钱
235
注册时间
2015-5-4
在线时间
34 小时
发表于 2016-9-18 10:10:16 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 shblh 于 2016-9-18 16:13 编辑

如题,我模仿原子哥自己画了一块PCB板,板子上的资源有外部SRAM/EEPROM/FLASH/TFTLCD/STM32F407最小系统,原理图见附件。
下载原子哥的例程TFTLCD/触摸屏/外部SRAM/内存管理/汉字显示/UCOS相关实验/SD卡/文件系统这些例程,都是正常的,但是一下载EMWIN相关例程,就出现白屏
下面是我下载EMWIN例程中的EMWIN实验4 数值显示的现象。
IMG_4558.JPG
我仿真环境下,发现程序在运行到GUI_Init();  后,就跑飞了,停在了  void HardFault_Handler(void)这个函数中。如下图所示
XEHJ3RNK)%}JZTW3@Q{)$HX.png
PS:下载同样的程序,在原子大哥的开发板上是没问题的,不知道我这个到底问题出在哪里,下面附上原理图
PS:我用的是7寸TFTLCD,查看论坛,分析原因有说是排线太长的原因,用的是买7寸LCD屏送的排线,并且试过直插在LCD接口上,发现还是白屏
@正点原子 @八度空间 @zuozhongkai  @openedvadmin @各位大神

LCDMain.PDF

680.57 KB, 下载次数: 268

最佳答案

查看完整内容[请看2#楼]

找到问题了,SRAM有两个管脚短路了
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

22

主题

104

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
235
金钱
235
注册时间
2015-5-4
在线时间
34 小时
 楼主| 发表于 2016-9-18 10:10:17 | 显示全部楼层

找到问题了,SRAM有两个管脚短路了
回复

使用道具 举报

22

主题

104

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
235
金钱
235
注册时间
2015-5-4
在线时间
34 小时
 楼主| 发表于 2016-9-18 14:14:00 | 显示全部楼层
本帖最后由 shblh 于 2016-9-18 16:05 编辑

现在是这样,我试过在GUI_Init()函数之前添加POINT_COLOR=RED;          LCD_ShowString(30,40,210,24,24,"Explorer STM32F4");是可以在LCD屏上显示的               
手册上面说 调用GUI_Init()函数,该函数按顺序调用了GUI_X_Config()、LCD_X_Config()和LCD_X_DisplayDriver(),通过在每个函数中都设置断点,发现第一个函数可以正常执行,当执行完GUI_X_Config后也就是要进入LCD_X_Config()便进入了Hardfault()               
我试过修改startup_stm32f40_41xxx.s 中的Stack_Size      EQU     0x00001200
                                                                   Heap_Size       EQU     0x00000400       
修改GUIConf.C中#define USE_EXRAM  1/使用外部RAM
//设置EMWIN内存大小
#define GUI_NUMBYTES  (700*1024)
#define GUI_BLOCKSIZE 0X70  //块大小
以及main.c中任务堆栈大小
//任务优先级
#define START_TASK_PRIO                                3
//任务堆栈大小       
#define START_STK_SIZE                                 2048
//任务控制块
OS_TCB StartTaskTCB;
//任务堆栈       
CPU_STK START_TASK_STK[START_STK_SIZE];
//任务函数
void start_task(void *p_arg);

//TOUCH任务
//设置任务优先级
#define TOUCH_TASK_PRIO                                4
//任务堆栈大小
#define TOUCH_STK_SIZE                                128
//任务控制块
OS_TCB TouchTaskTCB;
//任务堆栈
CPU_STK TOUCH_TASK_STK[TOUCH_STK_SIZE];
//touch任务
void touch_task(void *p_arg);

//LED0任务
//设置任务优先级
#define LED0_TASK_PRIO                                 5
//任务堆栈大小
#define LED0_STK_SIZE                                128
//任务控制块
OS_TCB Led0TaskTCB;
//任务堆栈
CPU_STK LED0_TASK_STK[LED0_STK_SIZE];
//led0任务
void led0_task(void *p_arg);

//EMWINDEMO任务
//设置任务优先级
#define EMWINDEMO_TASK_PRIO                        6
//任务堆栈大小
#define EMWINDEMO_STK_SIZE                        2048
//任务控制块
OS_TCB EmwindemoTaskTCB;
//任务堆栈
CPU_STK EMWINDEMO_TASK_STK[EMWINDEMO_STK_SIZE];

这些修改后,都没有解决这个问题
回复

使用道具 举报

120

主题

7877

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12010
金钱
12010
注册时间
2013-9-10
在线时间
427 小时
发表于 2016-9-18 22:40:21 | 显示全部楼层
shblh 发表于 2016-9-18 14:14
现在是这样,我试过在GUI_Init()函数之前添加POINT_COLOR=RED;          LCD_ShowString(30,40,210,24,24,"Explore ...

先不要上系统嘛
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复

使用道具 举报

22

主题

104

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
235
金钱
235
注册时间
2015-5-4
在线时间
34 小时
 楼主| 发表于 2016-9-19 08:21:42 | 显示全部楼层
本帖最后由 shblh 于 2016-9-19 08:26 编辑

感觉应该不是系统的原因,我把该试验中关于GUI的代码注释掉,程序是可以正常运行的~您看我现在该怎么着问题呢??
回复

使用道具 举报

120

主题

7877

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12010
金钱
12010
注册时间
2013-9-10
在线时间
427 小时
发表于 2016-9-19 11:32:30 | 显示全部楼层
shblh 发表于 2016-9-19 08:21
感觉应该不是系统的原因,我把该试验中关于GUI的代码注释掉,程序是可以正常运行的~您看我现在该怎么着问 ...

先调试好能显示字符什么的,一步一步来,调好驱动部分
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复

使用道具 举报

22

主题

104

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
235
金钱
235
注册时间
2015-5-4
在线时间
34 小时
 楼主| 发表于 2016-9-19 12:02:09 | 显示全部楼层
TFTLCD/外部SRAM/内存管理/汉字显示/UCOS相关实验我都用开发板配套的例程试过了,是可以正常运行的,只是在EMWIN相关程序就出问题了
回复

使用道具 举报

120

主题

7877

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12010
金钱
12010
注册时间
2013-9-10
在线时间
427 小时
发表于 2016-9-19 12:59:06 | 显示全部楼层
shblh 发表于 2016-9-19 12:02
TFTLCD/外部SRAM/内存管理/汉字显示/UCOS相关实验我都用开发板配套的例程试过了,是可以正常运行的,只是在 ...

只能一步一步查了
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 21:26

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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