zephyrproject-rtos / zephyr

Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.
https://docs.zephyrproject.org
Apache License 2.0
10.59k stars 6.48k forks source link

lvgl: upgrade to 8.2 build problem #43511

Closed ck-telecom closed 2 years ago

ck-telecom commented 2 years ago

Describe the bug when enable CONFIG_LVGL=y CONFIG_LV_CONF_MINIMAL=y

all widget built-in and the binary and SRAM is mass, all files built-in even only CONFIG_LV_CONF_MINIMAL=y, this doesn't make any sense. `modules/lib/gui/lvgl/zephyr/lv_conf.h' need fixed

Please also mention any information which could help others to understand the problem you're facing:

To Reproduce Steps to reproduce the behavior:

  1. CONFIG_LVGL=y CONFIG_LV_CONF_MINIMAL=y
  2. west build -p auto -b -s samples/subsys/display/lvgl 3 check the image size

Expected behavior all component should only built-in when configured

Impact What impact does this issue have on your progress (e.g., annoyance, showstopper)

Logs and console output If applicable, add console logs or other types of debug information e.g Wireshark capture or Logic analyzer capture (upload in zip archive). copy-and-paste text and put a code fence (```) before and after, to help explain the issue. (if unable to obtain text log, add a screenshot)

Environment (please complete the following information):

Additional context Add any other context that could be relevant to your issue, such as pin setting, target configuration, ...

ck-telecom commented 2 years ago

43192 only fix build error, no configure problem fixed

gmarull commented 2 years ago

I see this:

west build -b pinetime_devkit0 samples/subsys/display/lvgl/ -p -- -DCONFIG_LV_CONF_MINIMAL=y
...
Memory region         Used Size  Region Size  %age Used
           FLASH:      106424 B       512 KB     20.30%
            SRAM:       47992 B        64 KB     73.23%
        IDT_LIST:          0 GB         2 KB      0.00%

In this case this is the rom_report for the LVGL part:

│       └── lib                                                                                 64691  60.79%
│           └── gui                                                                             64691  60.79%
│               └── lvgl                                                                        64691  60.79%
│                   ├── src                                                                     63235  59.43%
│                   │   ├── core                                                                21073  19.80%
│                   │   │   ├── lv_disp.c                                                         220   0.21%
│                   │   │   │   ├── lv_disp_get_layer_sys                                          52   0.05%
│                   │   │   │   ├── lv_disp_get_layer_top                                          52   0.05%
│                   │   │   │   ├── lv_disp_get_scr_act                                            52   0.05%
│                   │   │   │   ├── lv_disp_get_scr_prev                                           52   0.05%
│                   │   │   │   └── lv_disp_get_theme                                              12   0.01%
│                   │   │   ├── lv_event.c                                                        708   0.67%
│                   │   │   │   ├── _lv_event_mark_deleted                                         36   0.03%
│                   │   │   │   ├── event_send_core                                               356   0.33%
│                   │   │   │   ├── lv_event_get_code                                               8   0.01%
│                   │   │   │   ├── lv_event_get_current_target                                     4   0.00%
│                   │   │   │   ├── lv_event_get_draw_ctx                                          52   0.05%
│                   │   │   │   ├── lv_event_get_indev                                             52   0.05%
│                   │   │   │   ├── lv_event_get_param                                              4   0.00%
│                   │   │   │   ├── lv_event_get_target                                             4   0.00%
│                   │   │   │   ├── lv_event_send                                                  64   0.06%
│                   │   │   │   ├── lv_event_set_ext_draw_size                                     64   0.06%
│                   │   │   │   ├── lv_obj_event_base                                              42   0.04%
│                   │   │   │   └── lv_obj_get_event_dsc.isra.0                                    22   0.02%
│                   │   │   ├── lv_group.c                                                        656   0.62%
│                   │   │   │   ├── _lv_group_init                                                 12   0.01%
│                   │   │   │   ├── focus_next_core                                               226   0.21%
│                   │   │   │   ├── get_indev                                                      76   0.07%
│                   │   │   │   ├── lv_group_add_obj                                              104   0.10%
│                   │   │   │   ├── lv_group_focus_next                                            16   0.02%
│                   │   │   │   ├── lv_group_focus_prev                                            16   0.02%
│                   │   │   │   ├── lv_group_get_default                                           12   0.01%
│                   │   │   │   ├── lv_group_get_editing                                           10   0.01%
│                   │   │   │   ├── lv_group_refocus                                               40   0.04%
│                   │   │   │   └── lv_group_remove_obj                                           144   0.14%
│                   │   │   ├── lv_indev.c                                                         70   0.07%
│                   │   │   │   ├── lv_indev_get_act                                               12   0.01%
│                   │   │   │   ├── lv_indev_get_scroll_dir                                        28   0.03%
│                   │   │   │   ├── lv_indev_get_scroll_obj                                        22   0.02%
│                   │   │   │   └── lv_indev_get_type                                               8   0.01%
│                   │   │   ├── lv_obj.c                                                         3104   2.92%
│                   │   │   │   ├── lv_init                                                       116   0.11%
│                   │   │   │   ├── lv_obj_add_state                                               18   0.02%
│                   │   │   │   ├── lv_obj_allocate_spec_attr                                      56   0.05%
│                   │   │   │   ├── lv_obj_clear_flag                                             120   0.11%
│                   │   │   │   ├── lv_obj_clear_state                                             18   0.02%
│                   │   │   │   ├── lv_obj_constructor                                            120   0.11%
│                   │   │   │   ├── lv_obj_create                                                  24   0.02%
│                   │   │   │   ├── lv_obj_destructor                                             104   0.10%
│                   │   │   │   ├── lv_obj_draw                                                  1156   1.09%
│                   │   │   │   ├── lv_obj_event                                                  846   0.80%
│                   │   │   │   ├── lv_obj_get_group                                                8   0.01%
│                   │   │   │   ├── lv_obj_get_state                                                4   0.00%
│                   │   │   │   ├── lv_obj_has_flag                                                14   0.01%
│                   │   │   │   ├── lv_obj_has_flag_any                                            12   0.01%
│                   │   │   │   └── lv_obj_set_state                                              488   0.46%
│                   │   │   ├── lv_obj_class.c                                                    434   0.41%
│                   │   │   │   ├── lv_obj_class_create_obj                                       244   0.23%
│                   │   │   │   ├── lv_obj_class_init_obj                                         116   0.11%
│                   │   │   │   ├── lv_obj_construct                                               34   0.03%
│                   │   │   │   ├── lv_obj_is_editable                                             20   0.02%
│                   │   │   │   └── lv_obj_is_group_def                                            20   0.02%
│                   │   │   ├── lv_obj_draw.c                                                    1240   1.17%
│                   │   │   │   ├── _lv_obj_get_ext_draw_size                                      10   0.01%
│                   │   │   │   ├── lv_obj_calculate_ext_draw_size                                226   0.21%
│                   │   │   │   ├── lv_obj_draw_dsc_init                                           18   0.02%
│                   │   │   │   ├── lv_obj_init_draw_label_dsc                                    162   0.15%
│                   │   │   │   ├── lv_obj_init_draw_rect_dsc                                     734   0.69%
│                   │   │   │   └── lv_obj_refresh_ext_draw_size                                   90   0.08%
│                   │   │   ├── lv_obj_pos.c                                                     3628   3.41%
│                   │   │   │   ├── layout_update_core                                            124   0.12%
│                   │   │   │   ├── lv_clamp_width                                                102   0.10%
│                   │   │   │   ├── lv_obj_align                                                   28   0.03%
│                   │   │   │   ├── lv_obj_area_is_visible                                        204   0.19%
│                   │   │   │   ├── lv_obj_get_content_coords                                      96   0.09%
│                   │   │   │   ├── lv_obj_get_content_height                                      44   0.04%
│                   │   │   │   ├── lv_obj_get_content_width                                       44   0.04%
│                   │   │   │   ├── lv_obj_get_coords                                              26   0.02%
│                   │   │   │   ├── lv_obj_get_height                                              12   0.01%
│                   │   │   │   ├── lv_obj_get_self_height                                         34   0.03%
│                   │   │   │   ├── lv_obj_get_self_width                                          34   0.03%
│                   │   │   │   ├── lv_obj_get_width                                               12   0.01%
│                   │   │   │   ├── lv_obj_invalidate                                              90   0.08%
│                   │   │   │   ├── lv_obj_invalidate_area                                         52   0.05%
│                   │   │   │   ├── lv_obj_is_layout_positioned                                    52   0.05%
│                   │   │   │   ├── lv_obj_mark_layout_as_dirty                                    48   0.05%
│                   │   │   │   ├── lv_obj_move_children_by                                       108   0.10%
│                   │   │   │   ├── lv_obj_move_to                                                304   0.29%
│                   │   │   │   ├── lv_obj_refr_pos                                               604   0.57%
│                   │   │   │   ├── lv_obj_refr_size                                             1384   1.30%
│                   │   │   │   ├── lv_obj_refresh_self_size                                       56   0.05%
│                   │   │   │   ├── lv_obj_set_pos                                                 22   0.02%
│                   │   │   │   ├── lv_obj_set_x                                                   48   0.05%
│                   │   │   │   ├── lv_obj_set_y                                                   48   0.05%
│                   │   │   │   └── lv_obj_update_layout                                           52   0.05%
│                   │   │   ├── lv_obj_scroll.c                                                  4280   4.02%
│                   │   │   │   ├── lv_obj_get_scroll_bottom                                      168   0.16%
│                   │   │   │   ├── lv_obj_get_scroll_dir                                          16   0.02%
│                   │   │   │   ├── lv_obj_get_scroll_left                                        216   0.20%
│                   │   │   │   ├── lv_obj_get_scroll_right                                       192   0.18%
│                   │   │   │   ├── lv_obj_get_scroll_snap_x                                       12   0.01%
│                   │   │   │   ├── lv_obj_get_scroll_snap_y                                       12   0.01%
│                   │   │   │   ├── lv_obj_get_scroll_x                                            12   0.01%
│                   │   │   │   ├── lv_obj_get_scroll_y                                            12   0.01%
│                   │   │   │   ├── lv_obj_get_scrollbar_area                                    1848   1.74%
│                   │   │   │   ├── lv_obj_get_scrollbar_mode                                      16   0.02%
│                   │   │   │   ├── lv_obj_readjust_scroll                                        148   0.14%
│                   │   │   │   ├── lv_obj_scroll_by                                              284   0.27%
│                   │   │   │   ├── lv_obj_scroll_by_bounded                                      200   0.19%
│                   │   │   │   ├── lv_obj_scroll_to                                               28   0.03%
│                   │   │   │   ├── lv_obj_scroll_to_view_recursive                                60   0.06%
│                   │   │   │   ├── lv_obj_scroll_to_x                                             44   0.04%
│                   │   │   │   ├── lv_obj_scroll_to_y                                             44   0.04%
│                   │   │   │   ├── lv_obj_scrollbar_invalidate                                    64   0.06%
│                   │   │   │   ├── lv_obj_set_scrollbar_mode                                      40   0.04%
│                   │   │   │   ├── scroll_anim_ready_cb                                           10   0.01%
│                   │   │   │   ├── scroll_area_into_view                                         736   0.69%
│                   │   │   │   ├── scroll_by_raw                                                  70   0.07%
│                   │   │   │   ├── scroll_x_anim                                                  24   0.02%
│                   │   │   │   └── scroll_y_anim                                                  24   0.02%
│                   │   │   ├── lv_obj_style.c                                                   3015   2.83%
│                   │   │   │   ├── _lv_obj_style_create_transition                               316   0.30%
│                   │   │   │   ├── _lv_obj_style_init                                             12   0.01%
│                   │   │   │   ├── _lv_obj_style_state_compare                                   584   0.55%
│                   │   │   │   ├── get_trans_style                                               154   0.14%
│                   │   │   │   ├── lv_obj_calculate_style_text_align                              38   0.04%
│                   │   │   │   ├── lv_obj_enable_style_refresh                                    12   0.01%
│                   │   │   │   ├── lv_obj_get_local_style_prop                                    54   0.05%
│                   │   │   │   ├── lv_obj_get_style_prop                                         390   0.37%
│                   │   │   │   ├── lv_obj_refresh_style                                          196   0.18%
│                   │   │   │   ├── lv_obj_remove_style                                           258   0.24%
│                   │   │   │   ├── lv_obj_set_local_style_prop                                   216   0.20%
│                   │   │   │   ├── lv_obj_style_get_selector_part                                  6   0.01%
│                   │   │   │   ├── lv_obj_style_get_selector_state                                 4   0.00%
│                   │   │   │   ├── refresh_children_style                                         58   0.05%
│                   │   │   │   ├── style_refr                                                      1   0.00%
│                   │   │   │   ├── trans_anim_cb                                                 312   0.29%
│                   │   │   │   ├── trans_anim_ready_cb                                           168   0.16%
│                   │   │   │   ├── trans_anim_start_cb                                            64   0.06%
│                   │   │   │   └── trans_del.isra.0                                              172   0.16%
│                   │   │   ├── lv_obj_style_gen.c                                                 36   0.03%
│                   │   │   │   ├── lv_obj_set_style_align                                         12   0.01%
│                   │   │   │   ├── lv_obj_set_style_x                                             12   0.01%
│                   │   │   │   └── lv_obj_set_style_y                                             12   0.01%
│                   │   │   ├── lv_obj_style_gen.h                                                198   0.19%
│                   │   │   │   ├── lv_obj_get_style_base_dir                                      14   0.01%
│                   │   │   │   ├── lv_obj_get_style_base_dir.constprop.0                          16   0.02%
│                   │   │   │   ├── lv_obj_get_style_blend_mode                                    12   0.01%
│                   │   │   │   ├── lv_obj_get_style_border_width.constprop.0                      16   0.02%
│                   │   │   │   ├── lv_obj_get_style_opa                                           14   0.01%
│                   │   │   │   ├── lv_obj_get_style_pad_bottom.constprop.0                        16   0.02%
│                   │   │   │   ├── lv_obj_get_style_pad_left.constprop.0                          16   0.02%
│                   │   │   │   ├── lv_obj_get_style_pad_right.constprop.0                         16   0.02%
│                   │   │   │   ├── lv_obj_get_style_pad_top.constprop.0                           16   0.02%
│                   │   │   │   ├── lv_obj_get_style_text_font.constprop.0                         14   0.01%
│                   │   │   │   ├── lv_obj_get_style_text_letter_space.constprop.0                 16   0.02%
│                   │   │   │   ├── lv_obj_get_style_text_line_space.constprop.0                   16   0.02%
│                   │   │   │   └── lv_obj_get_style_width.constprop.0                             16   0.02%
│                   │   │   ├── lv_obj_tree.c                                                     126   0.12%
│                   │   │   │   ├── lv_obj_get_child_cnt                                            8   0.01%
│                   │   │   │   ├── lv_obj_get_disp                                               100   0.09%
│                   │   │   │   ├── lv_obj_get_parent                                               6   0.01%
│                   │   │   │   └── lv_obj_get_screen                                              12   0.01%
│                   │   │   ├── lv_refr.c                                                        3266   3.07%
│                   │   │   │   ├── _lv_disp_refr_timer                                          1068   1.00%
│                   │   │   │   ├── _lv_inv_area                                                  230   0.22%
│                   │   │   │   ├── _lv_refr_get_disp_refreshing                                   12   0.01%
│                   │   │   │   ├── _lv_refr_init                                                   2   0.00%
│                   │   │   │   ├── call_flush_cb                                                  48   0.05%
│                   │   │   │   ├── draw_buf_flush                                               1064   1.00%
│                   │   │   │   ├── lv_refr_area_part                                             384   0.36%
│                   │   │   │   ├── lv_refr_get_top_obj                                           108   0.10%
│                   │   │   │   ├── lv_refr_obj                                                   210   0.20%
│                   │   │   │   └── lv_refr_obj_and_children                                      140   0.13%
│                   │   │   └── lv_theme.c                                                         92   0.09%
│                   │   │       ├── apply_theme                                                    30   0.03%
│                   │   │       ├── lv_theme_apply                                                 40   0.04%
│                   │   │       └── lv_theme_get_from_obj                                          22   0.02%
│                   │   ├── draw                                                                29374  27.60%
│                   │   │   ├── lv_draw.c                                                           2   0.00%
│                   │   │   │   └── lv_draw_init                                                    2   0.00%
│                   │   │   ├── lv_draw_img.c                                                     870   0.82%
│                   │   │   │   ├── lv_draw_img                                                   656   0.62%
│                   │   │   │   ├── lv_draw_img_decoded                                            22   0.02%
│                   │   │   │   ├── lv_draw_img_dsc_init                                           36   0.03%
│                   │   │   │   ├── lv_img_cf_get_px_size                                          20   0.02%
│                   │   │   │   ├── lv_img_cf_has_alpha                                            28   0.03%
│                   │   │   │   ├── lv_img_cf_is_chroma_keyed                                      16   0.02%
│                   │   │   │   ├── lv_img_src_get_type                                            32   0.03%
│                   │   │   │   └── show_error                                                     60   0.06%
│                   │   │   ├── lv_draw_label.c                                                  1534   1.44%
│                   │   │   │   ├── hex_char_to_num                                                36   0.03%
│                   │   │   │   ├── lv_draw_label                                                1440   1.35%
│                   │   │   │   ├── lv_draw_label_dsc_init                                         48   0.05%
│                   │   │   │   └── lv_draw_letter                                                 10   0.01%
│                   │   │   ├── lv_draw_line.c                                                     52   0.05%
│                   │   │   │   ├── lv_draw_line                                                   26   0.02%
│                   │   │   │   └── lv_draw_line_dsc_init                                          26   0.02%
│                   │   │   ├── lv_draw_mask.c                                                   4034   3.79%
│                   │   │   │   ├── _lv_draw_mask_cleanup                                          40   0.04%
│                   │   │   │   ├── lv_draw_mask_add                                               76   0.07%
│                   │   │   │   ├── lv_draw_mask_angle                                            584   0.55%
│                   │   │   │   ├── lv_draw_mask_angle_init                                       140   0.13%
│                   │   │   │   ├── lv_draw_mask_apply                                             68   0.06%
│                   │   │   │   ├── lv_draw_mask_free_param                                        52   0.05%
│                   │   │   │   ├── lv_draw_mask_is_any                                            84   0.08%
│                   │   │   │   ├── lv_draw_mask_line                                             878   0.83%
│                   │   │   │   ├── lv_draw_mask_line_angle_init                                   76   0.07%
│                   │   │   │   ├── lv_draw_mask_line_points_init                                 280   0.26%
│                   │   │   │   ├── lv_draw_mask_radius                                           562   0.53%
│                   │   │   │   ├── lv_draw_mask_radius_init                                     1082   1.02%
│                   │   │   │   ├── lv_draw_mask_remove_custom                                     44   0.04%
│                   │   │   │   ├── lv_draw_mask_remove_id                                         40   0.04%
│                   │   │   │   └── mask_mix                                                       28   0.03%
│                   │   │   ├── lv_draw_rect.c                                                    116   0.11%
│                   │   │   │   ├── lv_draw_rect                                                   40   0.04%
│                   │   │   │   └── lv_draw_rect_dsc_init                                          76   0.07%
│                   │   │   ├── lv_img_buf.c                                                     2182   2.05%
│                   │   │   │   ├── _lv_img_buf_get_transformed_area                              444   0.42%
│                   │   │   │   ├── _lv_img_buf_transform                                         314   0.30%
│                   │   │   │   ├── _lv_img_buf_transform_anti_alias                              698   0.66%
│                   │   │   │   ├── _lv_img_buf_transform_init                                    250   0.23%
│                   │   │   │   ├── lv_img_buf_get_px_alpha                                       236   0.22%
│                   │   │   │   └── lv_img_buf_get_px_color                                       240   0.23%
│                   │   │   ├── lv_img_cache.c                                                    124   0.12%
│                   │   │   │   └── _lv_img_cache_open                                            124   0.12%
│                   │   │   ├── lv_img_decoder.c                                                 2134   2.01%
│                   │   │   │   ├── _lv_img_decoder_init                                           88   0.08%
│                   │   │   │   ├── lv_img_decoder_built_in_close                                  48   0.05%
│                   │   │   │   ├── lv_img_decoder_built_in_info                                  224   0.21%
│                   │   │   │   ├── lv_img_decoder_built_in_open                                  480   0.45%
│                   │   │   │   ├── lv_img_decoder_built_in_read_line                             880   0.83%
│                   │   │   │   ├── lv_img_decoder_close                                           34   0.03%
│                   │   │   │   ├── lv_img_decoder_create                                          28   0.03%
│                   │   │   │   ├── lv_img_decoder_get_info                                        96   0.09%
│                   │   │   │   ├── lv_img_decoder_open                                           224   0.21%
│                   │   │   │   └── lv_img_decoder_read_line                                       32   0.03%
│                   │   │   └── sw                                                              18326  17.22%
│                   │   │       ├── lv_draw_sw.c                                                   90   0.08%
│                   │   │       │   ├── lv_draw_sw_init_ctx                                        88   0.08%
│                   │   │       │   └── lv_draw_sw_wait_for_finish                                  2   0.00%
│                   │   │       ├── lv_draw_sw_arc.c                                             2482   2.33%
│                   │   │       │   ├── get_rounded_area                                          136   0.13%
│                   │   │       │   └── lv_draw_sw_arc                                           2346   2.20%
│                   │   │       ├── lv_draw_sw_blend.c                                           2816   2.65%
│                   │   │       │   ├── color_blend_true_color_additive                           114   0.11%
│                   │   │       │   ├── color_blend_true_color_multiply                           102   0.10%
│                   │   │       │   ├── color_blend_true_color_subtractive                        108   0.10%
│                   │   │       │   ├── lv_draw_sw_blend                                           44   0.04%
│                   │   │       │   └── lv_draw_sw_blend_basic                                   2448   2.30%
│                   │   │       ├── lv_draw_sw_gradient.c                                         930   0.87%
│                   │   │       │   ├── find_item                                                  12   0.01%
│                   │   │       │   ├── find_oldest_item_life                                      18   0.02%
│                   │   │       │   ├── iterate_cache                                             116   0.11%
│                   │   │       │   ├── kill_oldest_item                                          136   0.13%
│                   │   │       │   ├── lv_gradient_calculate                                     186   0.17%
│                   │   │       │   ├── lv_gradient_cleanup                                        14   0.01%
│                   │   │       │   ├── lv_gradient_get                                           396   0.37%
│                   │   │       │   └── lv_gradient_set_cache_size                                 52   0.05%
│                   │   │       ├── lv_draw_sw_img.c                                             1254   1.18%
│                   │   │       │   └── lv_draw_sw_img_decoded                                   1254   1.18%
│                   │   │       ├── lv_draw_sw_letter.c                                          1296   1.22%
│                   │   │       │   ├── _lv_bpp1_opa_table                                          2   0.00%
│                   │   │       │   ├── _lv_bpp2_opa_table                                          4   0.00%
│                   │   │       │   ├── _lv_bpp4_opa_table                                         16   0.02%
│                   │   │       │   ├── _lv_bpp8_opa_table                                        256   0.24%
│                   │   │       │   └── lv_draw_sw_letter                                        1018   0.96%
│                   │   │       ├── lv_draw_sw_line.c                                            1852   1.74%
│                   │   │       │   └── lv_draw_sw_line                                          1852   1.74%
│                   │   │       ├── lv_draw_sw_polygon.c                                          636   0.60%
│                   │   │       │   └── lv_draw_sw_polygon                                        636   0.60%
│                   │   │       └── lv_draw_sw_rect.c                                            6970   6.55%
│                   │   │           ├── draw_bg                                                   946   0.89%
│                   │   │           ├── draw_bg_img                                               508   0.48%
│                   │   │           ├── draw_border_generic                                      1410   1.33%
│                   │   │           ├── lv_draw_sw_bg                                              26   0.02%
│                   │   │           ├── lv_draw_sw_rect                                          3708   3.48%
│                   │   │           └── shadow_blur_corner                                        372   0.35%
│                   │   ├── extra                                                                   2   0.00%
│                   │   │   └── lv_extra.c                                                          2   0.00%
│                   │   │       └── lv_extra_init                                                   2   0.00%
│                   │   ├── font                                                                 2052   1.93%
│                   │   │   ├── lv_font.c                                                          76   0.07%
│                   │   │   │   ├── lv_font_get_glyph_bitmap                                        4   0.00%
│                   │   │   │   ├── lv_font_get_glyph_dsc                                          48   0.05%
│                   │   │   │   └── lv_font_get_glyph_width                                        24   0.02%
│                   │   │   ├── lv_font_fmt_txt.c                                                 670   0.63%
│                   │   │   │   ├── _lv_font_clean_up_fmt_txt                                       2   0.00%
│                   │   │   │   ├── get_glyph_dsc_id                                              216   0.20%
│                   │   │   │   ├── kern_pair_16_compare                                           18   0.02%
│                   │   │   │   ├── kern_pair_8_compare                                            18   0.02%
│                   │   │   │   ├── lv_font_get_bitmap_fmt_txt                                     76   0.07%
│                   │   │   │   ├── lv_font_get_glyph_dsc_fmt_txt                                 332   0.31%
│                   │   │   │   └── unicode_list_compare                                            8   0.01%
│                   │   │   └── lv_font_unscii_8.c                                               1306   1.23%
│                   │   │       ├── cmaps                                                          20   0.02%
│                   │   │       ├── font_dsc                                                       24   0.02%
│                   │   │       ├── glyph_bitmap                                                  486   0.46%
│                   │   │       └── glyph_dsc                                                     776   0.73%
│                   │   ├── hal                                                                   580   0.55%
│                   │   │   ├── lv_hal_disp.c                                                     504   0.47%
│                   │   │   │   ├── lv_disp_draw_buf_init                                          28   0.03%
│                   │   │   │   ├── lv_disp_drv_init                                               72   0.07%
│                   │   │   │   ├── lv_disp_drv_register                                          284   0.27%
│                   │   │   │   ├── lv_disp_flush_ready                                            10   0.01%
│                   │   │   │   ├── lv_disp_get_default                                            12   0.01%
│                   │   │   │   ├── lv_disp_get_dpi                                                28   0.03%
│                   │   │   │   ├── lv_disp_get_draw_buf                                            6   0.01%
│                   │   │   │   ├── lv_disp_get_hor_res                                            32   0.03%
│                   │   │   │   └── lv_disp_get_ver_res                                            32   0.03%
│                   │   │   ├── lv_hal_indev.c                                                     20   0.02%
│                   │   │   │   └── lv_indev_get_next                                              20   0.02%
│                   │   │   └── lv_hal_tick.c                                                      56   0.05%
│                   │   │       ├── lv_tick_elaps                                                  30   0.03%
│                   │   │       └── lv_tick_get                                                    26   0.02%
│                   │   ├── misc                                                                 7152   6.72%
│                   │   │   ├── lv_anim.c                                                         896   0.84%
│                   │   │   │   ├── _lv_anim_core_init                                             52   0.05%
│                   │   │   │   ├── anim_mark_list_change                                          52   0.05%
│                   │   │   │   ├── anim_timer                                                    356   0.33%
│                   │   │   │   ├── lv_anim_del                                                    88   0.08%
│                   │   │   │   ├── lv_anim_get                                                    48   0.05%
│                   │   │   │   ├── lv_anim_init                                                   52   0.05%
│                   │   │   │   ├── lv_anim_path_ease_out                                          54   0.05%
│                   │   │   │   ├── lv_anim_path_linear                                            38   0.04%
│                   │   │   │   ├── lv_anim_speed_to_time                                          28   0.03%
│                   │   │   │   └── lv_anim_start                                                 128   0.12%
│                   │   │   ├── lv_area.c                                                         982   0.92%
│                   │   │   │   ├── _lv_area_intersect                                             86   0.08%
│                   │   │   │   ├── _lv_area_is_in                                                146   0.14%
│                   │   │   │   ├── _lv_area_is_on                                                 58   0.05%
│                   │   │   │   ├── _lv_area_is_out                                               152   0.14%
│                   │   │   │   ├── _lv_area_is_point_on                                          304   0.29%
│                   │   │   │   ├── _lv_area_join                                                  68   0.06%
│                   │   │   │   ├── lv_area_get_size                                               28   0.03%
│                   │   │   │   ├── lv_area_increase                                               30   0.03%
│                   │   │   │   ├── lv_area_move                                                   34   0.03%
│                   │   │   │   ├── lv_area_set                                                    14   0.01%
│                   │   │   │   ├── lv_area_set_height                                             10   0.01%
│                   │   │   │   └── lv_point_within_circle.isra.0                                  52   0.05%
│                   │   │   ├── lv_color.c                                                        126   0.12%
│                   │   │   │   ├── lv_color_fill                                                  66   0.06%
│                   │   │   │   └── lv_palette_main                                                60   0.06%
│                   │   │   ├── lv_color.h                                                        216   0.20%
│                   │   │   │   ├── lv_color_mix                                                   96   0.09%
│                   │   │   │   └── lv_color_to32                                                 120   0.11%
│                   │   │   ├── lv_fs.c                                                           848   0.80%
│                   │   │   │   ├── _lv_fs_init                                                    12   0.01%
│                   │   │   │   ├── lv_fs_close                                                    62   0.06%
│                   │   │   │   ├── lv_fs_get_drv                                                  44   0.04%
│                   │   │   │   ├── lv_fs_get_ext                                                  44   0.04%
│                   │   │   │   ├── lv_fs_open                                                    200   0.19%
│                   │   │   │   ├── lv_fs_read                                                    356   0.33%
│                   │   │   │   └── lv_fs_seek                                                    130   0.12%
│                   │   │   ├── lv_ll.c                                                           276   0.26%
│                   │   │   │   ├── _lv_ll_get_head                                                 6   0.01%
│                   │   │   │   ├── _lv_ll_get_next                                                 8   0.01%
│                   │   │   │   ├── _lv_ll_get_prev                                                 6   0.01%
│                   │   │   │   ├── _lv_ll_get_tail                                                 6   0.01%
│                   │   │   │   ├── _lv_ll_init                                                    16   0.02%
│                   │   │   │   ├── _lv_ll_ins_head                                                54   0.05%
│                   │   │   │   ├── _lv_ll_ins_tail                                                56   0.05%
│                   │   │   │   ├── _lv_ll_is_empty                                                24   0.02%
│                   │   │   │   ├── _lv_ll_remove                                                  82   0.08%
│                   │   │   │   ├── node_set_next                                                  10   0.01%
│                   │   │   │   └── node_set_prev                                                   8   0.01%
│                   │   │   ├── lv_log.c                                                          196   0.18%
│                   │   │   │   ├── _lv_log_add                                                   184   0.17%
│                   │   │   │   └── lv_log_register_print_cb                                       12   0.01%
│                   │   │   ├── lv_math.c                                                         368   0.35%
│                   │   │   │   ├── lv_bezier3                                                     64   0.06%
│                   │   │   │   ├── lv_map                                                         34   0.03%
│                   │   │   │   ├── lv_trigo_sin                                                   88   0.08%
│                   │   │   │   └── sin0_90_table                                                 182   0.17%
│                   │   │   ├── lv_mem.c                                                          602   0.57%
│                   │   │   │   ├── lv_mem_alloc                                                  112   0.11%
│                   │   │   │   ├── lv_mem_buf_free_all                                            52   0.05%
│                   │   │   │   ├── lv_mem_buf_get                                                256   0.24%
│                   │   │   │   ├── lv_mem_buf_release                                             72   0.07%
│                   │   │   │   ├── lv_mem_free                                                    20   0.02%
│                   │   │   │   ├── lv_mem_init                                                     2   0.00%
│                   │   │   │   ├── lv_mem_monitor                                                  8   0.01%
│                   │   │   │   ├── lv_mem_realloc                                                 76   0.07%
│                   │   │   │   └── zero_mem                                                        4   0.00%
│                   │   │   ├── lv_mem.h                                                           20   0.02%
│                   │   │   │   ├── lv_memcpy_small.isra.0                                          4   0.00%
│                   │   │   │   ├── lv_memset_00                                                    8   0.01%
│                   │   │   │   └── lv_memset_ff                                                    8   0.01%
│                   │   │   ├── lv_style.c                                                        892   0.84%
│                   │   │   │   ├── _lv_style_get_prop_group                                       16   0.02%
│                   │   │   │   ├── lv_style_get_prop                                              94   0.09%
│                   │   │   │   ├── lv_style_init                                                   8   0.01%
│                   │   │   │   ├── lv_style_is_empty                                              10   0.01%
│                   │   │   │   ├── lv_style_prop_get_default                                     220   0.21%
│                   │   │   │   ├── lv_style_remove_prop                                          228   0.21%
│                   │   │   │   ├── lv_style_reset                                                 72   0.07%
│                   │   │   │   └── lv_style_set_prop                                             244   0.23%
│                   │   │   ├── lv_timer.c                                                        614   0.58%
│                   │   │   │   ├── _lv_timer_core_init                                            28   0.03%
│                   │   │   │   ├── lv_timer_create                                                64   0.06%
│                   │   │   │   ├── lv_timer_del                                                   36   0.03%
│                   │   │   │   ├── lv_timer_handler                                              448   0.42%
│                   │   │   │   ├── lv_timer_pause                                                 10   0.01%
│                   │   │   │   ├── lv_timer_ready                                                 18   0.02%
│                   │   │   │   └── lv_timer_resume                                                10   0.01%
│                   │   │   ├── lv_txt.c                                                         1052   0.99%
│                   │   │   │   ├── _lv_txt_encoded_letter_next_2                                  52   0.05%
│                   │   │   │   ├── _lv_txt_get_next_line                                         544   0.51%
│                   │   │   │   ├── _lv_txt_is_cmd                                                 54   0.05%
│                   │   │   │   ├── lv_txt_get_size                                               224   0.21%
│                   │   │   │   ├── lv_txt_get_width                                              132   0.12%
│                   │   │   │   ├── lv_txt_iso8859_1_get_byte_id                                    4   0.00%
│                   │   │   │   ├── lv_txt_iso8859_1_get_length                                     4   0.00%
│                   │   │   │   ├── lv_txt_iso8859_1_next                                          16   0.02%
│                   │   │   │   ├── lv_txt_iso8859_1_prev                                          18   0.02%
│                   │   │   │   └── lv_txt_iso8859_1_size                                           4   0.00%
│                   │   │   └── lv_utils.c                                                         64   0.06%
│                   │   │       └── _lv_utils_bsearch                                              64   0.06%
│                   │   └── widgets                                                              3002   2.82%
│                   │       └── lv_label.c                                                       3002   2.82%
│                   │           ├── lv_label_constructor                                           76   0.07%
│                   │           ├── lv_label_create                                                24   0.02%
│                   │           ├── lv_label_destructor                                            30   0.03%
│                   │           ├── lv_label_dot_tmp_free                                          38   0.04%
│                   │           ├── lv_label_event                                                822   0.77%
│                   │           ├── lv_label_get_letter_on                                        500   0.47%
│                   │           ├── lv_label_refr_text                                           1188   1.12%
│                   │           ├── lv_label_revert_dots                                           96   0.09%
│                   │           ├── lv_label_set_long_mode                                         96   0.09%
│                   │           ├── lv_label_set_text                                             116   0.11%
│                   │           ├── set_ofs_x_anim                                                  8   0.01%
│                   │           └── set_ofs_y_anim                                                  8   0.01%
│                   └── zephyr                                                                   1456   1.37%
│                       ├── lvgl.c                                                                408   0.38%
│                       │   ├── __init_sys_init_lvgl_init0                                          8   0.01%
│                       │   ├── log_const_lvgl                                                      8   0.01%
│                       │   ├── lvgl_init                                                         304   0.29%
│                       │   └── lvgl_log                                                           88   0.08%
│                       ├── lvgl_display.c                                                        148   0.14%
│                       │   └── set_lvgl_rendering_cb                                             148   0.14%
│                       ├── lvgl_display_16bit.c                                                   72   0.07%
│                       │   └── lvgl_flush_cb_16bit                                                72   0.07%
│                       ├── lvgl_display_24bit.c                                                  168   0.16%
│                       │   ├── lvgl_flush_cb_24bit                                                74   0.07%
│                       │   └── lvgl_set_px_cb_24bit                                               94   0.09%
│                       ├── lvgl_display_32bit.c                                                  152   0.14%
│                       │   ├── lvgl_flush_cb_32bit                                                72   0.07%
│                       │   └── lvgl_set_px_cb_32bit                                               80   0.08%
│                       ├── lvgl_display_mono.c                                                   348   0.33%
│                       │   ├── lvgl_flush_cb_mono                                                122   0.11%
│                       │   ├── lvgl_rounder_cb_mono                                               72   0.07%
│                       │   └── lvgl_set_px_cb_mono                                               154   0.14%
│                       └── lvgl_mem.c                                                            160   0.15%
│                           ├── __init_sys_init_lvgl_heap_init0                                     8   0.01%
│                           ├── lvgl_free                                                          40   0.04%
│                           ├── lvgl_heap_init                                                     28   0.03%
│                           ├── lvgl_malloc                                                        40   0.04%
│                           └── lvgl_realloc                                                       44   0.04%

Without minimal:

west build -b pinetime_devkit0 samples/subsys/display/lvgl/ -p
...
Memory region         Used Size  Region Size  %age Used
           FLASH:      196532 B       512 KB     37.49%
            SRAM:       48280 B        64 KB     73.67%
        IDT_LIST:          0 GB         2 KB      0.00%
ck-telecom commented 2 years ago

$ ls build/modules/lvgl/CMakeFiles/..moduleslibguilvgl_zephyr.dir/D/personal/pinetime/modules/lib/gui/lvgl/src/widgets/ -lh total 64K -rw-r--r-- 1 GW00221994 1049089 2.0K 3月 8 17:30 lv_arc.c.obj -rw-r--r-- 1 GW00221994 1049089 2.0K 3月 8 17:30 lv_bar.c.obj -rw-r--r-- 1 GW00221994 1049089 2.0K 3月 8 17:29 lv_btn.c.obj -rw-r--r-- 1 GW00221994 1049089 2.0K 3月 8 17:30 lv_btnmatrix.c.obj -rw-r--r-- 1 GW00221994 1049089 2.1K 3月 8 17:29 lv_canvas.c.obj -rw-r--r-- 1 GW00221994 1049089 2.1K 3月 8 17:30 lv_checkbox.c.obj -rw-r--r-- 1 GW00221994 1049089 2.1K 3月 8 17:30 lv_dropdown.c.obj -rw-r--r-- 1 GW00221994 1049089 2.0K 3月 8 17:30 lv_img.c.obj -rw-r--r-- 1 GW00221994 1049089 2.0K 3月 8 17:29 lv_label.c.obj -rw-r--r-- 1 GW00221994 1049089 2.0K 3月 8 17:30 lv_line.c.obj -rw-r--r-- 1 GW00221994 1049089 1.7K 3月 8 17:30 lv_objx_templ.c.obj -rw-r--r-- 1 GW00221994 1049089 2.0K 3月 8 17:29 lv_roller.c.obj -rw-r--r-- 1 GW00221994 1049089 2.0K 3月 8 17:30 lv_slider.c.obj -rw-r--r-- 1 GW00221994 1049089 2.0K 3月 8 17:29 lv_switch.c.obj -rw-r--r-- 1 GW00221994 1049089 2.0K 3月 8 17:29 lv_table.c.obj -rw-r--r-- 1 GW00221994 1049089 2.0K 3月 8 17:30 lv_textarea.c.obj

It seems that all source file complied with all feature enabled, no MACRO definition in 'modules/lib/gui/lvgl/zephyr/lv_conf.h' like bellow: 1444 #ifndef LV_USE_SLIDER 1445 #ifdef _LV_KCONFIG_PRESENT 1446 #ifdef CONFIG_LV_USE_SLIDER 1447 #define LV_USE_SLIDER CONFIG_LV_USE_SLIDER 1448 #else 1449 #define LV_USE_SLIDER 0 1450 #endif 1451 #else 1452 #define LV_USE_SLIDER 1 /Requires: lv_bar/ 1453 #endif 1454 #endif

gmarull commented 2 years ago

@ck-telecom can you provide steps to reproduce this? I can't see the problems you describe with the commands I posted.

mbolivar-nordic commented 2 years ago

cc @brgl

ck-telecom commented 2 years ago

It seems that all source file built-in, linked with only referenced symbols, this has no impact on firmware size, that should be OK

but I wounder why so many SRAM needed, I can't reduced even make some changes with LV_MEM, maybe releated to all source file is fully builtin.

gmarull commented 2 years ago

I'm gonna close this one as it can't be reproduced using the upstream sample (only enabled widgets are built when CONFIG_LV_CONF_MINIMAL=y as detailed in https://github.com/zephyrproject-rtos/zephyr/issues/43511#issuecomment-1061573734). Please re-open with steps to reproduce in case you find a combination that triggers the problem.