硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1644|回复: 6
收起左侧

[STM32CubeH7] stm32h750 运行LVGL开辟内存卡死

[复制链接]

2

主题

32

回帖

38

积分

新手上路

积分
38
发表于 2024-11-22 17:03:52 | 显示全部楼层 |阅读模式
1、APP是在外部flash运行的

2、LVGL的内存池开辟为 128 * 1024 bytes
3、Stack_Size                EQU     0x2000   Heap_Size      EQU     0x2000
3、具体表现:我在添加第二个事件的时候就出现了卡死,后续尝试删减控件仍卡死,最后多控件无事件的情况下正常运行,少量控件单事件正常运行,添加第二个事件就会卡死,且多控件的时候会有控件元素丢失的情况

按道理来说内存池已经够大了,不应该出现这样的问题,求助各位大佬
回复

使用道具 举报

59

主题

675

回帖

857

积分

金牌会员

积分
857
发表于 2024-11-22 20:29:21 | 显示全部楼层
没有外部sdram吗?就是内部ram吗
回复

使用道具 举报

692

主题

3576

回帖

5677

积分

论坛元老

积分
5677
发表于 2024-11-23 09:07:16 | 显示全部楼层
你吧  LV_MEM_ADD 定义为 0   

LV_MEM_SIZE 定义为 64*1024  

在 进入当前屏幕时 加载 , 退出时删除

lvgl 显示缓存可以使用外部  sdram
回复

使用道具 举报

2

主题

32

回帖

38

积分

新手上路

积分
38
 楼主| 发表于 2024-11-25 08:32:31 | 显示全部楼层
ou513 发表于 2024-11-22 20:29
没有外部sdram吗?就是内部ram吗

显存用的外部sdram
回复

使用道具 举报

2

主题

32

回帖

38

积分

新手上路

积分
38
 楼主| 发表于 2024-11-25 08:32:54 | 显示全部楼层
hpdell 发表于 2024-11-23 09:07
你吧  LV_MEM_ADD 定义为 0   

LV_MEM_SIZE 定义为 64*1024  

这些操作都尝试过
回复

使用道具 举报

2

主题

32

回帖

38

积分

新手上路

积分
38
 楼主| 发表于 2024-11-25 09:24:06 | 显示全部楼层
今天做了如下尝试
1、打开内存监控,内存占用一个button增加1%,所以我认为这方面没有问题
2、显存使用外部SDRAM,且正常图像显示没有问题,所以这方面应该也没问题
3、涉及到事件,所以开始检查事件的一系列函数,发现自己在页面一测试时加入了一个相关事件,结果后面事件初始化时再次加入,删掉一个之后开始测试,问题消失
总结如下:事件重复添加引起。事件添加的API里面有对象检测和内存检测的断言,且debug在内存开辟进入hard fault误导了自己
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-14 03:08 , Processed in 0.039212 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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