Closed ck-telecom closed 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%
$ 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
@ck-telecom can you provide steps to reproduce this? I can't see the problems you describe with the commands I posted.
cc @brgl
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.
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.
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:
What target platform are you using? the component could be configured, but the actual build system is not correct
What have you tried to diagnose or workaround this issue? None
To Reproduce Steps to reproduce the behavior:
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, ...