STM32
直播中

万物死

9年用户 1392经验值
擅长:MEMS/传感技术
私信 关注
[问答]

TouchGFX+STM32CUBEMX+STM32F429IGT6运行异常的原因?怎么解决?

使用touchgfx+STM32CubeMx生成适合正点原子阿波罗开发板的工程文件不能正常运行。首先使用cube生成了LTDC+DMA2D+FMC+FreeRTOS配置,正常点亮了屏幕。可以使用LTDC直接显示文字到屏幕。
然后增加了touchgfx配置,再次生成文件后,系统直接死机。
具体表现为:
1、开机屏幕无法点亮,开了的LED闪灯任务无法运行;
2、在main函数里面注释掉MX_TouchGFX_Init();后,可以运行原来的程序;
3、执行2后,用debug单步运行,运行到MX_FMC_Init();就无法正常debug了。
4、重新单步MX_FMC_Init();,发现程序在开启__HAL_RCC_FMC_CLK_ENABLE();外设时钟后,系统就表现debug异常。
5、注释掉__HAL_RCC_FMC_CLK_ENABLE();外设时钟后,系统debug能正常运行,但是因为无外部sdram,屏幕显示异常。

实在摸不清问题点在哪里了。。。
请各位指导一下。
(之前用此配置方法正常驱动了一个4.3寸的320*240的显示屏,所以基础配置应该不会太差,此次出问题的是4.3寸800*480的屏)



回帖(1)

小香干

2024-3-25 17:15:36
TouchGFX+STM32CUBEMX+STM32F429IGT6运行异常的原因可能是配置错误或者冲突导致的。解决方法如下:

1. 检查配置文件:确保在CubeMX中正确配置了LTDC、DMA2D、FMC以及TouchGFX项目。

2. 检查时钟配置:确保时钟配置正确,包括FMC时钟,以及TouchGFX所需的时钟频率。

3. 检查内存配置:确保为FMC分配了足够的内存,以满足TouchGFX所需。

4. 检查硬件连接:确保硬件连接正确,包括显示屏、外部存储器和其他外设的连接。

5. 检查初始化顺序:确认启动时正确初始化了硬件资源,包括FMC和TouchGFX相关的初始化。

6. 检查中断优先级:确保中断优先级设置正确,以防止冲突。

7. 检查错误日志:查看编译器输出的错误日志,以了解可能的问题。

8. 更新软件版本:确保使用最新版本的TouchGFX和STM32CubeMX软件,以解决已知的问题。

如果以上方法无法解决问题,建议尝试以下步骤:

1. 去除TouchGFX配置,仅使用CubeMX生成的工程文件进行测试,确保硬件和基本功能正常。

2. 逐步添加TouchGFX功能,重新生成工程文件并测试每个添加的功能,以确定导致问题的具体模块。

3. 参考TouchGFX和STM32CubeMX的官方文档和示例代码,查找更详细的配置和使用方法。

4. 在TouchGFX的官方论坛或STM32的官方论坛上搜索类似的问题,查看其他开发者的解决方法。

如果仍然无法解决问题,可能需要联系TouchGFX和STM32官方支持进行更进一步的帮助。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分