36 lines
1.6 KiB
ReStructuredText
Raw Normal View History

2025-10-10 16:07:00 +08:00
lvgl常见问题
=================================
:link_to_translation:`en:[English]`
本节主要描述LVGL绘制UI功能常遇到的问题和解决方法。
Q屏幕能显示UI但是颜色不正常
A检查下工程中是否打开宏CONFIG_LV_COLOR_16_SWAP该宏通常是用于解决QSPI/SPI LCD颜色异常的问题。
------------------------------------------
Q工程上电执行立马出现死机问题
A可先用add2line命令定位死机的位置若死机在lvgl源码内部通常是申请不到内存或者内存被踩导致具体可将log dump全进行现场还原分析。此外lvgl的线程是不安全的若在其他task中绘制UI需要使用 ``lv_vendor_disp_lock()````lv_vendor_disp_unlock()`` 的接口进行代码保护。
------------------------------------------
Q工程上电后log正常但是屏幕黑屏无显示
A检查代码中使用的LCD类型和分辨率是否和实际LCD型号一致且查看config文件中是否将选用的LCD宏打开若log中lvgl的数值不为0则表示lvgl工作正常需要重点排除LCD的问题。
------------------------------------------
Q使用JPEG硬件解码提前解码到psram然后使用LVGL显示该图片显示异常。
A硬件解码模块使用有限制JEPG图像必须是YUV422图片且图像的行数必须是32的倍数列数必须是8的倍数。
------------------------------------------
Q如何提高LVGL的帧率
Adraw_buffer使用sram内存并使用双draw_buffer同时打开 ``CONFIG_CACHE_ENABLE`` 以及 ``CONFIG_LV_ATTRIBUTE_FAST_MEM``