您尚未登录。

楼主 # 2026-04-23 21:21:12

与非门
会员
注册时间: 2021-01-18
已发帖子: 38
积分: 31.5

请教下,LVGL怎么读取存储在外部flash的图片数组并进行显示?

如果一张图片是1MB【对应的数组已存在spi flash里】,ram为64KB的单片机能将其显示在屏幕上吗?不考虑流畅度之类的。大概的一个操作或流程是怎么样的?

离线

#1 2026-04-24 10:00:31

double33
会员
注册时间: 2021-11-30
已发帖子: 36
积分: 46

Re: 请教下,LVGL怎么读取存储在外部flash的图片数组并进行显示?

逐块刷新,从spi flash里读一小块数据到RAM然后刷新屏幕

离线

#2 2026-04-24 13:52:12

Icing
会员
注册时间: 2025-05-01
已发帖子: 2
积分: 2

Re: 请教下,LVGL怎么读取存储在外部flash的图片数组并进行显示?

移植文件系统接口lv_port_fs_template.c,用imageconverter把图片转为bin文件存入文件系统,需要用到图片的地方填入图片文件的路径就行了。比如lv_obj_set_style_bg_img_src(homepage, "F:/bg.bin", 0);

离线

楼主 #3 2026-04-24 13:56:37

与非门
会员
注册时间: 2021-01-18
已发帖子: 38
积分: 31.5

Re: 请教下,LVGL怎么读取存储在外部flash的图片数组并进行显示?

double33 说:

逐块刷新,从spi flash里读一小块数据到RAM然后刷新屏幕

怎么与lv_image_set_src()关联起来?就是用lvgl的api进行操作

离线

#4 2026-04-24 17:46:20

double33
会员
注册时间: 2021-11-30
已发帖子: 36
积分: 46

Re: 请教下,LVGL怎么读取存储在外部flash的图片数组并进行显示?

分块缓冲就是分配一小块ram,每次读一块,然后每次写屏更新指定块的偏移坐标。
lvgl有全屏缓冲和分块缓冲,现在有AI了,直接让AI帮你写一个分块缓冲的lvgl demo。

离线

楼主 #5 2026-04-27 17:28:42

与非门
会员
注册时间: 2021-01-18
已发帖子: 38
积分: 31.5

Re: 请教下,LVGL怎么读取存储在外部flash的图片数组并进行显示?

Icing 说:

移植文件系统接口lv_port_fs_template.c,用imageconverter把图片转为bin文件存入文件系统,需要用到图片的地方填入图片文件的路径就行了。比如lv_obj_set_style_bg_img_src(homepage, "F:/bg.bin", 0);

需要修改lv-port-fs里的读写

离线

#6 2026-04-27 19:38:30

Icing
会员
注册时间: 2025-05-01
已发帖子: 2
积分: 2

Re: 请教下,LVGL怎么读取存储在外部flash的图片数组并进行显示?

@与非门
既然用到了文件路径,就要有文件系统。
lvgl的虚拟文件系统非常简单,只是要把fs_open、fs_close、fs_read这样的函数与真实文件系统的函数对应上。
对于spiflash的文件系统,我习惯用littlefs或romfs

离线

楼主 #7 2026-04-28 09:19:01

与非门
会员
注册时间: 2021-01-18
已发帖子: 38
积分: 31.5

Re: 请教下,LVGL怎么读取存储在外部flash的图片数组并进行显示?

Icing 说:

@与非门
既然用到了文件路径,就要有文件系统。
lvgl的虚拟文件系统非常简单,只是要把fs_open、fs_close、fs_read这样的函数与真实文件系统的函数对应上。
对于spiflash的文件系统,我习惯用littlefs或romfs

spi_flash与fs对接参考这个工程{an-lvgl_demo_for_small_mcu-masterx}。
目前在找TF卡/SD卡与fs相对接的。

离线

楼主 #8 2026-04-28 09:21:05

与非门
会员
注册时间: 2021-01-18
已发帖子: 38
积分: 31.5

Re: 请教下,LVGL怎么读取存储在外部flash的图片数组并进行显示?

Icing 说:

@与非门
既然用到了文件路径,就要有文件系统。
lvgl的虚拟文件系统非常简单,只是要把fs_open、fs_close、fs_read这样的函数与真实文件系统的函数对应上。
对于spiflash的文件系统,我习惯用littlefs或romfs

littlefs/romfs,这两种的话更新图片bin文件是不是有什么格式要求?目前是采用直接读w25q64的操作。

离线

楼主 #9 2026-04-28 09:23:02

与非门
会员
注册时间: 2021-01-18
已发帖子: 38
积分: 31.5

Re: 请教下,LVGL怎么读取存储在外部flash的图片数组并进行显示?

Icing 说:

移植文件系统接口lv_port_fs_template.c,用imageconverter把图片转为bin文件存入文件系统,需要用到图片的地方填入图片文件的路径就行了。比如lv_obj_set_style_bg_img_src(homepage, "F:/bg.bin", 0);

lvgl RGB565是不是支持透明?在一个容器里放了一些控件,当容器透明度设置为0,容器里的控件就都消失了

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn


太原小智科技有限责任公司 - 东莞哇酷科技有限公司联合开发