你好,我最近在尝试弄一个lvgl+freertos的项目,然后目前用的单片机就是stm32h750,本来pcb板画好了,移植lvgl编译的时候发现内存空间不足的报错,后来查了一些资料了解到lvgl的字库资源是存在flash里面的,h750的flash只有128k,现在在搜外部flash,qspi和内存关联的资料,搜到你分享的资源里面有h750核心板的原理图,核心板上用qspi连了一颗w25q64,想找您要一份h750核心板的资料,看看内存关联的代码
3条回答 默认 最新
阿里嘎多学长 2025-03-29 15:29关注阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程
问题解答
你好!你遇到的问题是LVGL在STM32H750上移植编译时出现内存空间不足的报错。LVGL是一个功能强大的GUI库,但是它确实需要较多的内存空间。
为了解决这个问题,你可以尝试以下几点:
- 优化LVGL配置:LVGL提供了多种配置选项,可以根据你的项目需求来调整。例如,你可以尝试减少LVGL的字体大小、减少图标的数量等。
- 使用Flash存储:STM32H750有Flash存储,可以将LVGL的数据存储在Flash中,而不是RAM中。这可以释放出一些RAM空间。
- 使用W25Q64外接Flash:你已经使用了W25Q64外接Flash,可以将LVGL的数据存储在Flash中。
- 减少RAM使用:你可以尝试减少RAM使用的其他方法,例如减少变量的数量、使用静态变量等。
核心代码:
// 优化LVGL配置 lv_conf_set_default(); lv_conf_set_font_default(); lv_conf_set_icon_default(); // 使用Flash存储 lv_flash_init(); lv_flash_set_storage_path("flash://lvgl_data"); // 使用W25Q64外接Flash W25Q64_Init(); lv_flash_set_storage_path("flash://lvgl_data");这些方法可以帮助你解决内存空间不足的问题,但是需要根据你的项目需求和实际情况进行调整。
解决 无用评论 打赏 举报