您尚未登录。

楼主 # 2025-04-22 15:41:48

varden
会员
注册时间: 2024-03-08
已发帖子: 3
积分: 13

luban-lite-master lvgl9触摸操作偶发性死机

公司项目方案采用了D133CBS芯片+NAND+RGB接口LCD屏,界面用的LVGL9,触摸操作时会偶发性的出现死机问题,串口打印出的错误信息如下:


20250422154028359.png

想请问下各路大神有没有遇到过这个问题?是LVGL分配的内在空间不够吗?我的lv_conf.h配置如下:
#ifndef LV_CONF_H
#define LV_CONF_H

#include <rtconfig.h>

#define LV_USE_LOG 1
#if LV_USE_LOG

    /*How important log should be added:
    *LV_LOG_LEVEL_TRACE       A lot of logs to give detailed information
    *LV_LOG_LEVEL_INFO        Log important events
    *LV_LOG_LEVEL_WARN        Log if something unwanted happened but didn't cause a problem
    *LV_LOG_LEVEL_ERROR       Only critical issue, when the system may fail
    *LV_LOG_LEVEL_USER        Only logs added by the user
    *LV_LOG_LEVEL_NONE        Do not log anything*/
    #define LV_LOG_LEVEL LV_LOG_LEVEL_ERROR

    /*1: Print the log with 'printf';
    *0: User need to register a callback with `lv_log_register_print_cb()`*/
    #define LV_LOG_PRINTF 1

    /*Enable/disable LV_LOG_TRACE in modules that produces a huge number of logs*/
    #define LV_LOG_TRACE_MEM        1
    #define LV_LOG_TRACE_TIMER      1
    #define LV_LOG_TRACE_INDEV      1
    #define LV_LOG_TRACE_DISP_REFR  1
    #define LV_LOG_TRACE_EVENT      1
    #define LV_LOG_TRACE_OBJ_CREATE 1
    #define LV_LOG_TRACE_LAYOUT     1
    #define LV_LOG_TRACE_ANIM       1

#endif  /*LV_USE_LOG*/

#ifndef LV_COLOR_DEPTH
#define LV_COLOR_DEPTH          32
#endif

#define LV_MEM_SIZE (1024 * 1024U)

#define LV_USE_MEM_MONITOR 0
#define LV_USE_PERF_MONITOR 1
#define LV_USE_SYSMON   1
#define LV_INDEV_DEF_READ_PERIOD 10

#if defined(KERNEL_BAREMETAL)|| defined(KERNEL_FREERTOS)
#define LV_USE_STDLIB_MALLOC    LV_STDLIB_CLIB
#define LV_USE_STDLIB_STRING    LV_STDLIB_CLIB
#define LV_USE_STDLIB_SPRINTF   LV_STDLIB_CLIB
#endif

#if defined(KERNEL_BAREMETAL) || defined(KERNEL_FREERTOS)
#define LV_TICK_CUSTOM 1
#define LV_TICK_CUSTOM_INCLUDE <aic_common.h>
#define LV_TICK_CUSTOM_SYS_TIME_EXPR (aic_get_time_ms())    /*Expression evaluating to current system time in ms*/
#define LV_DISP_DEF_REFR_PERIOD 10
#endif

#define LV_USE_FS_POSIX 1
#if LV_USE_FS_POSIX
    #define LV_FS_POSIX_LETTER 'L'     /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/
    #define LV_FS_POSIX_PATH ""         /*Set the working directory. File/directory paths will be appended to it.*/
    #define LV_FS_POSIX_CACHE_SIZE 0    /*>0 to cache this number of bytes in lv_fs_read()*/
#endif

#if defined(AIC_LVGL_MUSIC_DEMO)
#define LV_USE_DEMO_MUSIC 1
#endif

#if defined(AIC_LVGL_DEMO_BENCHMARK)
#define LV_USE_DEMO_BENCHMARK 1
#undef LV_FONT_MONTSERRAT_24
#define LV_FONT_MONTSERRAT_24 1
#undef LV_USE_DEMO_WIDGETS
#define LV_USE_DEMO_WIDGETS 1
#endif

#if defined(AIC_LVGL_DEMO_WIDGETS)
#define LV_USE_DEMO_WIDGETS 1
#endif

#define LV_USE_DEMO_MUSIC 0
#if LV_USE_DEMO_MUSIC == 1
#define LV_FONT_MONTSERRAT_12       1
#define LV_FONT_MONTSERRAT_16       1
#endif /* LV_USE_DEMO_MUSIC */

/*FreeType library*/
#define LV_USE_FREETYPE 1
#if LV_USE_FREETYPE
    /*Let FreeType to use LVGL memory and file porting*/
    #define LV_FREETYPE_USE_LVGL_PORT 0

    /*Cache count of the glyphs in FreeType. It means the number of glyphs that can be cached.
     *The higher the value, the more memory will be used.*/
    #define LV_FREETYPE_CACHE_FT_GLYPH_CNT 384
#endif

#define LV_USE_GIF 0

#define LV_CACHE_DEF_SIZE 2 * 1024 * 1024

#define LV_IMAGE_HEADER_CACHE_DEF_CNT  20

#define LV_DEF_REFR_PERIOD 10

#define LV_USE_PARALLEL_DRAW_DEBUG 0

#define LV_DRAW_BUF_STRIDE_ALIGN 8

#define LV_DRAW_BUF_ALIGN CACHE_LINE_SIZE

#define LV_USE_MONKEY 1

#define LV_USE_FILE_EXPLORER 1

#define LV_USE_OBSERVER 1

#define LV_USE_GRID 1

#define LV_USE_CHART 1

#define LV_FONT_MONTSERRAT_12       1
#define LV_FONT_DEFAULT &lv_font_montserrat_12

#endif // LV_CONF_H

跪请大神们指点!

离线

楼主 #2 2025-04-23 14:01:58

varden
会员
注册时间: 2024-03-08
已发帖子: 3
积分: 13

Re: luban-lite-master lvgl9触摸操作偶发性死机

谢谢您的回复,待我按这个修改后测试一下。

离线

楼主 #4 昨天 08:11:06

varden
会员
注册时间: 2024-03-08
已发帖子: 3
积分: 13

Re: luban-lite-master lvgl9触摸操作偶发性死机

我的堆栈也是设了32K的,最好是多测一下,这个问题是偶发性的。同样的程序我自己测试很少出现这个问题,一给到测试那边就经常出这个问题

离线

页脚

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

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