# Static Call Graph for image lvgl\lvgl.axf

#<CALLGRAPH># ARM Linker, 5050106: Last Updated: Fri Dec 13 02:30:53 2024

### Maximum Stack Usage = 912 bytes + Unknown(Functions without stacksize, Cycles, Untraceable Function Pointers)

### Call chain for Maximum Stack Depth:

_lv_disp_refr_timer ⇒ refr_invalid_areas ⇒ refr_area ⇒ refr_area_part ⇒ lv_draw_img ⇒ decode_and_draw ⇒ show_error ⇒ lv_draw_label ⇒ lv_txt_get_size ⇒ _lv_txt_get_next_line ⇒ lv_txt_get_next_word ⇒ lv_font_get_glyph_width ⇒ lv_font_get_glyph_dsc

### Functions with no stack information

- __user_initial_stackheap

### Mutually Recursive functions

- ADC1_COMP_IRQHandler ⇒ ADC1_COMP_IRQHandler
- HardFault_Handler ⇒ HardFault_Handler
- NMI_Handler ⇒ NMI_Handler
- event_send_core ⇒ event_send_core
- _lv_area_is_point_on ⇒ _lv_area_is_point_on
- lv_obj_transform_point ⇒ lv_obj_transform_point
- lv_obj_move_children_by ⇒ lv_obj_move_children_by
- lv_obj_scroll_by_bounded ⇒ lv_obj_update_layout
- layout_update_core ⇒ layout_update_core
- refresh_children_style ⇒ refresh_children_style
- _vsnprintf ⇒ _vsnprintf
- apply_theme ⇒ apply_theme
- lv_obj_is_group_def ⇒ lv_obj_is_group_def
- lv_obj_construct ⇒ lv_obj_construct
- lv_obj_redraw ⇒ refr_obj
- lv_refr_get_top_obj ⇒ lv_refr_get_top_obj
- lv_obj_is_editable ⇒ lv_obj_is_editable

  ### Function Pointers

  - ADC1_COMP_IRQHandler from startup_stm32f072xb.o(.text) referenced from startup_stm32f072xb.o(RESET)
  - CEC_CAN_IRQHandler from startup_stm32f072xb.o(.text) referenced from startup_stm32f072xb.o(RESET)
  - DMA1_Channel1_IRQHandler from startup_stm32f072xb.o(.text) referenced from startup_stm32f072xb.o(RESET)
  - DMA1_Channel2_3_IRQHandler from startup_stm32f072xb.o(.text) referenced from startup_stm32f072xb.o(RESET)
  - DMA1_Channel4_5_6_7_IRQHandler from stm32f0xx_it.o(i.DMA1_Channel4_5_6_7_IRQHandler) referenced from startup_stm32f072xb.o(RESET)
  - EXTI0_1_IRQHandler from startup_stm32f072xb.o(.text) referenced from startup_stm32f072xb.o(RESET)
  - EXTI2_3_IRQHandler from startup_stm32f072xb.o(.text) referenced from startup_stm32f072xb.o(RESET)
  - EXTI4_15_IRQHandler from startup_stm32f072xb.o(.text) referenced from startup_stm32f072xb.o(RESET)
  - FLASH_IRQHandler from startup_stm32f072xb.o(.text) referenced from startup_stm32f072xb.o(RESET)
  - HardFault_Handler from stm32f0xx_it.o(i.HardFault_Handler) referenced from startup_stm32f072xb.o(RESET)
  - I2C1_IRQHandler from startup_stm32f072xb.o(.text) referenced from startup_stm32f072xb.o(RESET)
  - I2C2_IRQHandler from startup_stm32f072xb.o(.text) referenced from startup_stm32f072xb.o(RESET)
  - ILI9341_flush from lv_driver.o(i.ILI9341_flush) referenced from startup.o(i.main)
  - NMI_Handler from stm32f0xx_it.o(i.NMI_Handler) referenced from startup_stm32f072xb.o(RESET)
  - PVD_VDDIO2_IRQHandler from startup_stm32f072xb.o(.text) referenced from startup_stm32f072xb.o(RESET)
  - PendSV_Handler from stm32f0xx_it.o(i.PendSV_Handler) referenced from startup_stm32f072xb.o(RESET)
  - RCC_CRS_IRQHandler from startup_stm32f072xb.o(.text) referenced from startup_stm32f072xb.o(RESET)
  - RTC_IRQHandler from startup_stm32f072xb.o(.text) referenced from startup_stm32f072xb.o(RESET)
  - Reset_Handler from startup_stm32f072xb.o(.text) referenced from startup_stm32f072xb.o(RESET)
  - SPI1_IRQHandler from startup_stm32f072xb.o(.text) referenced from startup_stm32f072xb.o(RESET)
  - SPI2_IRQHandler from startup_stm32f072xb.o(.text) referenced from startup_stm32f072xb.o(RESET)
  - SVC_Handler from stm32f0xx_it.o(i.SVC_Handler) referenced from startup_stm32f072xb.o(RESET)
  - SysTick_Handler from stm32f0xx_it.o(i.SysTick_Handler) referenced from startup_stm32f072xb.o(RESET)
  - SystemInit from system_stm32f0xx.o(i.SystemInit) referenced from startup_stm32f072xb.o(.text)
  - TIM14_IRQHandler from startup_stm32f072xb.o(.text) referenced from startup_stm32f072xb.o(RESET)
  - TIM15_IRQHandler from startup_stm32f072xb.o(.text) referenced from startup_stm32f072xb.o(RESET)
  - TIM16_IRQHandler from startup_stm32f072xb.o(.text) referenced from startup_stm32f072xb.o(RESET)
  - TIM17_IRQHandler from startup_stm32f072xb.o(.text) referenced from startup_stm32f072xb.o(RESET)
  - TIM1_BRK_UP_TRG_COM_IRQHandler from startup_stm32f072xb.o(.text) referenced from startup_stm32f072xb.o(RESET)
  - TIM1_CC_IRQHandler from startup_stm32f072xb.o(.text) referenced from startup_stm32f072xb.o(RESET)
  - TIM2_IRQHandler from startup_stm32f072xb.o(.text) referenced from startup_stm32f072xb.o(RESET)
  - TIM3_IRQHandler from startup_stm32f072xb.o(.text) referenced from startup_stm32f072xb.o(RESET)
  - TIM6_DAC_IRQHandler from startup_stm32f072xb.o(.text) referenced from startup_stm32f072xb.o(RESET)
  - TIM7_IRQHandler from startup_stm32f072xb.o(.text) referenced from startup_stm32f072xb.o(RESET)
  - TSC_IRQHandler from startup_stm32f072xb.o(.text) referenced from startup_stm32f072xb.o(RESET)
  - USART1_IRQHandler from startup_stm32f072xb.o(.text) referenced from startup_stm32f072xb.o(RESET)
  - USART2_IRQHandler from startup_stm32f072xb.o(.text) referenced from startup_stm32f072xb.o(RESET)
  - USART3_4_IRQHandler from startup_stm32f072xb.o(.text) referenced from startup_stm32f072xb.o(RESET)
  - USB_IRQHandler from startup_stm32f072xb.o(.text) referenced from startup_stm32f072xb.o(RESET)
  - WWDG_IRQHandler from startup_stm32f072xb.o(.text) referenced from startup_stm32f072xb.o(RESET)
  - __main from __main.o(!!!main) referenced from startup_stm32f072xb.o(.text)
  - _lv_disp_refr_timer from lv_refr.o(i._lv_disp_refr_timer) referenced from lv_hal_disp.o(i.lv_disp_drv_register)
  - _lv_ll_get_head from lv_ll.o(i._lv_ll_get_head) referenced from lv_group.o(i.lv_group_focus_next)
  - _lv_ll_get_next from lv_ll.o(i._lv_ll_get_next) referenced from lv_group.o(i.lv_group_focus_next)
  - _lv_ll_get_prev from lv_ll.o(i._lv_ll_get_prev) referenced from lv_group.o(i.lv_group_focus_prev)
  - _lv_ll_get_tail from lv_ll.o(i._lv_ll_get_tail) referenced from lv_group.o(i.lv_group_focus_prev)
  - _out_buffer from lv_printf.o(i._out_buffer) referenced from lv_printf.o(i.lv_vsnprintf)
  - _out_null from lv_printf.o(i._out_null) referenced from lv_printf.o(i._vsnprintf)
  - anim_timer from lv_anim.o(i.anim_timer) referenced from lv_anim.o(i._lv_anim_core_init)
  - color_blend_true_color_additive from lv_draw_sw_blend.o(i.color_blend_true_color_additive) referenced from lv_draw_sw_blend.o(i.fill_blended)
  - color_blend_true_color_additive from lv_draw_sw_blend.o(i.color_blend_true_color_additive) referenced from lv_draw_sw_blend.o(i.map_blended)
  - color_blend_true_color_multiply from lv_draw_sw_blend.o(i.color_blend_true_color_multiply) referenced from lv_draw_sw_blend.o(i.fill_blended)
  - color_blend_true_color_multiply from lv_draw_sw_blend.o(i.color_blend_true_color_multiply) referenced from lv_draw_sw_blend.o(i.map_blended)
  - color_blend_true_color_subtractive from lv_draw_sw_blend.o(i.color_blend_true_color_subtractive) referenced from lv_draw_sw_blend.o(i.fill_blended)
  - color_blend_true_color_subtractive from lv_draw_sw_blend.o(i.color_blend_true_color_subtractive) referenced from lv_draw_sw_blend.o(i.map_blended)
  - find_item from lv_draw_sw_gradient.o(i.find_item) referenced from lv_draw_sw_gradient.o(i.lv_gradient_get)
  - find_oldest_item_life from lv_draw_sw_gradient.o(i.find_oldest_item_life) referenced from lv_draw_sw_gradient.o(i.allocate_item)
  - kern_pair_16_compare from lv_font_fmt_txt.o(i.kern_pair_16_compare) referenced from lv_font_fmt_txt.o(i.get_kern_value)
  - kern_pair_8_compare from lv_font_fmt_txt.o(i.kern_pair_8_compare) referenced from lv_font_fmt_txt.o(i.get_kern_value)
  - kill_oldest_item from lv_draw_sw_gradient.o(i.kill_oldest_item) referenced from lv_draw_sw_gradient.o(i.allocate_item)
  - lv_anim_path_ease_out from lv_anim.o(i.lv_anim_path_ease_out) referenced from lv_obj_scroll.o(i.lv_obj_scroll_by)
  - lv_anim_path_linear from lv_anim.o(i.lv_anim_path_linear) referenced from lv_anim.o(i.lv_anim_init)
  - lv_draw_mask_angle from lv_draw_mask.o(i.lv_draw_mask_angle) referenced from lv_draw_mask.o(i.lv_draw_mask_angle_init)
  - lv_draw_mask_line from lv_draw_mask.o(i.lv_draw_mask_line) referenced from lv_draw_mask.o(i.lv_draw_mask_line_points_init)
  - lv_draw_mask_radius from lv_draw_mask.o(i.lv_draw_mask_radius) referenced from lv_draw_mask.o(i.lv_draw_mask_radius_init)
  - lv_draw_sw_arc from lv_draw_sw_arc.o(i.lv_draw_sw_arc) referenced from lv_draw_sw.o(i.lv_draw_sw_init_ctx)
  - lv_draw_sw_bg from lv_draw_sw_rect.o(i.lv_draw_sw_bg) referenced from lv_draw_sw.o(i.lv_draw_sw_init_ctx)
  - lv_draw_sw_blend_basic from lv_draw_sw_blend.o(i.lv_draw_sw_blend_basic) referenced from lv_draw_sw.o(i.lv_draw_sw_init_ctx)
  - lv_draw_sw_buffer_copy from lv_draw_sw.o(i.lv_draw_sw_buffer_copy) referenced from lv_draw_sw.o(i.lv_draw_sw_init_ctx)
  - lv_draw_sw_img_decoded from lv_draw_sw_img.o(i.lv_draw_sw_img_decoded) referenced from lv_draw_sw.o(i.lv_draw_sw_init_ctx)
  - lv_draw_sw_init_ctx from lv_draw_sw.o(i.lv_draw_sw_init_ctx) referenced from lv_hal_disp.o(i.lv_disp_drv_init)
  - lv_draw_sw_layer_adjust from lv_draw_sw_layer.o(i.lv_draw_sw_layer_adjust) referenced from lv_draw_sw.o(i.lv_draw_sw_init_ctx)
  - lv_draw_sw_layer_blend from lv_draw_sw_layer.o(i.lv_draw_sw_layer_blend) referenced from lv_draw_sw.o(i.lv_draw_sw_init_ctx)
  - lv_draw_sw_layer_create from lv_draw_sw_layer.o(i.lv_draw_sw_layer_create) referenced from lv_draw_sw.o(i.lv_draw_sw_init_ctx)
  - lv_draw_sw_layer_destroy from lv_draw_sw_layer.o(i.lv_draw_sw_layer_destroy) referenced from lv_draw_sw.o(i.lv_draw_sw_init_ctx)
  - lv_draw_sw_letter from lv_draw_sw_letter.o(i.lv_draw_sw_letter) referenced from lv_draw_sw.o(i.lv_draw_sw_init_ctx)
  - lv_draw_sw_line from lv_draw_sw_line.o(i.lv_draw_sw_line) referenced from lv_draw_sw.o(i.lv_draw_sw_init_ctx)
  - lv_draw_sw_polygon from lv_draw_sw_polygon.o(i.lv_draw_sw_polygon) referenced from lv_draw_sw.o(i.lv_draw_sw_init_ctx)
  - lv_draw_sw_rect from lv_draw_sw_rect.o(i.lv_draw_sw_rect) referenced from lv_draw_sw.o(i.lv_draw_sw_init_ctx)
  - lv_draw_sw_transform from lv_draw_sw_transform.o(i.lv_draw_sw_transform) referenced from lv_draw_sw.o(i.lv_draw_sw_init_ctx)
  - lv_draw_sw_wait_for_finish from lv_draw_sw.o(i.lv_draw_sw_wait_for_finish) referenced from lv_draw_sw.o(i.lv_draw_sw_init_ctx)
  - lv_font_get_bitmap_fmt_txt from lv_font_fmt_txt.o(i.lv_font_get_bitmap_fmt_txt) referenced from lv_font_montserrat_14.o(.constdata)
  - lv_font_get_glyph_dsc_fmt_txt from lv_font_fmt_txt.o(i.lv_font_get_glyph_dsc_fmt_txt) referenced from lv_font_montserrat_14.o(.constdata)
  - lv_img_decoder_built_in_close from lv_img_decoder.o(i.lv_img_decoder_built_in_close) referenced from lv_img_decoder.o(i._lv_img_decoder_init)
  - lv_img_decoder_built_in_info from lv_img_decoder.o(i.lv_img_decoder_built_in_info) referenced from lv_img_decoder.o(i._lv_img_decoder_init)
  - lv_img_decoder_built_in_open from lv_img_decoder.o(i.lv_img_decoder_built_in_open) referenced from lv_img_decoder.o(i._lv_img_decoder_init)
  - lv_img_decoder_built_in_read_line from lv_img_decoder.o(i.lv_img_decoder_built_in_read_line) referenced from lv_img_decoder.o(i._lv_img_decoder_init)
  - lv_label_constructor from lv_label.o(i.lv_label_constructor) referenced from lv_label.o(.constdata)
  - lv_label_destructor from lv_label.o(i.lv_label_destructor) referenced from lv_label.o(.constdata)
  - lv_label_event from lv_label.o(i.lv_label_event) referenced from lv_label.o(.constdata)
  - lv_obj_constructor from lv_obj.o(i.lv_obj_constructor) referenced from lv_obj.o(.constdata)
  - lv_obj_destructor from lv_obj.o(i.lv_obj_destructor) referenced from lv_obj.o(.constdata)
  - lv_obj_event from lv_obj.o(i.lv_obj_event) referenced from lv_obj.o(.constdata)
  - lv_style_set_prop_helper from lv_style.o(i.lv_style_set_prop_helper) referenced from lv_style.o(i.lv_style_set_prop)
  - lv_txt_utf8_get_byte_id from lv_txt.o(i.lv_txt_utf8_get_byte_id) referenced from lv_txt.o(.data)
  - lv_txt_utf8_get_char_id from lv_txt.o(i.lv_txt_utf8_get_char_id) referenced from lv_txt.o(.data)
  - lv_txt_utf8_get_length from lv_txt.o(i.lv_txt_utf8_get_length) referenced from lv_txt.o(.data)
  - lv_txt_utf8_next from lv_txt.o(i.lv_txt_utf8_next) referenced from lv_txt.o(.data)
  - lv_txt_utf8_prev from lv_txt.o(i.lv_txt_utf8_prev) referenced from lv_txt.o(.data)
  - lv_txt_utf8_size from lv_txt.o(i.lv_txt_utf8_size) referenced from lv_txt.o(.data)
  - scroll_anim_ready_cb from lv_obj_scroll.o(i.scroll_anim_ready_cb) referenced from lv_obj_scroll.o(i.lv_obj_scroll_by)
  - scroll_x_anim from lv_obj_scroll.o(i.scroll_x_anim) referenced from lv_obj_scroll.o(i.lv_obj_scroll_by)
  - scroll_x_anim from lv_obj_scroll.o(i.scroll_x_anim) referenced from lv_obj_scroll.o(i.lv_obj_scroll_to_x)
  - scroll_x_anim from lv_obj_scroll.o(i.scroll_x_anim) referenced from lv_obj_scroll.o(i.scroll_area_into_view)
  - scroll_y_anim from lv_obj_scroll.o(i.scroll_y_anim) referenced from lv_obj_scroll.o(i.lv_obj_scroll_by)
  - scroll_y_anim from lv_obj_scroll.o(i.scroll_y_anim) referenced from lv_obj_scroll.o(i.lv_obj_scroll_to_y)
  - scroll_y_anim from lv_obj_scroll.o(i.scroll_y_anim) referenced from lv_obj_scroll.o(i.scroll_area_into_view)
  - set_ofs_x_anim from lv_label.o(i.set_ofs_x_anim) referenced from lv_label.o(i.lv_label_refr_text)
  - set_ofs_x_anim from lv_label.o(i.set_ofs_x_anim) referenced from lv_label.o(i.lv_label_set_long_mode)
  - set_ofs_y_anim from lv_label.o(i.set_ofs_y_anim) referenced from lv_label.o(i.lv_label_refr_text)
  - set_ofs_y_anim from lv_label.o(i.set_ofs_y_anim) referenced from lv_label.o(i.lv_label_set_long_mode)
  - trans_anim_cb from lv_obj_style.o(i.trans_anim_cb) referenced from lv_obj_style.o(i._lv_obj_style_create_transition)
  - trans_anim_ready_cb from lv_obj_style.o(i.trans_anim_ready_cb) referenced from lv_obj_style.o(i._lv_obj_style_create_transition)
  - trans_anim_start_cb from lv_obj_style.o(i.trans_anim_start_cb) referenced from lv_obj_style.o(i._lv_obj_style_create_transition)
  - unicode_list_compare from lv_font_fmt_txt.o(i.unicode_list_compare) referenced from lv_font_fmt_txt.o(i.get_glyph_dsc_id)

  ### Global Symbols

  __main (Thumb, 8 bytes, Stack size 0 bytes, __main.o(!!!main))
  [Calls]

  - >> __scatterload
  - >> __rt_entry

  __scatterload (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter))
  [Called By]

  - >> __main

  __scatterload_rt2 (Thumb, 52 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
  [Calls]

  - >> __rt_entry

  __scatterload_rt2_thumb_only (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)

  __scatterload_null (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)

  __scatterload_copy (Thumb, 26 bytes, Stack size unknown bytes, __scatter_copy.o(!!handler_copy), UNUSED)
  [Calls]

  - >> __scatterload_copy
  [Called By]
  - >> __scatterload_copy

  __scatterload_zeroinit (Thumb, 28 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED)

  __rt_lib_init (Thumb, 0 bytes, Stack size unknown bytes, libinit.o(.ARM.Collect$$libinit$$00000000))
  [Called By]

  - >> __rt_entry_li

  __rt_lib_init_alloca_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002E))

  __rt_lib_init_argv_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002C))

  __rt_lib_init_atexit_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001B))

  __rt_lib_init_clock_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000021))

  __rt_lib_init_cpp_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000032))

  __rt_lib_init_exceptions_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000030))

  __rt_lib_init_fp_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000002))

  __rt_lib_init_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001F))

  __rt_lib_init_getenv_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000023))

  __rt_lib_init_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000A))

  __rt_lib_init_lc_collate_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000011))

  __rt_lib_init_lc_ctype_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000013))

  __rt_lib_init_lc_monetary_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000015))

  __rt_lib_init_lc_numeric_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000017))

  __rt_lib_init_lc_time_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000019))

  __rt_lib_init_preinit_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000004))

  __rt_lib_init_rand_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000E))

  __rt_lib_init_return (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000033))

  __rt_lib_init_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001D))

  __rt_lib_init_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000025))

  __rt_lib_init_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000C))

  __rt_lib_shutdown (Thumb, 0 bytes, Stack size unknown bytes, libshutdown.o(.ARM.Collect$$libshutdown$$00000000))
  [Called By]

  - >> __rt_exit_ls

  __rt_lib_shutdown_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000006))

  __rt_lib_shutdown_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000E))

  __rt_lib_shutdown_return (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000F))

  __rt_lib_shutdown_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000009))

  __rt_lib_shutdown_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000003))

  __rt_lib_shutdown_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000B))

  __rt_entry (Thumb, 0 bytes, Stack size unknown bytes, __rtentry.o(.ARM.Collect$$rtentry$$00000000))
  [Called By]

  - >> __scatterload_rt2
  - >> __main

  __rt_entry_presh_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000002))

  __rt_entry_sh (Thumb, 0 bytes, Stack size unknown bytes, __rtentry4.o(.ARM.Collect$$rtentry$$00000004))
  [Stack]

  - Max Depth = 8 + Unknown Stack Size
  - Call Chain = __rt_entry_sh ⇒ __user_setup_stackheap
  [Calls]
  - >> __user_setup_stackheap

  __rt_entry_li (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000A))
  [Calls]

  - >> __rt_lib_init

  __rt_entry_postsh_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000009))

  __rt_entry_main (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000D))
  [Stack]

  - Max Depth = 624 + Unknown Stack Size
  - Call Chain = __rt_entry_main ⇒ main ⇒ lv_disp_drv_register ⇒ lv_obj_create ⇒ lv_obj_class_init_obj ⇒ lv_theme_apply ⇒ lv_obj_remove_style ⇒ lv_obj_refresh_style ⇒ refresh_children_style ⇒ refresh_children_style (Cycle)
  [Calls]
  - >> main
  - >> exit

  __rt_entry_postli_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000C))

  __rt_exit (Thumb, 0 bytes, Stack size unknown bytes, rtexit.o(.ARM.Collect$$rtexit$$00000000))
  [Called By]

  - >> exit

  __rt_exit_ls (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000003))
  [Calls]

  - >> __rt_lib_shutdown

  __rt_exit_prels_1 (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000002))

  __rt_exit_exit (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000004))
  [Calls]

  - >> _sys_exit

  __aeabi_memcpy4 (Thumb, 56 bytes, Stack size 0 bytes, rt_memcpy.o(.emb_text))
  [Called By]

  - >> lv_draw_label
  - >> __aeabi_memcpy

  __aeabi_memcpy8 (Thumb, 0 bytes, Stack size 0 bytes, rt_memcpy.o(.emb_text), UNUSED)

  Reset_Handler (Thumb, 8 bytes, Stack size 0 bytes, startup_stm32f072xb.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f072xb.o(RESET)

  ADC1_COMP_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f072xb.o(.text))
  [Calls]

  - >> ADC1_COMP_IRQHandler
  [Called By]
  - >> ADC1_COMP_IRQHandler
  [Address Reference Count : 1]
  - startup_stm32f072xb.o(RESET)

  CEC_CAN_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f072xb.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f072xb.o(RESET)

  DMA1_Channel1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f072xb.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f072xb.o(RESET)

  DMA1_Channel2_3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f072xb.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f072xb.o(RESET)

  EXTI0_1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f072xb.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f072xb.o(RESET)

  EXTI2_3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f072xb.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f072xb.o(RESET)

  EXTI4_15_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f072xb.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f072xb.o(RESET)

  FLASH_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f072xb.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f072xb.o(RESET)

  I2C1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f072xb.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f072xb.o(RESET)

  I2C2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f072xb.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f072xb.o(RESET)

  PVD_VDDIO2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f072xb.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f072xb.o(RESET)

  RCC_CRS_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f072xb.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f072xb.o(RESET)

  RTC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f072xb.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f072xb.o(RESET)

  SPI1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f072xb.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f072xb.o(RESET)

  SPI2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f072xb.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f072xb.o(RESET)

  TIM14_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f072xb.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f072xb.o(RESET)

  TIM15_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f072xb.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f072xb.o(RESET)

  TIM16_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f072xb.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f072xb.o(RESET)

  TIM17_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f072xb.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f072xb.o(RESET)

  TIM1_BRK_UP_TRG_COM_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f072xb.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f072xb.o(RESET)

  TIM1_CC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f072xb.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f072xb.o(RESET)

  TIM2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f072xb.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f072xb.o(RESET)

  TIM3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f072xb.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f072xb.o(RESET)

  TIM6_DAC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f072xb.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f072xb.o(RESET)

  TIM7_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f072xb.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f072xb.o(RESET)

  TSC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f072xb.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f072xb.o(RESET)

  USART1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f072xb.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f072xb.o(RESET)

  USART2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f072xb.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f072xb.o(RESET)

  USART3_4_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f072xb.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f072xb.o(RESET)

  USB_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f072xb.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f072xb.o(RESET)

  WWDG_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f072xb.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f072xb.o(RESET)

  __user_initial_stackheap (Thumb, 0 bytes, Stack size unknown bytes, startup_stm32f072xb.o(.text))
  [Called By]

  - >> __user_setup_stackheap

  __aeabi_uldivmod (Thumb, 258 bytes, Stack size 32 bytes, lludiv.o(.text))
  [Stack]

  - Max Depth = 32
  - Call Chain = __aeabi_uldivmod
  [Called By]
  - >> _ntoa_long_long

  _ll_udiv (Thumb, 0 bytes, Stack size 32 bytes, lludiv.o(.text), UNUSED)

  strcpy (Thumb, 70 bytes, Stack size 16 bytes, strcpy.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = strcpy
  [Called By]
  - >> lv_label_set_text
  - >> lv_img_decoder_open

  strlen (Thumb, 62 bytes, Stack size 12 bytes, strlen.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = strlen
  [Called By]
  - >> lv_label_set_text
  - >> lv_fs_get_ext
  - >> lv_img_decoder_open
  - >> lv_label_refr_text

  __aeabi_memcpy (Thumb, 130 bytes, Stack size 24 bytes, rt_memcpy.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = __aeabi_memcpy
  [Calls]
  - >> __aeabi_memcpy4
  [Called By]
  - >> lv_draw_layer_create
  - >> _lv_area_diff
  - >> lv_obj_redraw
  - >> _lv_disp_refr_timer
  - >> refr_sync_areas
  - >> layer_get_area

  __rt_memcpy (Thumb, 0 bytes, Stack size 24 bytes, rt_memcpy.o(.text), UNUSED)

  _memset_w (Thumb, 26 bytes, Stack size 0 bytes, rt_memclr.o(.text), UNUSED)
  [Called By]

  - >> __rt_memclr_w
  - >> _memset

  _memset (Thumb, 30 bytes, Stack size 0 bytes, rt_memclr.o(.text), UNUSED)
  [Calls]

  - >> _memset_w
  [Called By]
  - >> __aeabi_memclr

  __aeabi_memclr (Thumb, 4 bytes, Stack size 0 bytes, rt_memclr.o(.text), UNUSED)
  [Calls]

  - >> _memset

  __rt_memclr (Thumb, 0 bytes, Stack size 0 bytes, rt_memclr.o(.text), UNUSED)

  __aeabi_memclr4 (Thumb, 0 bytes, Stack size 0 bytes, rt_memclr.o(.text))
  [Called By]

  - >> refr_sync_areas
  - >> draw_bg
  - >> MX_SPI2_Init
  - >> MX_SPI2_Init
  - >> MX_GPIO_Init

  __aeabi_memclr8 (Thumb, 0 bytes, Stack size 0 bytes, rt_memclr.o(.text), UNUSED)

  __rt_memclr_w (Thumb, 4 bytes, Stack size 0 bytes, rt_memclr.o(.text), UNUSED)
  [Calls]

  - >> _memset_w

  strcmp (Thumb, 160 bytes, Stack size 16 bytes, strcmpv6m.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = strcmp
  [Called By]
  - >> lv_img_decoder_built_in_open
  - >> lv_img_decoder_built_in_info

  __aeabi_uidiv (Thumb, 0 bytes, Stack size 0 bytes, aeabi_sdivfast.o(.text), UNUSED)

  __aeabi_uidivmod (Thumb, 28 bytes, Stack size 0 bytes, aeabi_sdivfast.o(.text))
  [Called By]

  - >> lv_anim_speed_to_time
  - >> lv_rand
  - >> _lv_disp_refr_timer
  - >> get_max_row
  - >> draw_buf_rotate
  - >> _ntoa_long
  - >> lv_timer_handler
  - >> lv_draw_sw_transform
  - >> lv_draw_sw_img_decoded
  - >> lv_draw_sw_arc
  - >> shadow_blur_corner
  - >> LL_Init1msTick

  __aeabi_idiv (Thumb, 0 bytes, Stack size 8 bytes, aeabi_sdivfast.o(.text), UNUSED)

  __aeabi_idivmod (Thumb, 460 bytes, Stack size 8 bytes, aeabi_sdivfast.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = __aeabi_idivmod
  [Called By]
  - >> lv_point_transform
  - >> lv_obj_get_scrollbar_area
  - >> lv_obj_refr_size
  - >> lv_obj_refr_pos
  - >> lv_clamp_width
  - >> lv_clamp_height
  - >> transform_point
  - >> refr_obj
  - >> lv_trigo_sin
  - >> lv_draw_mask_line_points_init
  - >> lv_map
  - >> lv_draw_sw_transform
  - >> lv_label_refr_text
  - >> lv_draw_sw_layer_create
  - >> shadow_draw_corner_buf
  - >> shadow_blur_corner
  - >> draw_line_ver
  - >> draw_line_skew
  - >> draw_line_hor
  - >> lv_gradient_calculate

  __use_two_region_memory (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)

  __rt_heap_escrow (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)

  __rt_heap_expand (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)

  __user_libspace (Thumb, 8 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)

  __user_perproc_libspace (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text))
  [Called By]

  - >> __user_setup_stackheap

  __user_perthread_libspace (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)

  __I$use$semihosting (Thumb, 0 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)

  __use_no_semihosting_swi (Thumb, 2 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)

  __semihosting_library_function (Thumb, 0 bytes, Stack size 8 bytes, indicate_semi.o(.text), UNUSED)

  __user_setup_stackheap (Thumb, 62 bytes, Stack size 8 bytes, sys_stackheap_outer.o(.text))
  [Stack]

  - Max Depth = 8 + Unknown Stack Size
  - Call Chain = __user_setup_stackheap
  [Calls]
  - >> __user_initial_stackheap
  - >> __user_perproc_libspace
  [Called By]
  - >> __rt_entry_sh

  exit (Thumb, 12 bytes, Stack size 0 bytes, exit.o(.text))
  [Calls]

  - >> __rt_exit
  - >> _call_atexit_fns (Weak Reference)
  [Called By]
  - >> __rt_entry_main

  _sys_exit (Thumb, 8 bytes, Stack size 0 bytes, sys_exit.o(.text))
  [Called By]

  - >> __rt_exit_exit

  DMA1_Channel3_TransferComplete (Thumb, 16 bytes, Stack size 0 bytes, core.o(i.DMA1_Channel3_TransferComplete))
  [Called By]

  - >> DMA1_Channel4_5_6_7_IRQHandler

  DMA1_Channel4_5_6_7_IRQHandler (Thumb, 8 bytes, Stack size 8 bytes, stm32f0xx_it.o(i.DMA1_Channel4_5_6_7_IRQHandler))
  [Stack]

  - Max Depth = 8
  - Call Chain = DMA1_Channel4_5_6_7_IRQHandler
  [Calls]
  - >> DMA1_Channel3_TransferComplete
  [Address Reference Count : 1]
  - startup_stm32f072xb.o(RESET)

  HardFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f0xx_it.o(i.HardFault_Handler))
  [Calls]

  - >> HardFault_Handler
  [Called By]
  - >> HardFault_Handler
  [Address Reference Count : 1]
  - startup_stm32f072xb.o(RESET)

  ILI9341_exitStandby (Thumb, 28 bytes, Stack size 8 bytes, core.o(i.ILI9341_exitStandby))
  [Stack]

  - Max Depth = 16
  - Call Chain = ILI9341_exitStandby ⇒ ILI9341_WriteCommand
  [Calls]
  - >> LL_mDelay
  - >> ILI9341_WriteCommand
  [Called By]
  - >> ILI9341_init

  ILI9341_flush (Thumb, 72 bytes, Stack size 24 bytes, lv_driver.o(i.ILI9341_flush))
  [Stack]

  - Max Depth = 64
  - Call Chain = ILI9341_flush ⇒ ILI9341_setAddressWindow ⇒ ILI9341_WriteData16
  [Calls]
  - >> lv_disp_flush_ready
  - >> Send_DMA_Data16
  - >> ILI9341_setAddressWindow
  [Address Reference Count : 1]
  - startup.o(i.main)

  ILI9341_init (Thumb, 92 bytes, Stack size 16 bytes, core.o(i.ILI9341_init))
  [Stack]

  - Max Depth = 120
  - Call Chain = ILI9341_init ⇒ MX_SPI2_Init ⇒ LL_GPIO_Init
  [Calls]
  - >> LL_mDelay
  - >> ILI9341_setOrientation
  - >> ILI9341_reset
  - >> ILI9341_exitStandby
  - >> MX_SPI2_Init
  - >> MX_DMA_Init
  - >> LL_DMA_DisableChannel
  - >> ILI9341_WriteData
  - >> ILI9341_WriteCommand
  [Called By]
  - >> main

  ILI9341_reset (Thumb, 26 bytes, Stack size 8 bytes, core.o(i.ILI9341_reset))
  [Stack]

  - Max Depth = 12
  - Call Chain = ILI9341_reset ⇒ LL_mDelay
  [Calls]
  - >> LL_mDelay
  [Called By]
  - >> ILI9341_init

  ILI9341_setAddressWindow (Thumb, 54 bytes, Stack size 24 bytes, core.o(i.ILI9341_setAddressWindow))
  [Stack]

  - Max Depth = 40
  - Call Chain = ILI9341_setAddressWindow ⇒ ILI9341_WriteData16
  [Calls]
  - >> ILI9341_WriteData16
  - >> ILI9341_WriteCommand
  [Called By]
  - >> ILI9341_flush

  ILI9341_setOrientation (Thumb, 58 bytes, Stack size 16 bytes, core.o(i.ILI9341_setOrientation))
  [Stack]

  - Max Depth = 32
  - Call Chain = ILI9341_setOrientation ⇒ ILI9341_WriteData
  [Calls]
  - >> ILI9341_WriteData
  - >> ILI9341_WriteCommand
  [Called By]
  - >> ILI9341_init

  LL_GPIO_Init (Thumb, 180 bytes, Stack size 16 bytes, stm32f0xx_ll_gpio.o(i.LL_GPIO_Init))
  [Stack]

  - Max Depth = 16
  - Call Chain = LL_GPIO_Init
  [Called By]
  - >> MX_SPI2_Init
  - >> MX_SPI2_Init
  - >> MX_GPIO_Init

  LL_Init1msTick (Thumb, 26 bytes, Stack size 8 bytes, stm32f0xx_ll_utils.o(i.LL_Init1msTick))
  [Stack]

  - Max Depth = 8
  - Call Chain = LL_Init1msTick
  [Calls]
  - >> __aeabi_uidivmod
  [Called By]
  - >> SystemClock_Config

  LL_SPI_Init (Thumb, 120 bytes, Stack size 8 bytes, stm32f0xx_ll_spi.o(i.LL_SPI_Init))
  [Stack]

  - Max Depth = 8
  - Call Chain = LL_SPI_Init
  [Called By]
  - >> MX_SPI2_Init
  - >> MX_SPI2_Init

  LL_SetSystemCoreClock (Thumb, 6 bytes, Stack size 0 bytes, stm32f0xx_ll_utils.o(i.LL_SetSystemCoreClock))
  [Called By]

  - >> SystemClock_Config

  LL_mDelay (Thumb, 34 bytes, Stack size 4 bytes, stm32f0xx_ll_utils.o(i.LL_mDelay))
  [Stack]

  - Max Depth = 4
  - Call Chain = LL_mDelay
  [Called By]
  - >> ILI9341_reset
  - >> ILI9341_init
  - >> ILI9341_exitStandby
  - >> main

  MX_DMA_Init (Thumb, 28 bytes, Stack size 8 bytes, main.o(i.MX_DMA_Init))
  [Stack]

  - Max Depth = 16
  - Call Chain = MX_DMA_Init ⇒ LL_AHB1_GRP1_EnableClock
  [Calls]
  - >> LL_AHB1_GRP1_EnableClock
  [Called By]
  - >> main

  MX_GPIO_Init (Thumb, 370 bytes, Stack size 48 bytes, main.o(i.MX_GPIO_Init))
  [Stack]

  - Max Depth = 64
  - Call Chain = MX_GPIO_Init ⇒ LL_GPIO_Init
  [Calls]
  - >> LL_GPIO_Init
  - >> LL_AHB1_GRP1_EnableClock
  - >> __aeabi_memclr4
  [Called By]
  - >> main

  MX_SPI2_Init (Thumb, 242 bytes, Stack size 88 bytes, main.o(i.MX_SPI2_Init))
  [Stack]

  - Max Depth = 104
  - Call Chain = MX_SPI2_Init ⇒ LL_GPIO_Init
  [Calls]
  - >> LL_SPI_Init
  - >> LL_GPIO_Init
  - >> LL_AHB1_GRP1_EnableClock
  - >> __aeabi_memclr4
  [Called By]
  - >> main

  NMI_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f0xx_it.o(i.NMI_Handler))
  [Calls]

  - >> NMI_Handler
  [Called By]
  - >> NMI_Handler
  [Address Reference Count : 1]
  - startup_stm32f072xb.o(RESET)

  PendSV_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f0xx_it.o(i.PendSV_Handler))
  [Address Reference Count : 1]

  - startup_stm32f072xb.o(RESET)

  SVC_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f0xx_it.o(i.SVC_Handler))
  [Address Reference Count : 1]

  - startup_stm32f072xb.o(RESET)

  Send_DMA_Data16 (Thumb, 236 bytes, Stack size 32 bytes, core.o(i.Send_DMA_Data16))
  [Stack]

  - Max Depth = 32
  - Call Chain = Send_DMA_Data16
  [Calls]
  - >> LL_SPI_SetDataWidth
  - >> LL_DMA_DisableChannel
  [Called By]
  - >> ILI9341_flush

  SysTick_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f0xx_it.o(i.SysTick_Handler))
  [Address Reference Count : 1]

  - startup_stm32f072xb.o(RESET)

  SystemClock_Config (Thumb, 130 bytes, Stack size 16 bytes, main.o(i.SystemClock_Config))
  [Stack]

  - Max Depth = 24
  - Call Chain = SystemClock_Config ⇒ LL_Init1msTick
  [Calls]
  - >> LL_SetSystemCoreClock
  - >> LL_Init1msTick
  [Called By]
  - >> main

  SystemInit (Thumb, 2 bytes, Stack size 0 bytes, system_stm32f0xx.o(i.SystemInit))
  [Address Reference Count : 1]

  - startup_stm32f072xb.o(.text)

  __ARM_clz (Thumb, 46 bytes, Stack size 0 bytes, lv_tlsf.o(i.__ARM_clz))
  [Called By]

  - >> tlsf_fls
  - >> tlsf_ffs

  __ARM_common_switch8 (Thumb, 26 bytes, Stack size 8 bytes, lv_disp.o(i.__ARM_common_switch8))
  [Stack]

  - Max Depth = 8
  - Call Chain = __ARM_common_switch8
  [Called By]
  - >> event_send_core
  - >> lv_obj_refr_pos
  - >> hex_char_to_num
  - >> lv_img_cf_has_alpha
  - >> lv_img_cf_get_px_size

  _lv_anim_core_init (Thumb, 34 bytes, Stack size 8 bytes, lv_anim.o(i._lv_anim_core_init))
  [Stack]

  - Max Depth = 160
  - Call Chain = _lv_anim_core_init ⇒ lv_timer_create ⇒ _lv_ll_ins_head ⇒ lv_mem_alloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> _lv_ll_init
  - >> lv_timer_create
  - >> anim_mark_list_change
  [Called By]
  - >> lv_init

  _lv_area_diff (Thumb, 302 bytes, Stack size 48 bytes, lv_area.o(i._lv_area_diff))
  [Stack]

  - Max Depth = 112
  - Call Chain = _lv_area_diff ⇒ _lv_area_is_in ⇒ _lv_area_is_point_on ⇒ _lv_area_is_point_on (Cycle)
  [Calls]
  - >> _lv_area_is_in
  - >> _lv_area_is_on
  - >> __aeabi_memcpy
  [Called By]
  - >> refr_sync_areas

  _lv_area_intersect (Thumb, 80 bytes, Stack size 16 bytes, lv_area.o(i._lv_area_intersect))
  [Stack]

  - Max Depth = 16
  - Call Chain = _lv_area_intersect
  [Called By]
  - >> _lv_inv_area
  - >> lv_obj_area_is_visible
  - >> lv_obj_redraw
  - >> layer_get_area
  - >> lv_draw_label
  - >> decode_and_draw
  - >> draw_main
  - >> lv_draw_sw_blend
  - >> draw_quarter_3
  - >> draw_quarter_2
  - >> draw_quarter_1
  - >> draw_quarter_0
  - >> lv_draw_sw_polygon
  - >> lv_draw_sw_line
  - >> lv_draw_sw_img_decoded
  - >> lv_draw_sw_blend_basic
  - >> lv_draw_sw_arc
  - >> draw_border_generic
  - >> draw_shadow
  - >> draw_bg_img
  - >> draw_bg
  - >> draw_line_ver
  - >> draw_line_skew
  - >> draw_line_hor

  _lv_area_is_in (Thumb, 160 bytes, Stack size 24 bytes, lv_area.o(i._lv_area_is_in))
  [Stack]

  - Max Depth = 64
  - Call Chain = _lv_area_is_in ⇒ _lv_area_is_point_on ⇒ _lv_area_is_point_on (Cycle)
  [Calls]
  - >> _lv_area_is_point_on
  [Called By]
  - >> _lv_inv_area
  - >> lv_obj_draw
  - >> lv_obj_refr_size
  - >> lv_obj_move_to
  - >> _lv_area_diff
  - >> refr_obj
  - >> lv_refr_get_top_obj
  - >> layer_alpha_test
  - >> lv_draw_mask_is_any
  - >> draw_shadow

  _lv_area_is_on (Thumb, 56 bytes, Stack size 0 bytes, lv_area.o(i._lv_area_is_on))
  [Called By]

  - >> _lv_area_diff
  - >> lv_refr_join_area

  _lv_area_is_out (Thumb, 160 bytes, Stack size 24 bytes, lv_area.o(i._lv_area_is_out))
  [Stack]

  - Max Depth = 64
  - Call Chain = _lv_area_is_out ⇒ _lv_area_is_point_on ⇒ _lv_area_is_point_on (Cycle)
  [Calls]
  - >> _lv_area_is_point_on
  [Called By]
  - >> lv_draw_mask_is_any
  - >> draw_shadow

  _lv_area_is_point_on (Thumb, 282 bytes, Stack size 32 bytes, lv_area.o(i._lv_area_is_point_on))
  [Stack]

  - Max Depth = 40 + In Cycle
  - Call Chain = _lv_area_is_point_on ⇒ _lv_area_is_point_on (Cycle)
  [Calls]
  - >> _lv_area_is_point_on
  - >> lv_point_within_circle
  [Called By]
  - >> _lv_area_is_point_on
  - >> _lv_area_is_in
  - >> _lv_area_is_out

  _lv_area_join (Thumb, 68 bytes, Stack size 8 bytes, lv_area.o(i._lv_area_join))
  [Stack]

  - Max Depth = 8
  - Call Chain = _lv_area_join
  [Called By]
  - >> lv_refr_join_area

  _lv_disp_refr_timer (Thumb, 544 bytes, Stack size 32 bytes, lv_refr.o(i._lv_disp_refr_timer))
  [Stack]

  - Max Depth = 912
  - Call Chain = _lv_disp_refr_timer ⇒ refr_invalid_areas ⇒ refr_area ⇒ refr_area_part ⇒ lv_draw_img ⇒ decode_and_draw ⇒ show_error ⇒ lv_draw_label ⇒ lv_txt_get_size ⇒ _lv_txt_get_next_line ⇒ lv_txt_get_next_word ⇒ lv_font_get_glyph_width ⇒ lv_font_get_glyph_dsc
  [Calls]
  - >> lv_tick_get
  - >> lv_tick_elaps
  - >> lv_disp_get_default
  - >> lv_disp_get_layer_sys
  - >> _lv_ll_ins_tail
  - >> lv_memset_00
  - >> lv_obj_update_layout
  - >> lv_obj_align
  - >> lv_obj_set_style_text_color
  - >> lv_obj_set_style_text_align
  - >> lv_obj_set_style_pad_top
  - >> lv_obj_set_style_pad_right
  - >> lv_obj_set_style_pad_left
  - >> lv_obj_set_style_pad_bottom
  - >> lv_obj_set_style_bg_opa
  - >> lv_obj_set_style_bg_color
  - >> lv_timer_get_idle
  - >> lv_mem_buf_free_all
  - >> lv_label_set_text_fmt
  - >> lv_label_set_text
  - >> lv_label_create
  - >> _lv_font_clean_up_fmt_txt
  - >> _lv_draw_mask_cleanup
  - >> refr_sync_areas
  - >> refr_invalid_areas
  - >> lv_refr_join_area
  - >> lv_color_make
  - >> __aeabi_uidivmod
  - >> __aeabi_memcpy
  [Address Reference Count : 1]
  - lv_hal_disp.o(i.lv_disp_drv_register)

  _lv_draw_mask_cleanup (Thumb, 42 bytes, Stack size 16 bytes, lv_draw_mask.o(i._lv_draw_mask_cleanup))
  [Stack]

  - Max Depth = 112
  - Call Chain = _lv_draw_mask_cleanup ⇒ lv_mem_free ⇒ lv_tlsf_free ⇒ block_merge_next ⇒ block_remove ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_mem_free
  - >> lv_memset_00
  [Called By]
  - >> _lv_disp_refr_timer

  _lv_event_mark_deleted (Thumb, 34 bytes, Stack size 0 bytes, lv_event.o(i._lv_event_mark_deleted))
  [Called By]

  - >> lv_obj_destructor

  _lv_font_clean_up_fmt_txt (Thumb, 2 bytes, Stack size 0 bytes, lv_font_fmt_txt.o(i._lv_font_clean_up_fmt_txt))
  [Called By]

  - >> _lv_disp_refr_timer

  _lv_fs_init (Thumb, 12 bytes, Stack size 8 bytes, lv_fs.o(i._lv_fs_init))
  [Stack]

  - Max Depth = 8
  - Call Chain = _lv_fs_init
  [Calls]
  - >> _lv_ll_init
  [Called By]
  - >> lv_init

  _lv_group_init (Thumb, 12 bytes, Stack size 8 bytes, lv_group.o(i._lv_group_init))
  [Stack]

  - Max Depth = 8
  - Call Chain = _lv_group_init
  [Calls]
  - >> _lv_ll_init
  [Called By]
  - >> lv_init

  _lv_img_buf_get_transformed_area (Thumb, 372 bytes, Stack size 40 bytes, lv_img_buf.o(i._lv_img_buf_get_transformed_area))
  [Stack]

  - Max Depth = 120
  - Call Chain = _lv_img_buf_get_transformed_area ⇒ lv_point_transform ⇒ lv_trigo_sin ⇒ __aeabi_idivmod
  [Calls]
  - >> lv_point_transform
  [Called By]
  - >> decode_and_draw

  _lv_img_cache_open (Thumb, 82 bytes, Stack size 24 bytes, lv_img_cache.o(i._lv_img_cache_open))
  [Stack]

  - Max Depth = 176
  - Call Chain = _lv_img_cache_open ⇒ lv_img_decoder_open ⇒ lv_mem_alloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_tick_get
  - >> lv_tick_elaps
  - >> lv_memset_00
  - >> lv_img_decoder_open
  [Called By]
  - >> decode_and_draw

  _lv_img_decoder_init (Thumb, 38 bytes, Stack size 8 bytes, lv_img_decoder.o(i._lv_img_decoder_init))
  [Stack]

  - Max Depth = 144
  - Call Chain = _lv_img_decoder_init ⇒ lv_img_decoder_create ⇒ _lv_ll_ins_head ⇒ lv_mem_alloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> _lv_ll_init
  - >> lv_img_decoder_create
  [Called By]
  - >> lv_init

  _lv_inv_area (Thumb, 214 bytes, Stack size 40 bytes, lv_refr.o(i._lv_inv_area))
  [Stack]

  - Max Depth = 104
  - Call Chain = _lv_inv_area ⇒ _lv_area_is_in ⇒ _lv_area_is_point_on ⇒ _lv_area_is_point_on (Cycle)
  [Calls]
  - >> lv_disp_get_ver_res
  - >> lv_disp_get_hor_res
  - >> lv_disp_get_default
  - >> lv_disp_is_invalidation_enabled
  - >> _lv_area_is_in
  - >> lv_timer_resume
  - >> _lv_area_intersect
  - >> lv_area_copy
  [Called By]
  - >> lv_obj_invalidate_area

  _lv_ll_clear (Thumb, 44 bytes, Stack size 16 bytes, lv_ll.o(i._lv_ll_clear))
  [Stack]

  - Max Depth = 112
  - Call Chain = _lv_ll_clear ⇒ lv_mem_free ⇒ lv_tlsf_free ⇒ block_merge_next ⇒ block_remove ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_mem_free
  - >> _lv_ll_remove
  - >> _lv_ll_get_next
  - >> _lv_ll_get_head
  [Called By]
  - >> refr_sync_areas

  _lv_ll_get_head (Thumb, 8 bytes, Stack size 0 bytes, lv_ll.o(i._lv_ll_get_head))
  [Called By]

  - >> lv_obj_get_disp
  - >> lv_anim_del
  - >> lv_indev_get_next
  - >> _lv_ll_remove
  - >> _lv_ll_clear
  - >> lv_group_remove_obj
  - >> lv_group_add_obj
  - >> trans_anim_ready_cb
  - >> lv_anim_get
  - >> lv_img_decoder_get_info
  - >> _lv_ll_ins_prev
  - >> refr_sync_areas
  - >> lv_img_decoder_open
  - >> lv_fs_get_drv
  - >> lv_timer_handler
  - >> anim_timer
  - >> anim_mark_list_change
  [Address Reference Count : 1]
  - lv_group.o(i.lv_group_focus_next)

  _lv_ll_get_next (Thumb, 10 bytes, Stack size 0 bytes, lv_ll.o(i._lv_ll_get_next))
  [Called By]

  - >> lv_obj_get_disp
  - >> lv_anim_del
  - >> lv_indev_get_next
  - >> _lv_ll_remove
  - >> _lv_ll_clear
  - >> lv_group_remove_obj
  - >> lv_group_add_obj
  - >> trans_anim_ready_cb
  - >> lv_anim_get
  - >> lv_img_decoder_get_info
  - >> refr_sync_areas
  - >> lv_img_decoder_open
  - >> lv_fs_get_drv
  - >> lv_timer_handler
  - >> anim_timer
  [Address Reference Count : 1]
  - lv_group.o(i.lv_group_focus_next)

  _lv_ll_get_prev (Thumb, 8 bytes, Stack size 0 bytes, lv_ll.o(i._lv_ll_get_prev))
  [Called By]

  - >> trans_del
  [Address Reference Count : 1]
  - lv_group.o(i.lv_group_focus_prev)

  _lv_ll_get_tail (Thumb, 8 bytes, Stack size 0 bytes, lv_ll.o(i._lv_ll_get_tail))
  [Called By]

  - >> _lv_ll_remove
  - >> lv_group_remove_obj
  - >> trans_del
  [Address Reference Count : 1]
  - lv_group.o(i.lv_group_focus_prev)

  _lv_ll_init (Thumb, 16 bytes, Stack size 0 bytes, lv_ll.o(i._lv_ll_init))
  [Called By]

  - >> _lv_group_init
  - >> _lv_timer_core_init
  - >> _lv_obj_style_init
  - >> _lv_img_decoder_init
  - >> _lv_fs_init
  - >> _lv_anim_core_init
  - >> lv_init
  - >> lv_disp_drv_register

  _lv_ll_ins_head (Thumb, 64 bytes, Stack size 16 bytes, lv_ll.o(i._lv_ll_ins_head))
  [Stack]

  - Max Depth = 128
  - Call Chain = _lv_ll_ins_head ⇒ lv_mem_alloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_mem_alloc
  - >> node_set_prev
  - >> node_set_next
  [Called By]
  - >> lv_anim_start
  - >> _lv_obj_style_create_transition
  - >> _lv_ll_ins_prev
  - >> lv_img_decoder_create
  - >> lv_timer_create
  - >> lv_disp_drv_register

  _lv_ll_ins_prev (Thumb, 98 bytes, Stack size 24 bytes, lv_ll.o(i._lv_ll_ins_prev))
  [Stack]

  - Max Depth = 152
  - Call Chain = _lv_ll_ins_prev ⇒ _lv_ll_ins_head ⇒ lv_mem_alloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> _lv_ll_ins_head
  - >> _lv_ll_get_head
  - >> lv_mem_alloc
  - >> node_set_prev
  - >> node_set_next
  [Called By]
  - >> refr_sync_areas

  _lv_ll_ins_tail (Thumb, 64 bytes, Stack size 16 bytes, lv_ll.o(i._lv_ll_ins_tail))
  [Stack]

  - Max Depth = 128
  - Call Chain = _lv_ll_ins_tail ⇒ lv_mem_alloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_mem_alloc
  - >> node_set_prev
  - >> node_set_next
  [Called By]
  - >> lv_group_add_obj
  - >> _lv_disp_refr_timer

  _lv_ll_is_empty (Thumb, 24 bytes, Stack size 0 bytes, lv_ll.o(i._lv_ll_is_empty))
  [Called By]

  - >> lv_anim_start
  - >> refr_sync_areas

  _lv_ll_remove (Thumb, 104 bytes, Stack size 16 bytes, lv_ll.o(i._lv_ll_remove))
  [Stack]

  - Max Depth = 16
  - Call Chain = _lv_ll_remove
  [Calls]
  - >> _lv_ll_get_tail
  - >> _lv_ll_get_next
  - >> _lv_ll_get_head
  - >> node_set_prev
  - >> node_set_next
  [Called By]
  - >> lv_anim_del
  - >> _lv_ll_clear
  - >> lv_group_remove_obj
  - >> trans_del
  - >> trans_anim_ready_cb
  - >> refr_sync_areas
  - >> lv_timer_del
  - >> anim_ready_handler

  _lv_obj_get_ext_draw_size (Thumb, 16 bytes, Stack size 0 bytes, lv_obj_draw.o(i._lv_obj_get_ext_draw_size))
  [Called By]

  - >> lv_obj_invalidate
  - >> lv_obj_refresh_ext_draw_size
  - >> lv_obj_area_is_visible
  - >> lv_obj_redraw
  - >> layer_get_area

  _lv_obj_get_layer_type (Thumb, 12 bytes, Stack size 0 bytes, lv_obj_draw.o(i._lv_obj_get_layer_type))
  [Called By]

  - >> lv_obj_transform_point
  - >> refr_obj
  - >> lv_refr_get_top_obj

  _lv_obj_scroll_by_raw (Thumb, 72 bytes, Stack size 16 bytes, lv_obj_scroll.o(i._lv_obj_scroll_by_raw))
  [Stack]

  - Max Depth = 360
  - Call Chain = _lv_obj_scroll_by_raw ⇒ lv_obj_invalidate ⇒ lv_obj_invalidate_area ⇒ lv_obj_area_is_visible ⇒ lv_obj_get_transformed_area ⇒ lv_obj_transform_point ⇒ lv_obj_transform_point (Cycle)
  [Calls]
  - >> lv_obj_allocate_spec_attr
  - >> lv_obj_invalidate
  - >> lv_event_send
  - >> lv_obj_move_children_by
  [Called By]
  - >> lv_obj_scroll_by
  - >> scroll_y_anim
  - >> scroll_x_anim

  _lv_obj_style_apply_color_filter (Thumb, 64 bytes, Stack size 32 bytes, lv_obj_style.o(i._lv_obj_style_apply_color_filter))
  [Stack]

  - Max Depth = 176
  - Call Chain = _lv_obj_style_apply_color_filter ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  [Called By]
  - >> lv_obj_get_style_text_color_filtered
  - >> lv_obj_get_style_bg_color_filtered
  - >> lv_obj_init_draw_rect_dsc
  - >> draw_main

  _lv_obj_style_create_transition (Thumb, 294 bytes, Stack size 136 bytes, lv_obj_style.o(i._lv_obj_style_create_transition))
  [Stack]

  - Max Depth = 336
  - Call Chain = _lv_obj_style_create_transition ⇒ lv_style_set_prop ⇒ lv_style_set_prop_internal ⇒ lv_mem_realloc ⇒ lv_tlsf_realloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_anim_start
  - >> lv_anim_init
  - >> lv_obj_get_style_prop
  - >> _lv_ll_ins_head
  - >> lv_obj_get_width
  - >> lv_obj_get_height
  - >> get_trans_style
  - >> lv_style_set_prop
  [Called By]
  - >> lv_obj_set_state

  _lv_obj_style_init (Thumb, 12 bytes, Stack size 8 bytes, lv_obj_style.o(i._lv_obj_style_init))
  [Stack]

  - Max Depth = 8
  - Call Chain = _lv_obj_style_init
  [Calls]
  - >> _lv_ll_init
  [Called By]
  - >> lv_init

  _lv_obj_style_state_compare (Thumb, 534 bytes, Stack size 40 bytes, lv_obj_style.o(i._lv_obj_style_state_compare))
  [Stack]

  - Max Depth = 88
  - Call Chain = _lv_obj_style_state_compare ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_style_get_prop
  [Called By]
  - >> lv_obj_set_state

  _lv_refr_get_disp_refreshing (Thumb, 6 bytes, Stack size 0 bytes, lv_refr.o(i._lv_refr_get_disp_refreshing))
  [Called By]

  - >> lv_draw_layer_destroy
  - >> lv_draw_layer_create
  - >> map_set_px
  - >> fill_set_px
  - >> lv_draw_sw_layer_create
  - >> lv_draw_sw_layer_blend
  - >> lv_draw_sw_layer_adjust
  - >> lv_draw_sw_img_decoded
  - >> lv_draw_sw_blend_basic
  - >> rgb_no_aa
  - >> argb_and_rgb_aa
  - >> draw_line_skew
  - >> draw_letter_normal

  _lv_refr_init (Thumb, 18 bytes, Stack size 0 bytes, lv_refr.o(i._lv_refr_init))
  [Called By]

  - >> lv_init

  _lv_style_get_prop_group (Thumb, 12 bytes, Stack size 0 bytes, lv_style.o(i._lv_style_get_prop_group))
  [Called By]

  - >> get_prop_core
  - >> lv_style_set_prop_internal

  _lv_style_prop_lookup_flags (Thumb, 50 bytes, Stack size 0 bytes, lv_style.o(i._lv_style_prop_lookup_flags))
  [Called By]

  - >> lv_style_prop_has_flag

  _lv_timer_core_init (Thumb, 18 bytes, Stack size 8 bytes, lv_timer.o(i._lv_timer_core_init))
  [Stack]

  - Max Depth = 8
  - Call Chain = _lv_timer_core_init
  [Calls]
  - >> _lv_ll_init
  [Called By]
  - >> lv_init

  _lv_txt_encoded_letter_next_2 (Thumb, 42 bytes, Stack size 40 bytes, lv_txt.o(i._lv_txt_encoded_letter_next_2))
  [Stack]

  - Max Depth = 40
  - Call Chain = _lv_txt_encoded_letter_next_2
  [Called By]
  - >> lv_txt_get_width
  - >> lv_draw_label
  - >> lv_label_get_letter_on

  _lv_txt_get_next_line (Thumb, 252 bytes, Stack size 64 bytes, lv_txt.o(i._lv_txt_get_next_line))
  [Stack]

  - Max Depth = 184
  - Call Chain = _lv_txt_get_next_line ⇒ lv_txt_get_next_word ⇒ lv_font_get_glyph_width ⇒ lv_font_get_glyph_dsc
  [Calls]
  - >> lv_font_get_glyph_width
  - >> lv_txt_get_next_word
  [Called By]
  - >> lv_txt_get_size
  - >> lv_draw_label
  - >> lv_label_get_letter_on

  _lv_txt_is_cmd (Thumb, 56 bytes, Stack size 0 bytes, lv_txt.o(i._lv_txt_is_cmd))
  [Called By]

  - >> lv_txt_get_width
  - >> lv_txt_get_next_word
  - >> lv_label_get_letter_on

  _lv_txt_set_text_vfmt (Thumb, 50 bytes, Stack size 32 bytes, lv_txt.o(i._lv_txt_set_text_vfmt))
  [Stack]

  - Max Depth = 312
  - Call Chain = _lv_txt_set_text_vfmt ⇒ lv_vsnprintf ⇒ _vsnprintf ⇒ _vsnprintf (Cycle)
  [Calls]
  - >> lv_mem_alloc
  - >> lv_vsnprintf
  [Called By]
  - >> lv_label_set_text_fmt

  _lv_utils_bsearch (Thumb, 64 bytes, Stack size 40 bytes, lv_utils.o(i._lv_utils_bsearch))
  [Stack]

  - Max Depth = 40
  - Call Chain = _lv_utils_bsearch
  [Called By]
  - >> get_kern_value
  - >> get_glyph_dsc_id

  draw_border_generic (Thumb, 1158 bytes, Stack size 200 bytes, lv_draw_sw_rect.o(i.draw_border_generic))
  [Stack]

  - Max Depth = 504
  - Call Chain = draw_border_generic ⇒ lv_draw_mask_radius_init ⇒ circ_calc_aa4 ⇒ lv_mem_buf_get ⇒ lv_mem_realloc ⇒ lv_tlsf_realloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_memset_00
  - >> lv_mem_buf_release
  - >> lv_mem_buf_get
  - >> lv_draw_mask_radius_init
  - >> lv_draw_mask_free_param
  - >> lv_draw_mask_add
  - >> _lv_area_intersect
  - >> lv_draw_mask_remove_id
  - >> lv_draw_mask_is_any
  - >> lv_draw_mask_apply
  - >> lv_memset_ff
  - >> lv_draw_sw_blend
  - >> draw_border_simple
  [Called By]
  - >> draw_outline
  - >> draw_border

  lv_anim_del (Thumb, 90 bytes, Stack size 32 bytes, lv_anim.o(i.lv_anim_del))
  [Stack]

  - Max Depth = 128
  - Call Chain = lv_anim_del ⇒ lv_mem_free ⇒ lv_tlsf_free ⇒ block_merge_next ⇒ block_remove ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_mem_free
  - >> _lv_ll_remove
  - >> _lv_ll_get_next
  - >> _lv_ll_get_head
  - >> anim_mark_list_change
  [Called By]
  - >> lv_anim_start
  - >> lv_obj_destructor
  - >> lv_obj_scroll_by
  - >> lv_obj_scroll_to_y
  - >> lv_obj_scroll_to_x
  - >> trans_del
  - >> scroll_area_into_view
  - >> lv_label_set_long_mode
  - >> lv_label_refr_text

  lv_anim_get (Thumb, 44 bytes, Stack size 16 bytes, lv_anim.o(i.lv_anim_get))
  [Stack]

  - Max Depth = 16
  - Call Chain = lv_anim_get
  [Calls]
  - >> _lv_ll_get_next
  - >> _lv_ll_get_head
  [Called By]
  - >> lv_label_refr_text

  lv_anim_init (Thumb, 44 bytes, Stack size 8 bytes, lv_anim.o(i.lv_anim_init))
  [Stack]

  - Max Depth = 16
  - Call Chain = lv_anim_init ⇒ lv_memset_00
  [Calls]
  - >> lv_memset_00
  [Called By]
  - >> lv_obj_scroll_by
  - >> _lv_obj_style_create_transition
  - >> lv_label_refr_text

  lv_anim_path_ease_out (Thumb, 50 bytes, Stack size 16 bytes, lv_anim.o(i.lv_anim_path_ease_out))
  [Stack]

  - Max Depth = 36
  - Call Chain = lv_anim_path_ease_out ⇒ lv_bezier3
  [Calls]
  - >> lv_map
  - >> lv_bezier3
  [Address Reference Count : 1]
  - lv_obj_scroll.o(i.lv_obj_scroll_by)

  lv_anim_path_linear (Thumb, 36 bytes, Stack size 16 bytes, lv_anim.o(i.lv_anim_path_linear))
  [Stack]

  - Max Depth = 32
  - Call Chain = lv_anim_path_linear ⇒ lv_map ⇒ __aeabi_idivmod
  [Calls]
  - >> lv_map
  [Address Reference Count : 1]
  - lv_anim.o(i.lv_anim_init)

  lv_anim_speed_to_time (Thumb, 32 bytes, Stack size 8 bytes, lv_anim.o(i.lv_anim_speed_to_time))
  [Stack]

  - Max Depth = 8
  - Call Chain = lv_anim_speed_to_time
  [Calls]
  - >> __aeabi_uidivmod
  [Called By]
  - >> lv_obj_scroll_by
  - >> lv_label_refr_text

  lv_anim_start (Thumb, 130 bytes, Stack size 16 bytes, lv_anim.o(i.lv_anim_start))
  [Stack]

  - Max Depth = 144
  - Call Chain = lv_anim_start ⇒ lv_anim_del ⇒ lv_mem_free ⇒ lv_tlsf_free ⇒ block_merge_next ⇒ block_remove ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_tick_get
  - >> lv_anim_del
  - >> _lv_ll_ins_head
  - >> lv_memcpy
  - >> _lv_ll_is_empty
  - >> anim_mark_list_change
  [Called By]
  - >> lv_obj_scroll_by
  - >> _lv_obj_style_create_transition
  - >> lv_label_refr_text

  lv_area_get_size (Thumb, 28 bytes, Stack size 0 bytes, lv_area.o(i.lv_area_get_size))
  [Called By]

  - >> draw_scrollbar
  - >> lv_obj_scrollbar_invalidate
  - >> refr_invalid_areas
  - >> lv_refr_join_area
  - >> lv_draw_sw_layer_create
  - >> lv_draw_sw_img_decoded
  - >> lv_draw_sw_blend_basic
  - >> draw_line_skew
  - >> convert_cb

  lv_area_increase (Thumb, 26 bytes, Stack size 0 bytes, lv_area.o(i.lv_area_increase))
  [Called By]

  - >> lv_obj_get_transformed_area
  - >> lv_obj_get_content_coords
  - >> lv_obj_redraw
  - >> layer_get_area
  - >> draw_shadow

  lv_area_move (Thumb, 26 bytes, Stack size 0 bytes, lv_area.o(i.lv_area_move))
  [Called By]

  - >> draw_main
  - >> lv_draw_sw_img_decoded
  - >> lv_draw_sw_blend_basic

  lv_area_set (Thumb, 14 bytes, Stack size 8 bytes, lv_area.o(i.lv_area_set))
  [Stack]

  - Max Depth = 8
  - Call Chain = lv_area_set
  [Called By]
  - >> lv_obj_get_scrollbar_area
  - >> refr_area_part
  - >> refr_area
  - >> lv_draw_sw_letter

  lv_area_set_height (Thumb, 10 bytes, Stack size 0 bytes, lv_area.o(i.lv_area_set_height))
  [Called By]

  - >> decode_and_draw

  lv_bezier3 (Thumb, 74 bytes, Stack size 20 bytes, lv_math.o(i.lv_bezier3))
  [Stack]

  - Max Depth = 20
  - Call Chain = lv_bezier3
  [Called By]
  - >> lv_anim_path_ease_out

  lv_clamp_height (Thumb, 124 bytes, Stack size 24 bytes, lv_obj_pos.o(i.lv_clamp_height))
  [Stack]

  - Max Depth = 32
  - Call Chain = lv_clamp_height ⇒ __aeabi_idivmod
  [Calls]
  - >> __aeabi_idivmod
  [Called By]
  - >> lv_obj_refr_size

  lv_clamp_width (Thumb, 124 bytes, Stack size 24 bytes, lv_obj_pos.o(i.lv_clamp_width))
  [Stack]

  - Max Depth = 32
  - Call Chain = lv_clamp_width ⇒ __aeabi_idivmod
  [Calls]
  - >> __aeabi_idivmod
  [Called By]
  - >> lv_obj_refr_size

  lv_color_fill (Thumb, 60 bytes, Stack size 16 bytes, lv_color.o(i.lv_color_fill))
  [Stack]

  - Max Depth = 16
  - Call Chain = lv_color_fill
  [Called By]
  - >> fill_normal

  lv_disp_draw_buf_init (Thumb, 22 bytes, Stack size 24 bytes, lv_hal_disp.o(i.lv_disp_draw_buf_init))
  [Stack]

  - Max Depth = 32
  - Call Chain = lv_disp_draw_buf_init ⇒ lv_memset_00
  [Calls]
  - >> lv_memset_00
  [Called By]
  - >> main

  lv_disp_drv_init (Thumb, 82 bytes, Stack size 16 bytes, lv_hal_disp.o(i.lv_disp_drv_init))
  [Stack]

  - Max Depth = 24
  - Call Chain = lv_disp_drv_init ⇒ lv_memset_00
  [Calls]
  - >> lv_memset_00
  [Called By]
  - >> main

  lv_disp_drv_register (Thumb, 294 bytes, Stack size 24 bytes, lv_hal_disp.o(i.lv_disp_drv_register))
  [Stack]

  - Max Depth = 536
  - Call Chain = lv_disp_drv_register ⇒ lv_obj_create ⇒ lv_obj_class_init_obj ⇒ lv_theme_apply ⇒ lv_obj_remove_style ⇒ lv_obj_refresh_style ⇒ refresh_children_style ⇒ refresh_children_style (Cycle)
  [Calls]
  - >> lv_obj_invalidate
  - >> lv_obj_clear_flag
  - >> _lv_ll_ins_head
  - >> _lv_ll_init
  - >> lv_obj_remove_style
  - >> lv_memset_00
  - >> lv_mem_alloc
  - >> lv_obj_create
  - >> lv_obj_set_scrollbar_mode
  - >> lv_timer_ready
  - >> lv_timer_create
  [Called By]
  - >> main

  lv_disp_flush_ready (Thumb, 12 bytes, Stack size 0 bytes, lv_hal_disp.o(i.lv_disp_flush_ready))
  [Called By]

  - >> ILI9341_flush

  lv_disp_get_default (Thumb, 6 bytes, Stack size 0 bytes, lv_hal_disp.o(i.lv_disp_get_default))
  [Called By]

  - >> _lv_inv_area
  - >> lv_disp_is_invalidation_enabled
  - >> lv_disp_get_theme
  - >> lv_disp_get_scr_prev
  - >> lv_disp_get_scr_act
  - >> lv_disp_get_layer_top
  - >> lv_disp_get_layer_sys
  - >> lv_obj_class_create_obj
  - >> lv_theme_get_from_obj
  - >> _lv_disp_refr_timer
  - >> main

  lv_disp_get_dpi (Thumb, 26 bytes, Stack size 0 bytes, lv_hal_disp.o(i.lv_disp_get_dpi))
  [Called By]

  - >> lv_obj_get_scrollbar_area
  - >> lv_label_refr_text

  lv_disp_get_draw_buf (Thumb, 6 bytes, Stack size 0 bytes, lv_hal_disp.o(i.lv_disp_get_draw_buf))
  [Called By]

  - >> refr_area_part
  - >> draw_buf_rotate
  - >> draw_buf_flush

  lv_disp_get_hor_res (Thumb, 40 bytes, Stack size 0 bytes, lv_hal_disp.o(i.lv_disp_get_hor_res))
  [Called By]

  - >> _lv_inv_area
  - >> lv_obj_scroll_by
  - >> lv_obj_class_create_obj
  - >> refr_sync_areas
  - >> refr_area_part
  - >> refr_area
  - >> lv_draw_sw_img_decoded
  - >> draw_line_skew
  - >> draw_letter_normal

  lv_disp_get_layer_sys (Thumb, 18 bytes, Stack size 8 bytes, lv_disp.o(i.lv_disp_get_layer_sys))
  [Stack]

  - Max Depth = 8
  - Call Chain = lv_disp_get_layer_sys
  [Calls]
  - >> lv_disp_get_default
  [Called By]
  - >> lv_obj_area_is_visible
  - >> _lv_disp_refr_timer
  - >> refr_area_part

  lv_disp_get_layer_top (Thumb, 18 bytes, Stack size 8 bytes, lv_disp.o(i.lv_disp_get_layer_top))
  [Stack]

  - Max Depth = 8
  - Call Chain = lv_disp_get_layer_top
  [Calls]
  - >> lv_disp_get_default
  [Called By]
  - >> lv_obj_area_is_visible
  - >> refr_area_part

  lv_disp_get_scr_act (Thumb, 18 bytes, Stack size 8 bytes, lv_disp.o(i.lv_disp_get_scr_act))
  [Stack]

  - Max Depth = 8
  - Call Chain = lv_disp_get_scr_act
  [Calls]
  - >> lv_disp_get_default
  [Called By]
  - >> lv_obj_area_is_visible
  - >> refr_obj_and_children
  - >> refr_area_part
  - >> main

  lv_disp_get_scr_prev (Thumb, 18 bytes, Stack size 8 bytes, lv_disp.o(i.lv_disp_get_scr_prev))
  [Stack]

  - Max Depth = 8
  - Call Chain = lv_disp_get_scr_prev
  [Calls]
  - >> lv_disp_get_default
  [Called By]
  - >> lv_obj_area_is_visible

  lv_disp_get_theme (Thumb, 14 bytes, Stack size 8 bytes, lv_disp.o(i.lv_disp_get_theme))
  [Stack]

  - Max Depth = 8
  - Call Chain = lv_disp_get_theme
  [Calls]
  - >> lv_disp_get_default
  [Called By]
  - >> lv_theme_get_from_obj

  lv_disp_get_ver_res (Thumb, 40 bytes, Stack size 0 bytes, lv_hal_disp.o(i.lv_disp_get_ver_res))
  [Called By]

  - >> _lv_inv_area
  - >> lv_obj_scroll_by
  - >> lv_obj_class_create_obj
  - >> refr_area_part
  - >> refr_area

  lv_disp_is_invalidation_enabled (Thumb, 32 bytes, Stack size 8 bytes, lv_disp.o(i.lv_disp_is_invalidation_enabled))
  [Stack]

  - Max Depth = 8
  - Call Chain = lv_disp_is_invalidation_enabled
  [Calls]
  - >> lv_disp_get_default
  [Called By]
  - >> _lv_inv_area
  - >> lv_obj_invalidate_area

  lv_draw_img (Thumb, 70 bytes, Stack size 40 bytes, lv_draw_img.o(i.lv_draw_img))
  [Stack]

  - Max Depth = 712
  - Call Chain = lv_draw_img ⇒ decode_and_draw ⇒ show_error ⇒ lv_draw_label ⇒ lv_txt_get_size ⇒ _lv_txt_get_next_line ⇒ lv_txt_get_next_word ⇒ lv_font_get_glyph_width ⇒ lv_font_get_glyph_dsc
  [Calls]
  - >> show_error
  - >> decode_and_draw
  [Called By]
  - >> refr_area_part
  - >> lv_draw_sw_layer_blend
  - >> draw_bg_img

  lv_draw_img_decoded (Thumb, 16 bytes, Stack size 16 bytes, lv_draw_img.o(i.lv_draw_img_decoded))
  [Stack]

  - Max Depth = 16
  - Call Chain = lv_draw_img_decoded
  [Called By]
  - >> decode_and_draw

  lv_draw_img_dsc_init (Thumb, 48 bytes, Stack size 16 bytes, lv_draw_img.o(i.lv_draw_img_dsc_init))
  [Stack]

  - Max Depth = 24
  - Call Chain = lv_draw_img_dsc_init ⇒ lv_memset_00
  [Calls]
  - >> lv_memset_00
  - >> lv_color_make
  [Called By]
  - >> refr_obj
  - >> refr_area_part
  - >> draw_bg_img

  lv_draw_init (Thumb, 2 bytes, Stack size 0 bytes, lv_draw.o(i.lv_draw_init))
  [Called By]

  - >> lv_init

  lv_draw_label (Thumb, 1354 bytes, Stack size 248 bytes, lv_draw_label.o(i.lv_draw_label))
  [Stack]

  - Max Depth = 488
  - Call Chain = lv_draw_label ⇒ lv_txt_get_size ⇒ _lv_txt_get_next_line ⇒ lv_txt_get_next_word ⇒ lv_font_get_glyph_width ⇒ lv_font_get_glyph_dsc
  [Calls]
  - >> lv_draw_rect_dsc_init
  - >> lv_draw_rect
  - >> _lv_area_intersect
  - >> lv_txt_get_width
  - >> lv_txt_get_size
  - >> lv_font_get_glyph_width
  - >> lv_draw_line_dsc_init
  - >> lv_draw_line
  - >> _lv_txt_get_next_line
  - >> _lv_txt_encoded_letter_next_2
  - >> lv_draw_letter
  - >> lv_color_make
  - >> lv_color_black
  - >> lv_area_get_width
  - >> hex_char_to_num
  - >> __aeabi_memcpy4
  [Called By]
  - >> show_error
  - >> draw_main
  - >> draw_bg_img

  lv_draw_label_dsc_init (Thumb, 68 bytes, Stack size 16 bytes, lv_draw_label.o(i.lv_draw_label_dsc_init))
  [Stack]

  - Max Depth = 40
  - Call Chain = lv_draw_label_dsc_init ⇒ lv_palette_main ⇒ lv_color_black ⇒ lv_color_make
  [Calls]
  - >> lv_memset_00
  - >> lv_palette_main
  - >> lv_color_black
  [Called By]
  - >> show_error
  - >> draw_main
  - >> draw_bg_img

  lv_draw_layer_adjust (Thumb, 10 bytes, Stack size 0 bytes, lv_draw_layer.o(i.lv_draw_layer_adjust))
  [Called By]

  - >> layer_alpha_test

  lv_draw_layer_blend (Thumb, 10 bytes, Stack size 0 bytes, lv_draw_layer.o(i.lv_draw_layer_blend))
  [Called By]

  - >> refr_obj

  lv_draw_layer_create (Thumb, 96 bytes, Stack size 24 bytes, lv_draw_layer.o(i.lv_draw_layer_create))
  [Stack]

  - Max Depth = 136
  - Call Chain = lv_draw_layer_create ⇒ lv_mem_alloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_mem_free
  - >> lv_memset_00
  - >> lv_mem_alloc
  - >> _lv_refr_get_disp_refreshing
  - >> __aeabi_memcpy
  [Called By]
  - >> refr_obj

  lv_draw_layer_destroy (Thumb, 66 bytes, Stack size 16 bytes, lv_draw_layer.o(i.lv_draw_layer_destroy))
  [Stack]

  - Max Depth = 112
  - Call Chain = lv_draw_layer_destroy ⇒ lv_mem_free ⇒ lv_tlsf_free ⇒ block_merge_next ⇒ block_remove ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_mem_free
  - >> lv_draw_wait_for_finish
  - >> _lv_refr_get_disp_refreshing
  [Called By]
  - >> refr_obj

  lv_draw_letter (Thumb, 10 bytes, Stack size 8 bytes, lv_draw_label.o(i.lv_draw_letter))
  [Stack]

  - Max Depth = 8
  - Call Chain = lv_draw_letter
  [Called By]
  - >> lv_draw_label

  lv_draw_line (Thumb, 26 bytes, Stack size 8 bytes, lv_draw_line.o(i.lv_draw_line))
  [Stack]

  - Max Depth = 8
  - Call Chain = lv_draw_line
  [Called By]
  - >> lv_draw_label

  lv_draw_line_dsc_init (Thumb, 58 bytes, Stack size 16 bytes, lv_draw_line.o(i.lv_draw_line_dsc_init))
  [Stack]

  - Max Depth = 24
  - Call Chain = lv_draw_line_dsc_init ⇒ lv_memset_00
  [Calls]
  - >> lv_memset_00
  [Called By]
  - >> lv_draw_label

  lv_draw_mask_add (Thumb, 46 bytes, Stack size 8 bytes, lv_draw_mask.o(i.lv_draw_mask_add))
  [Stack]

  - Max Depth = 8
  - Call Chain = lv_draw_mask_add
  [Called By]
  - >> lv_obj_draw
  - >> lv_draw_sw_polygon
  - >> lv_draw_sw_arc
  - >> draw_border_generic
  - >> draw_shadow
  - >> draw_bg
  - >> draw_line_skew

  lv_draw_mask_angle_init (Thumb, 170 bytes, Stack size 40 bytes, lv_draw_mask.o(i.lv_draw_mask_angle_init))
  [Stack]

  - Max Depth = 144
  - Call Chain = lv_draw_mask_angle_init ⇒ lv_draw_mask_line_angle_init ⇒ lv_draw_mask_line_points_init ⇒ lv_memset_00
  [Calls]
  - >> lv_draw_mask_line_angle_init
  [Called By]
  - >> lv_draw_sw_arc

  lv_draw_mask_apply (Thumb, 56 bytes, Stack size 40 bytes, lv_draw_mask.o(i.lv_draw_mask_apply))
  [Stack]

  - Max Depth = 40
  - Call Chain = lv_draw_mask_apply
  [Called By]
  - >> lv_draw_sw_img_decoded
  - >> draw_border_generic
  - >> draw_shadow
  - >> draw_bg
  - >> draw_line_ver
  - >> draw_line_skew
  - >> draw_line_hor
  - >> draw_letter_normal

  lv_draw_mask_free_param (Thumb, 52 bytes, Stack size 8 bytes, lv_draw_mask.o(i.lv_draw_mask_free_param))
  [Stack]

  - Max Depth = 104
  - Call Chain = lv_draw_mask_free_param ⇒ lv_mem_free ⇒ lv_tlsf_free ⇒ block_merge_next ⇒ block_remove ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_mem_free
  [Called By]
  - >> lv_obj_draw
  - >> lv_draw_sw_arc
  - >> draw_border_generic
  - >> shadow_draw_corner_buf
  - >> draw_shadow
  - >> draw_bg
  - >> draw_line_skew

  lv_draw_mask_is_any (Thumb, 78 bytes, Stack size 16 bytes, lv_draw_mask.o(i.lv_draw_mask_is_any))
  [Stack]

  - Max Depth = 80
  - Call Chain = lv_draw_mask_is_any ⇒ _lv_area_is_in ⇒ _lv_area_is_point_on ⇒ _lv_area_is_point_on (Cycle)
  [Calls]
  - >> _lv_area_is_in
  - >> _lv_area_is_out
  [Called By]
  - >> lv_draw_sw_img_decoded
  - >> draw_border_generic
  - >> draw_shadow
  - >> draw_bg
  - >> draw_line_ver
  - >> draw_line_hor
  - >> draw_letter_normal

  lv_draw_mask_line_angle_init (Thumb, 66 bytes, Stack size 48 bytes, lv_draw_mask.o(i.lv_draw_mask_line_angle_init))
  [Stack]

  - Max Depth = 104
  - Call Chain = lv_draw_mask_line_angle_init ⇒ lv_draw_mask_line_points_init ⇒ lv_memset_00
  [Calls]
  - >> lv_trigo_sin
  - >> lv_draw_mask_line_points_init
  [Called By]
  - >> lv_draw_mask_angle_init

  lv_draw_mask_line_points_init (Thumb, 316 bytes, Stack size 48 bytes, lv_draw_mask.o(i.lv_draw_mask_line_points_init))
  [Stack]

  - Max Depth = 56
  - Call Chain = lv_draw_mask_line_points_init ⇒ lv_memset_00
  [Calls]
  - >> lv_memset_00
  - >> __aeabi_idivmod
  [Called By]
  - >> lv_draw_mask_line_angle_init
  - >> lv_draw_sw_polygon
  - >> draw_line_skew

  lv_draw_mask_radius_init (Thumb, 276 bytes, Stack size 24 bytes, lv_draw_mask.o(i.lv_draw_mask_radius_init))
  [Stack]

  - Max Depth = 304
  - Call Chain = lv_draw_mask_radius_init ⇒ circ_calc_aa4 ⇒ lv_mem_buf_get ⇒ lv_mem_realloc ⇒ lv_tlsf_realloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_memset_00
  - >> lv_mem_alloc
  - >> lv_area_copy
  - >> circ_calc_aa4
  [Called By]
  - >> lv_obj_draw
  - >> lv_draw_sw_arc
  - >> draw_border_generic
  - >> shadow_draw_corner_buf
  - >> draw_shadow
  - >> draw_bg

  lv_draw_mask_remove_custom (Thumb, 40 bytes, Stack size 20 bytes, lv_draw_mask.o(i.lv_draw_mask_remove_custom))
  [Stack]

  - Max Depth = 20
  - Call Chain = lv_draw_mask_remove_custom
  [Calls]
  - >> lv_draw_mask_remove_id
  [Called By]
  - >> lv_obj_draw
  - >> lv_draw_sw_polygon

  lv_draw_mask_remove_id (Thumb, 24 bytes, Stack size 0 bytes, lv_draw_mask.o(i.lv_draw_mask_remove_id))
  [Called By]

  - >> lv_draw_mask_remove_custom
  - >> lv_draw_sw_arc
  - >> draw_border_generic
  - >> draw_shadow
  - >> draw_bg
  - >> draw_line_skew

  lv_draw_rect (Thumb, 40 bytes, Stack size 8 bytes, lv_draw_rect.o(i.lv_draw_rect))
  [Stack]

  - Max Depth = 8
  - Call Chain = lv_draw_rect
  [Called By]
  - >> lv_obj_draw
  - >> draw_scrollbar
  - >> lv_obj_redraw
  - >> refr_area_part
  - >> lv_draw_label
  - >> show_error
  - >> draw_quarter_3
  - >> draw_quarter_2
  - >> draw_quarter_1
  - >> draw_quarter_0
  - >> lv_draw_sw_polygon
  - >> lv_draw_sw_line
  - >> lv_draw_sw_arc

  lv_draw_rect_dsc_init (Thumb, 110 bytes, Stack size 24 bytes, lv_draw_rect.o(i.lv_draw_rect_dsc_init))
  [Stack]

  - Max Depth = 40
  - Call Chain = lv_draw_rect_dsc_init ⇒ lv_color_white ⇒ lv_color_make
  [Calls]
  - >> lv_memset_00
  - >> lv_color_white
  - >> lv_color_black
  [Called By]
  - >> scrollbar_init_draw_dsc
  - >> lv_obj_draw
  - >> lv_obj_redraw
  - >> refr_area_part
  - >> lv_draw_label
  - >> show_error
  - >> lv_draw_sw_line
  - >> lv_draw_sw_letter
  - >> lv_draw_sw_arc

  lv_draw_sw_arc (Thumb, 862 bytes, Stack size 352 bytes, lv_draw_sw_arc.o(i.lv_draw_sw_arc))
  [Stack]

  - Max Depth = 656
  - Call Chain = lv_draw_sw_arc ⇒ lv_draw_mask_radius_init ⇒ circ_calc_aa4 ⇒ lv_mem_buf_get ⇒ lv_mem_realloc ⇒ lv_tlsf_realloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_draw_rect_dsc_init
  - >> lv_draw_rect
  - >> lv_draw_mask_radius_init
  - >> lv_draw_mask_free_param
  - >> lv_draw_mask_add
  - >> _lv_area_intersect
  - >> lv_draw_mask_remove_id
  - >> lv_draw_mask_angle_init
  - >> get_rounded_area
  - >> draw_quarter_3
  - >> draw_quarter_2
  - >> draw_quarter_1
  - >> draw_quarter_0
  - >> __aeabi_uidivmod
  [Address Reference Count : 1]
  - lv_draw_sw.o(i.lv_draw_sw_init_ctx)

  lv_draw_sw_bg (Thumb, 24 bytes, Stack size 16 bytes, lv_draw_sw_rect.o(i.lv_draw_sw_bg))
  [Stack]

  - Max Depth = 816
  - Call Chain = lv_draw_sw_bg ⇒ draw_bg_img ⇒ lv_draw_img ⇒ decode_and_draw ⇒ show_error ⇒ lv_draw_label ⇒ lv_txt_get_size ⇒ _lv_txt_get_next_line ⇒ lv_txt_get_next_word ⇒ lv_font_get_glyph_width ⇒ lv_font_get_glyph_dsc
  [Calls]
  - >> draw_bg_img
  - >> draw_bg
  [Address Reference Count : 1]
  - lv_draw_sw.o(i.lv_draw_sw_init_ctx)

  lv_draw_sw_blend (Thumb, 46 bytes, Stack size 24 bytes, lv_draw_sw_blend.o(i.lv_draw_sw_blend))
  [Stack]

  - Max Depth = 40
  - Call Chain = lv_draw_sw_blend ⇒ _lv_area_intersect
  [Calls]
  - >> _lv_area_intersect
  [Called By]
  - >> lv_draw_sw_img_decoded
  - >> draw_border_generic
  - >> draw_shadow
  - >> draw_border_simple
  - >> draw_bg
  - >> draw_line_ver
  - >> draw_line_skew
  - >> draw_line_hor
  - >> draw_letter_normal

  lv_draw_sw_blend_basic (Thumb, 502 bytes, Stack size 64 bytes, lv_draw_sw_blend.o(i.lv_draw_sw_blend_basic))
  [Stack]

  - Max Depth = 176
  - Call Chain = lv_draw_sw_blend_basic ⇒ fill_normal ⇒ lv_color_mix
  [Calls]
  - >> lv_area_get_size
  - >> _lv_area_intersect
  - >> _lv_refr_get_disp_refreshing
  - >> lv_area_move
  - >> map_set_px
  - >> map_normal
  - >> map_blended
  - >> fill_set_px
  - >> fill_normal
  - >> fill_blended
  [Address Reference Count : 1]
  - lv_draw_sw.o(i.lv_draw_sw_init_ctx)

  lv_draw_sw_buffer_copy (Thumb, 106 bytes, Stack size 32 bytes, lv_draw_sw.o(i.lv_draw_sw_buffer_copy))
  [Stack]

  - Max Depth = 44
  - Call Chain = lv_draw_sw_buffer_copy ⇒ lv_memcpy
  [Calls]
  - >> lv_memcpy
  [Address Reference Count : 1]
  - lv_draw_sw.o(i.lv_draw_sw_init_ctx)

  lv_draw_sw_img_decoded (Thumb, 802 bytes, Stack size 160 bytes, lv_draw_sw_img.o(i.lv_draw_sw_img_decoded))
  [Stack]

  - Max Depth = 336
  - Call Chain = lv_draw_sw_img_decoded ⇒ lv_mem_buf_get ⇒ lv_mem_realloc ⇒ lv_tlsf_realloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_disp_get_hor_res
  - >> lv_memset_00
  - >> lv_mem_buf_release
  - >> lv_mem_buf_get
  - >> lv_area_get_size
  - >> _lv_area_intersect
  - >> _lv_refr_get_disp_refreshing
  - >> lv_draw_transform
  - >> lv_draw_mask_is_any
  - >> lv_draw_mask_apply
  - >> lv_area_move
  - >> lv_draw_sw_blend
  - >> lv_area_copy
  - >> convert_cb
  - >> __aeabi_uidivmod
  [Address Reference Count : 1]
  - lv_draw_sw.o(i.lv_draw_sw_init_ctx)

  lv_draw_sw_init_ctx (Thumb, 78 bytes, Stack size 8 bytes, lv_draw_sw.o(i.lv_draw_sw_init_ctx))
  [Stack]

  - Max Depth = 16
  - Call Chain = lv_draw_sw_init_ctx ⇒ lv_memset_00
  [Calls]
  - >> lv_memset_00
  [Address Reference Count : 1]
  - lv_hal_disp.o(i.lv_disp_drv_init)

  lv_draw_sw_layer_adjust (Thumb, 74 bytes, Stack size 24 bytes, lv_draw_sw_layer.o(i.lv_draw_sw_layer_adjust))
  [Stack]

  - Max Depth = 32
  - Call Chain = lv_draw_sw_layer_adjust ⇒ lv_memset_00
  [Calls]
  - >> lv_memset_00
  - >> _lv_refr_get_disp_refreshing
  [Address Reference Count : 1]
  - lv_draw_sw.o(i.lv_draw_sw_init_ctx)

  lv_draw_sw_layer_blend (Thumb, 150 bytes, Stack size 32 bytes, lv_draw_sw_layer.o(i.lv_draw_sw_layer_blend))
  [Stack]

  - Max Depth = 744
  - Call Chain = lv_draw_sw_layer_blend ⇒ lv_draw_img ⇒ decode_and_draw ⇒ show_error ⇒ lv_draw_label ⇒ lv_txt_get_size ⇒ _lv_txt_get_next_line ⇒ lv_txt_get_next_word ⇒ lv_font_get_glyph_width ⇒ lv_font_get_glyph_dsc
  [Calls]
  - >> lv_draw_wait_for_finish
  - >> lv_draw_img
  - >> _lv_refr_get_disp_refreshing
  - >> lv_img_cache_invalidate_src
  [Address Reference Count : 1]
  - lv_draw_sw.o(i.lv_draw_sw_init_ctx)

  lv_draw_sw_layer_create (Thumb, 268 bytes, Stack size 24 bytes, lv_draw_sw_layer.o(i.lv_draw_sw_layer_create))
  [Stack]

  - Max Depth = 136
  - Call Chain = lv_draw_sw_layer_create ⇒ lv_mem_alloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_memset_00
  - >> lv_mem_alloc
  - >> lv_area_get_size
  - >> _lv_refr_get_disp_refreshing
  - >> __aeabi_idivmod
  [Address Reference Count : 1]
  - lv_draw_sw.o(i.lv_draw_sw_init_ctx)

  lv_draw_sw_layer_destroy (Thumb, 10 bytes, Stack size 8 bytes, lv_draw_sw_layer.o(i.lv_draw_sw_layer_destroy))
  [Stack]

  - Max Depth = 104
  - Call Chain = lv_draw_sw_layer_destroy ⇒ lv_mem_free ⇒ lv_tlsf_free ⇒ block_merge_next ⇒ block_remove ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_mem_free
  [Address Reference Count : 1]
  - lv_draw_sw.o(i.lv_draw_sw_init_ctx)

  lv_draw_sw_letter (Thumb, 260 bytes, Stack size 128 bytes, lv_draw_sw_letter.o(i.lv_draw_sw_letter))
  [Stack]

  - Max Depth = 464
  - Call Chain = lv_draw_sw_letter ⇒ draw_letter_normal ⇒ lv_mem_buf_get ⇒ lv_mem_realloc ⇒ lv_tlsf_realloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_area_set
  - >> lv_draw_rect_dsc_init
  - >> lv_font_get_glyph_dsc
  - >> lv_font_get_glyph_bitmap
  - >> draw_letter_normal
  [Address Reference Count : 1]
  - lv_draw_sw.o(i.lv_draw_sw_init_ctx)

  lv_draw_sw_line (Thumb, 410 bytes, Stack size 120 bytes, lv_draw_sw_line.o(i.lv_draw_sw_line))
  [Stack]

  - Max Depth = 608
  - Call Chain = lv_draw_sw_line ⇒ draw_line_skew ⇒ lv_mem_buf_get ⇒ lv_mem_realloc ⇒ lv_tlsf_realloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_draw_rect_dsc_init
  - >> lv_draw_rect
  - >> _lv_area_intersect
  - >> draw_line_ver
  - >> draw_line_skew
  - >> draw_line_hor
  [Address Reference Count : 1]
  - lv_draw_sw.o(i.lv_draw_sw_init_ctx)

  lv_draw_sw_polygon (Thumb, 654 bytes, Stack size 120 bytes, lv_draw_sw_polygon.o(i.lv_draw_sw_polygon))
  [Stack]

  - Max Depth = 296
  - Call Chain = lv_draw_sw_polygon ⇒ lv_mem_buf_get ⇒ lv_mem_realloc ⇒ lv_tlsf_realloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_mem_buf_release
  - >> lv_mem_buf_get
  - >> lv_draw_rect
  - >> lv_draw_mask_remove_custom
  - >> lv_draw_mask_add
  - >> _lv_area_intersect
  - >> lv_draw_mask_line_points_init
  [Address Reference Count : 1]
  - lv_draw_sw.o(i.lv_draw_sw_init_ctx)

  lv_draw_sw_rect (Thumb, 54 bytes, Stack size 16 bytes, lv_draw_sw_rect.o(i.lv_draw_sw_rect))
  [Stack]

  - Max Depth = 816
  - Call Chain = lv_draw_sw_rect ⇒ draw_bg_img ⇒ lv_draw_img ⇒ decode_and_draw ⇒ show_error ⇒ lv_draw_label ⇒ lv_txt_get_size ⇒ _lv_txt_get_next_line ⇒ lv_txt_get_next_word ⇒ lv_font_get_glyph_width ⇒ lv_font_get_glyph_dsc
  [Calls]
  - >> draw_shadow
  - >> draw_outline
  - >> draw_border
  - >> draw_bg_img
  - >> draw_bg
  [Address Reference Count : 1]
  - lv_draw_sw.o(i.lv_draw_sw_init_ctx)

  lv_draw_sw_transform (Thumb, 600 bytes, Stack size 168 bytes, lv_draw_sw_transform.o(i.lv_draw_sw_transform))
  [Stack]

  - Max Depth = 328
  - Call Chain = lv_draw_sw_transform ⇒ argb_and_rgb_aa ⇒ lv_color_mix
  [Calls]
  - >> lv_trigo_sin
  - >> transform_point_upscaled
  - >> rgb_no_aa
  - >> rgb565a8_no_aa
  - >> argb_and_rgb_aa
  - >> __aeabi_idivmod
  - >> __aeabi_uidivmod
  [Address Reference Count : 1]
  - lv_draw_sw.o(i.lv_draw_sw_init_ctx)

  lv_draw_sw_wait_for_finish (Thumb, 2 bytes, Stack size 0 bytes, lv_draw_sw.o(i.lv_draw_sw_wait_for_finish))
  [Address Reference Count : 1]

  - lv_draw_sw.o(i.lv_draw_sw_init_ctx)

  lv_draw_transform (Thumb, 56 bytes, Stack size 64 bytes, lv_draw_transform.o(i.lv_draw_transform))
  [Stack]

  - Max Depth = 64
  - Call Chain = lv_draw_transform
  [Called By]
  - >> lv_draw_sw_img_decoded

  lv_draw_wait_for_finish (Thumb, 10 bytes, Stack size 0 bytes, lv_draw.o(i.lv_draw_wait_for_finish))
  [Called By]

  - >> lv_draw_layer_destroy
  - >> lv_draw_sw_layer_blend

  lv_event_get_code (Thumb, 8 bytes, Stack size 0 bytes, lv_event.o(i.lv_event_get_code))
  [Called By]

  - >> lv_obj_event
  - >> lv_obj_draw
  - >> lv_label_event

  lv_event_get_current_target (Thumb, 4 bytes, Stack size 0 bytes, lv_event.o(i.lv_event_get_current_target))
  [Called By]

  - >> lv_obj_event

  lv_event_get_draw_ctx (Thumb, 34 bytes, Stack size 0 bytes, lv_event.o(i.lv_event_get_draw_ctx))
  [Called By]

  - >> lv_obj_draw
  - >> draw_main

  lv_event_get_indev (Thumb, 74 bytes, Stack size 0 bytes, lv_event.o(i.lv_event_get_indev))
  [Called By]

  - >> lv_obj_event

  lv_event_get_param (Thumb, 4 bytes, Stack size 0 bytes, lv_event.o(i.lv_event_get_param))
  [Called By]

  - >> lv_obj_event
  - >> lv_obj_draw
  - >> lv_label_event

  lv_event_get_target (Thumb, 4 bytes, Stack size 0 bytes, lv_event.o(i.lv_event_get_target))
  [Called By]

  - >> lv_obj_draw
  - >> lv_label_event
  - >> draw_main

  lv_event_send (Thumb, 60 bytes, Stack size 40 bytes, lv_event.o(i.lv_event_send))
  [Stack]

  - Max Depth = 64
  - Call Chain = lv_event_send ⇒ event_send_core ⇒ event_send_core (Cycle)
  [Calls]
  - >> event_send_core
  [Called By]
  - >> lv_obj_event
  - >> lv_obj_draw
  - >> draw_scrollbar
  - >> lv_obj_scroll_by
  - >> _lv_obj_scroll_by_raw
  - >> lv_group_remove_obj
  - >> focus_next_core
  - >> lv_obj_refresh_style
  - >> lv_obj_refresh_ext_draw_size
  - >> lv_obj_class_init_obj
  - >> refresh_children_style
  - >> scroll_area_into_view
  - >> scroll_anim_ready_cb
  - >> lv_obj_refr_size
  - >> lv_obj_move_to
  - >> lv_obj_get_self_width
  - >> lv_obj_get_self_height
  - >> lv_obj_redraw
  - >> refr_obj_and_children
  - >> refr_obj
  - >> lv_refr_get_top_obj
  - >> layer_alpha_test

  lv_event_set_ext_draw_size (Thumb, 22 bytes, Stack size 0 bytes, lv_event.o(i.lv_event_set_ext_draw_size))
  [Called By]

  - >> lv_obj_event
  - >> lv_label_event

  lv_extra_init (Thumb, 2 bytes, Stack size 0 bytes, lv_extra.o(i.lv_extra_init))
  [Called By]

  - >> lv_init

  lv_font_get_bitmap_fmt_txt (Thumb, 46 bytes, Stack size 8 bytes, lv_font_fmt_txt.o(i.lv_font_get_bitmap_fmt_txt))
  [Stack]

  - Max Depth = 80
  - Call Chain = lv_font_get_bitmap_fmt_txt ⇒ get_glyph_dsc_id ⇒ _lv_utils_bsearch
  [Calls]
  - >> get_glyph_dsc_id
  [Address Reference Count : 1]
  - lv_font_montserrat_14.o(.constdata)

  lv_font_get_glyph_bitmap (Thumb, 10 bytes, Stack size 0 bytes, lv_font.o(i.lv_font_get_glyph_bitmap))
  [Called By]

  - >> lv_draw_sw_letter

  lv_font_get_glyph_dsc (Thumb, 164 bytes, Stack size 40 bytes, lv_font.o(i.lv_font_get_glyph_dsc))
  [Stack]

  - Max Depth = 40
  - Call Chain = lv_font_get_glyph_dsc
  [Called By]
  - >> lv_font_get_glyph_width
  - >> lv_draw_sw_letter

  lv_font_get_glyph_dsc_fmt_txt (Thumb, 154 bytes, Stack size 40 bytes, lv_font_fmt_txt.o(i.lv_font_get_glyph_dsc_fmt_txt))
  [Stack]

  - Max Depth = 112
  - Call Chain = lv_font_get_glyph_dsc_fmt_txt ⇒ get_glyph_dsc_id ⇒ _lv_utils_bsearch
  [Calls]
  - >> get_kern_value
  - >> get_glyph_dsc_id
  [Address Reference Count : 1]
  - lv_font_montserrat_14.o(.constdata)

  lv_font_get_glyph_width (Thumb, 26 bytes, Stack size 24 bytes, lv_font.o(i.lv_font_get_glyph_width))
  [Stack]

  - Max Depth = 64
  - Call Chain = lv_font_get_glyph_width ⇒ lv_font_get_glyph_dsc
  [Calls]
  - >> lv_font_get_glyph_dsc
  [Called By]
  - >> lv_txt_get_width
  - >> _lv_txt_get_next_line
  - >> lv_draw_label
  - >> lv_txt_get_next_word
  - >> lv_label_get_letter_on
  - >> lv_label_refr_text
  - >> draw_main

  lv_fs_close (Thumb, 72 bytes, Stack size 16 bytes, lv_fs.o(i.lv_fs_close))
  [Stack]

  - Max Depth = 112
  - Call Chain = lv_fs_close ⇒ lv_mem_free ⇒ lv_tlsf_free ⇒ block_merge_next ⇒ block_remove ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_mem_free
  [Called By]
  - >> lv_img_decoder_built_in_info
  - >> lv_img_decoder_built_in_close

  lv_fs_get_drv (Thumb, 36 bytes, Stack size 8 bytes, lv_fs.o(i.lv_fs_get_drv))
  [Stack]

  - Max Depth = 8
  - Call Chain = lv_fs_get_drv
  [Calls]
  - >> _lv_ll_get_next
  - >> _lv_ll_get_head
  [Called By]
  - >> lv_fs_open

  lv_fs_get_ext (Thumb, 40 bytes, Stack size 8 bytes, lv_fs.o(i.lv_fs_get_ext))
  [Stack]

  - Max Depth = 20
  - Call Chain = lv_fs_get_ext ⇒ strlen
  [Calls]
  - >> strlen
  [Called By]
  - >> lv_img_decoder_built_in_open
  - >> lv_img_decoder_built_in_info

  lv_fs_open (Thumb, 130 bytes, Stack size 24 bytes, lv_fs.o(i.lv_fs_open))
  [Stack]

  - Max Depth = 136
  - Call Chain = lv_fs_open ⇒ lv_mem_alloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_memset_00
  - >> lv_mem_alloc
  - >> lv_fs_get_drv
  - >> lv_fs_get_real_path
  [Called By]
  - >> lv_img_decoder_built_in_open
  - >> lv_img_decoder_built_in_info

  lv_fs_read (Thumb, 74 bytes, Stack size 24 bytes, lv_fs.o(i.lv_fs_read))
  [Stack]

  - Max Depth = 192
  - Call Chain = lv_fs_read ⇒ lv_fs_read_cached ⇒ lv_mem_alloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_fs_read_cached
  [Called By]
  - >> lv_img_decoder_built_in_read_line
  - >> lv_img_decoder_built_in_open
  - >> lv_img_decoder_built_in_info
  - >> lv_img_decoder_built_in_line_indexed
  - >> lv_img_decoder_built_in_line_alpha

  lv_fs_seek (Thumb, 148 bytes, Stack size 24 bytes, lv_fs.o(i.lv_fs_seek))
  [Stack]

  - Max Depth = 24
  - Call Chain = lv_fs_seek
  [Called By]
  - >> lv_img_decoder_built_in_read_line
  - >> lv_img_decoder_built_in_open
  - >> lv_img_decoder_built_in_line_indexed
  - >> lv_img_decoder_built_in_line_alpha

  lv_gradient_calculate (Thumb, 244 bytes, Stack size 40 bytes, lv_draw_sw_gradient.o(i.lv_gradient_calculate))
  [Stack]

  - Max Depth = 52
  - Call Chain = lv_gradient_calculate ⇒ lv_color_to32
  [Calls]
  - >> lv_color_to32
  - >> __aeabi_idivmod
  [Called By]
  - >> lv_gradient_get

  lv_gradient_cleanup (Thumb, 14 bytes, Stack size 8 bytes, lv_draw_sw_gradient.o(i.lv_gradient_cleanup))
  [Stack]

  - Max Depth = 104
  - Call Chain = lv_gradient_cleanup ⇒ lv_mem_free ⇒ lv_tlsf_free ⇒ block_merge_next ⇒ block_remove ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_mem_free
  [Called By]
  - >> draw_bg

  lv_gradient_get (Thumb, 152 bytes, Stack size 32 bytes, lv_draw_sw_gradient.o(i.lv_gradient_get))
  [Stack]

  - Max Depth = 184
  - Call Chain = lv_gradient_get ⇒ allocate_item ⇒ lv_mem_alloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_gradient_set_cache_size
  - >> lv_gradient_calculate
  - >> iterate_cache
  - >> compute_key
  - >> allocate_item
  [Called By]
  - >> draw_bg

  lv_gradient_set_cache_size (Thumb, 40 bytes, Stack size 16 bytes, lv_draw_sw_gradient.o(i.lv_gradient_set_cache_size))
  [Stack]

  - Max Depth = 128
  - Call Chain = lv_gradient_set_cache_size ⇒ lv_mem_alloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_mem_free
  - >> lv_memset_00
  - >> lv_mem_alloc
  [Called By]
  - >> lv_gradient_get

  lv_group_add_obj (Thumb, 116 bytes, Stack size 16 bytes, lv_group.o(i.lv_group_add_obj))
  [Stack]

  - Max Depth = 456
  - Call Chain = lv_group_add_obj ⇒ lv_group_remove_obj ⇒ lv_group_refocus ⇒ lv_group_focus_prev ⇒ focus_next_core ⇒ lv_obj_invalidate ⇒ lv_obj_invalidate_area ⇒ lv_obj_area_is_visible ⇒ lv_obj_get_transformed_area ⇒ lv_obj_transform_point ⇒ lv_obj_transform_point (Cycle)
  [Calls]
  - >> lv_obj_allocate_spec_attr
  - >> lv_obj_get_group
  - >> _lv_ll_ins_tail
  - >> _lv_ll_get_next
  - >> _lv_ll_get_head
  - >> lv_group_remove_obj
  - >> lv_group_refocus
  [Called By]
  - >> lv_obj_class_init_obj

  lv_group_focus_next (Thumb, 30 bytes, Stack size 8 bytes, lv_group.o(i.lv_group_focus_next))
  [Stack]

  - Max Depth = 400
  - Call Chain = lv_group_focus_next ⇒ focus_next_core ⇒ lv_obj_invalidate ⇒ lv_obj_invalidate_area ⇒ lv_obj_area_is_visible ⇒ lv_obj_get_transformed_area ⇒ lv_obj_transform_point ⇒ lv_obj_transform_point (Cycle)
  [Calls]
  - >> focus_next_core
  [Called By]
  - >> lv_group_refocus

  lv_group_focus_prev (Thumb, 30 bytes, Stack size 8 bytes, lv_group.o(i.lv_group_focus_prev))
  [Stack]

  - Max Depth = 400
  - Call Chain = lv_group_focus_prev ⇒ focus_next_core ⇒ lv_obj_invalidate ⇒ lv_obj_invalidate_area ⇒ lv_obj_area_is_visible ⇒ lv_obj_get_transformed_area ⇒ lv_obj_transform_point ⇒ lv_obj_transform_point (Cycle)
  [Calls]
  - >> focus_next_core
  [Called By]
  - >> lv_group_refocus

  lv_group_get_default (Thumb, 6 bytes, Stack size 0 bytes, lv_group.o(i.lv_group_get_default))
  [Called By]

  - >> lv_obj_class_init_obj

  lv_group_get_editing (Thumb, 12 bytes, Stack size 0 bytes, lv_group.o(i.lv_group_get_editing))
  [Called By]

  - >> lv_obj_event

  lv_group_remove_obj (Thumb, 154 bytes, Stack size 24 bytes, lv_group.o(i.lv_group_remove_obj))
  [Stack]

  - Max Depth = 440
  - Call Chain = lv_group_remove_obj ⇒ lv_group_refocus ⇒ lv_group_focus_prev ⇒ focus_next_core ⇒ lv_obj_invalidate ⇒ lv_obj_invalidate_area ⇒ lv_obj_area_is_visible ⇒ lv_obj_get_transformed_area ⇒ lv_obj_transform_point ⇒ lv_obj_transform_point (Cycle)
  [Calls]
  - >> lv_event_send
  - >> lv_obj_get_group
  - >> lv_mem_free
  - >> _lv_ll_remove
  - >> _lv_ll_get_tail
  - >> _lv_ll_get_next
  - >> _lv_ll_get_head
  - >> lv_group_refocus
  - >> get_indev
  [Called By]
  - >> lv_obj_destructor
  - >> lv_group_add_obj

  lv_img_cache_invalidate_src (Thumb, 2 bytes, Stack size 0 bytes, lv_img_cache.o(i.lv_img_cache_invalidate_src))
  [Called By]

  - >> lv_draw_sw_layer_blend

  lv_img_cf_get_px_size (Thumb, 54 bytes, Stack size 4 bytes, lv_draw_img.o(i.lv_img_cf_get_px_size))
  [Stack]

  - Max Depth = 12
  - Call Chain = lv_img_cf_get_px_size ⇒ __ARM_common_switch8
  [Calls]
  - >> __ARM_common_switch8
  [Called By]
  - >> lv_img_decoder_built_in_read_line
  - >> lv_img_decoder_built_in_open
  - >> lv_img_decoder_built_in_line_indexed
  - >> lv_img_decoder_built_in_line_alpha

  lv_img_cf_has_alpha (Thumb, 34 bytes, Stack size 4 bytes, lv_draw_img.o(i.lv_img_cf_has_alpha))
  [Stack]

  - Max Depth = 12
  - Call Chain = lv_img_cf_has_alpha ⇒ __ARM_common_switch8
  [Calls]
  - >> __ARM_common_switch8
  [Called By]
  - >> decode_and_draw

  lv_img_cf_is_chroma_keyed (Thumb, 16 bytes, Stack size 0 bytes, lv_draw_img.o(i.lv_img_cf_is_chroma_keyed))
  [Called By]

  - >> decode_and_draw

  lv_img_decoder_built_in_close (Thumb, 54 bytes, Stack size 16 bytes, lv_img_decoder.o(i.lv_img_decoder_built_in_close))
  [Stack]

  - Max Depth = 128
  - Call Chain = lv_img_decoder_built_in_close ⇒ lv_fs_close ⇒ lv_mem_free ⇒ lv_tlsf_free ⇒ block_merge_next ⇒ block_remove ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_mem_free
  - >> lv_fs_close
  [Called By]
  - >> lv_img_decoder_built_in_open
  [Address Reference Count : 1]
  - lv_img_decoder.o(i._lv_img_decoder_init)

  lv_img_decoder_built_in_info (Thumb, 190 bytes, Stack size 32 bytes, lv_img_decoder.o(i.lv_img_decoder_built_in_info))
  [Stack]

  - Max Depth = 224
  - Call Chain = lv_img_decoder_built_in_info ⇒ lv_fs_read ⇒ lv_fs_read_cached ⇒ lv_mem_alloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_img_src_get_type
  - >> lv_fs_read
  - >> lv_fs_open
  - >> lv_fs_get_ext
  - >> lv_fs_close
  - >> strcmp
  [Address Reference Count : 1]
  - lv_img_decoder.o(i._lv_img_decoder_init)

  lv_img_decoder_built_in_open (Thumb, 464 bytes, Stack size 32 bytes, lv_img_decoder.o(i.lv_img_decoder_built_in_open))
  [Stack]

  - Max Depth = 224
  - Call Chain = lv_img_decoder_built_in_open ⇒ lv_fs_read ⇒ lv_fs_read_cached ⇒ lv_mem_alloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_mem_free
  - >> lv_memset_00
  - >> lv_mem_alloc
  - >> lv_img_cf_get_px_size
  - >> lv_fs_seek
  - >> lv_fs_read
  - >> lv_fs_open
  - >> lv_fs_get_ext
  - >> lv_img_decoder_built_in_close
  - >> lv_color_make
  - >> strcmp
  [Address Reference Count : 1]
  - lv_img_decoder.o(i._lv_img_decoder_init)

  lv_img_decoder_built_in_read_line (Thumb, 190 bytes, Stack size 48 bytes, lv_img_decoder.o(i.lv_img_decoder_built_in_read_line))
  [Stack]

  - Max Depth = 336
  - Call Chain = lv_img_decoder_built_in_read_line ⇒ lv_img_decoder_built_in_line_alpha ⇒ lv_fs_read ⇒ lv_fs_read_cached ⇒ lv_mem_alloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_img_cf_get_px_size
  - >> lv_fs_seek
  - >> lv_fs_read
  - >> lv_img_decoder_built_in_line_indexed
  - >> lv_img_decoder_built_in_line_alpha
  [Address Reference Count : 1]
  - lv_img_decoder.o(i._lv_img_decoder_init)

  lv_img_decoder_close (Thumb, 38 bytes, Stack size 8 bytes, lv_img_decoder.o(i.lv_img_decoder_close))
  [Stack]

  - Max Depth = 104
  - Call Chain = lv_img_decoder_close ⇒ lv_mem_free ⇒ lv_tlsf_free ⇒ block_merge_next ⇒ block_remove ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_mem_free
  [Called By]
  - >> decode_and_draw

  lv_img_decoder_create (Thumb, 24 bytes, Stack size 8 bytes, lv_img_decoder.o(i.lv_img_decoder_create))
  [Stack]

  - Max Depth = 136
  - Call Chain = lv_img_decoder_create ⇒ _lv_ll_ins_head ⇒ lv_mem_alloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> _lv_ll_ins_head
  - >> lv_memset_00
  [Called By]
  - >> _lv_img_decoder_init

  lv_img_decoder_get_info (Thumb, 84 bytes, Stack size 24 bytes, lv_img_decoder.o(i.lv_img_decoder_get_info))
  [Stack]

  - Max Depth = 32
  - Call Chain = lv_img_decoder_get_info ⇒ lv_memset_00
  [Calls]
  - >> _lv_ll_get_next
  - >> _lv_ll_get_head
  - >> lv_img_src_get_type
  - >> lv_memset_00
  [Called By]
  - >> refr_area_part
  - >> draw_bg_img

  lv_img_decoder_open (Thumb, 194 bytes, Stack size 40 bytes, lv_img_decoder.o(i.lv_img_decoder_open))
  [Stack]

  - Max Depth = 152
  - Call Chain = lv_img_decoder_open ⇒ lv_mem_alloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_mem_free
  - >> _lv_ll_get_next
  - >> _lv_ll_get_head
  - >> lv_img_src_get_type
  - >> lv_memset_00
  - >> lv_mem_alloc
  - >> strlen
  - >> strcpy
  [Called By]
  - >> _lv_img_cache_open

  lv_img_decoder_read_line (Thumb, 34 bytes, Stack size 32 bytes, lv_img_decoder.o(i.lv_img_decoder_read_line))
  [Stack]

  - Max Depth = 32
  - Call Chain = lv_img_decoder_read_line
  [Called By]
  - >> decode_and_draw

  lv_img_src_get_type (Thumb, 36 bytes, Stack size 0 bytes, lv_draw_img.o(i.lv_img_src_get_type))
  [Called By]

  - >> lv_obj_init_draw_rect_dsc
  - >> lv_img_decoder_get_info
  - >> lv_img_decoder_built_in_info
  - >> lv_img_decoder_open
  - >> draw_bg_img

  lv_indev_get_act (Thumb, 6 bytes, Stack size 0 bytes, lv_indev.o(i.lv_indev_get_act))
  [Called By]

  - >> event_send_core
  - >> lv_obj_event

  lv_indev_get_next (Thumb, 24 bytes, Stack size 8 bytes, lv_hal_indev.o(i.lv_indev_get_next))
  [Stack]

  - Max Depth = 8
  - Call Chain = lv_indev_get_next
  [Calls]
  - >> _lv_ll_get_next
  - >> _lv_ll_get_head
  [Called By]
  - >> get_indev
  - >> lv_obj_get_scrollbar_area

  lv_indev_get_scroll_dir (Thumb, 30 bytes, Stack size 0 bytes, lv_indev.o(i.lv_indev_get_scroll_dir))
  [Called By]

  - >> lv_obj_get_scrollbar_area

  lv_indev_get_scroll_obj (Thumb, 24 bytes, Stack size 0 bytes, lv_indev.o(i.lv_indev_get_scroll_obj))
  [Called By]

  - >> lv_obj_event
  - >> lv_obj_get_scrollbar_area

  lv_indev_get_type (Thumb, 10 bytes, Stack size 0 bytes, lv_indev.o(i.lv_indev_get_type))
  [Called By]

  - >> lv_obj_event
  - >> get_indev

  lv_init (Thumb, 88 bytes, Stack size 16 bytes, lv_obj.o(i.lv_init))
  [Stack]

  - Max Depth = 176
  - Call Chain = lv_init ⇒ _lv_anim_core_init ⇒ lv_timer_create ⇒ _lv_ll_ins_head ⇒ lv_mem_alloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> _lv_ll_init
  - >> _lv_group_init
  - >> lv_mem_init
  - >> lv_extra_init
  - >> lv_draw_init
  - >> _lv_timer_core_init
  - >> _lv_refr_init
  - >> _lv_obj_style_init
  - >> _lv_img_decoder_init
  - >> _lv_fs_init
  - >> _lv_anim_core_init
  [Called By]
  - >> main

  lv_label_create (Thumb, 20 bytes, Stack size 8 bytes, lv_label.o(i.lv_label_create))
  [Stack]

  - Max Depth = 512
  - Call Chain = lv_label_create ⇒ lv_obj_class_init_obj ⇒ lv_theme_apply ⇒ lv_obj_remove_style ⇒ lv_obj_refresh_style ⇒ refresh_children_style ⇒ refresh_children_style (Cycle)
  [Calls]
  - >> lv_obj_class_init_obj
  - >> lv_obj_class_create_obj
  [Called By]
  - >> _lv_disp_refr_timer
  - >> main

  lv_label_get_letter_on (Thumb, 504 bytes, Stack size 104 bytes, lv_label.o(i.lv_label_get_letter_on))
  [Stack]

  - Max Depth = 288
  - Call Chain = lv_label_get_letter_on ⇒ _lv_txt_get_next_line ⇒ lv_txt_get_next_word ⇒ lv_font_get_glyph_width ⇒ lv_font_get_glyph_dsc
  [Calls]
  - >> lv_obj_get_style_prop
  - >> lv_obj_get_content_coords
  - >> lv_obj_calculate_style_text_align
  - >> lv_txt_get_width
  - >> lv_font_get_glyph_width
  - >> _lv_txt_get_next_line
  - >> _lv_txt_encoded_letter_next_2
  - >> _lv_txt_is_cmd
  - >> lv_obj_get_style_width
  - >> lv_obj_get_style_text_line_space
  - >> lv_obj_get_style_text_letter_space
  - >> lv_obj_get_style_text_font
  [Called By]
  - >> lv_label_refr_text

  lv_label_set_long_mode (Thumb, 102 bytes, Stack size 16 bytes, lv_label.o(i.lv_label_set_long_mode))
  [Stack]

  - Max Depth = 488
  - Call Chain = lv_label_set_long_mode ⇒ lv_label_refr_text ⇒ lv_obj_invalidate ⇒ lv_obj_invalidate_area ⇒ lv_obj_area_is_visible ⇒ lv_obj_get_transformed_area ⇒ lv_obj_transform_point ⇒ lv_obj_transform_point (Cycle)
  [Calls]
  - >> lv_anim_del
  - >> lv_label_revert_dots
  - >> lv_label_refr_text
  [Called By]
  - >> lv_label_constructor

  lv_label_set_text (Thumb, 112 bytes, Stack size 16 bytes, lv_label.o(i.lv_label_set_text))
  [Stack]

  - Max Depth = 488
  - Call Chain = lv_label_set_text ⇒ lv_label_refr_text ⇒ lv_obj_invalidate ⇒ lv_obj_invalidate_area ⇒ lv_obj_area_is_visible ⇒ lv_obj_get_transformed_area ⇒ lv_obj_transform_point ⇒ lv_obj_transform_point (Cycle)
  [Calls]
  - >> lv_mem_realloc
  - >> lv_obj_invalidate
  - >> lv_mem_free
  - >> lv_mem_alloc
  - >> lv_label_refr_text
  - >> strlen
  - >> strcpy
  [Called By]
  - >> _lv_disp_refr_timer
  - >> lv_label_constructor
  - >> main

  lv_label_set_text_fmt (Thumb, 82 bytes, Stack size 32 bytes, lv_label.o(i.lv_label_set_text_fmt))
  [Stack]

  - Max Depth = 504
  - Call Chain = lv_label_set_text_fmt ⇒ lv_label_refr_text ⇒ lv_obj_invalidate ⇒ lv_obj_invalidate_area ⇒ lv_obj_area_is_visible ⇒ lv_obj_get_transformed_area ⇒ lv_obj_transform_point ⇒ lv_obj_transform_point (Cycle)
  [Calls]
  - >> lv_obj_invalidate
  - >> lv_mem_free
  - >> _lv_txt_set_text_vfmt
  - >> lv_label_refr_text
  [Called By]
  - >> _lv_disp_refr_timer

  lv_map (Thumb, 64 bytes, Stack size 8 bytes, lv_math.o(i.lv_map))
  [Stack]

  - Max Depth = 16
  - Call Chain = lv_map ⇒ __aeabi_idivmod
  [Calls]
  - >> __aeabi_idivmod
  [Called By]
  - >> lv_anim_path_ease_out
  - >> lv_anim_path_linear

  lv_mem_alloc (Thumb, 44 bytes, Stack size 16 bytes, lv_mem.o(i.lv_mem_alloc))
  [Stack]

  - Max Depth = 112
  - Call Chain = lv_mem_alloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_tlsf_malloc
  [Called By]
  - >> lv_obj_allocate_spec_attr
  - >> lv_mem_realloc
  - >> _lv_ll_ins_tail
  - >> _lv_ll_ins_head
  - >> lv_obj_class_create_obj
  - >> lv_draw_mask_radius_init
  - >> get_trans_style
  - >> get_local_style
  - >> lv_style_remove_prop
  - >> lv_label_set_text
  - >> lv_draw_layer_create
  - >> _lv_ll_ins_prev
  - >> circ_calc_aa4
  - >> lv_fs_open
  - >> lv_img_decoder_built_in_open
  - >> lv_img_decoder_open
  - >> lv_disp_drv_register
  - >> lv_style_set_prop_internal
  - >> lv_fs_read_cached
  - >> _lv_txt_set_text_vfmt
  - >> lv_label_refr_text
  - >> lv_draw_sw_layer_create
  - >> lv_gradient_set_cache_size
  - >> allocate_item

  lv_mem_buf_free_all (Thumb, 38 bytes, Stack size 24 bytes, lv_mem.o(i.lv_mem_buf_free_all))
  [Stack]

  - Max Depth = 120
  - Call Chain = lv_mem_buf_free_all ⇒ lv_mem_free ⇒ lv_tlsf_free ⇒ block_merge_next ⇒ block_remove ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_mem_free
  [Called By]
  - >> _lv_disp_refr_timer

  lv_mem_buf_get (Thumb, 138 bytes, Stack size 24 bytes, lv_mem.o(i.lv_mem_buf_get))
  [Stack]

  - Max Depth = 176
  - Call Chain = lv_mem_buf_get ⇒ lv_mem_realloc ⇒ lv_tlsf_realloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_mem_realloc
  [Called By]
  - >> lv_obj_set_state
  - >> lv_obj_draw
  - >> draw_buf_rotate
  - >> circ_calc_aa4
  - >> decode_and_draw
  - >> lv_img_decoder_built_in_line_indexed
  - >> lv_img_decoder_built_in_line_alpha
  - >> lv_draw_sw_polygon
  - >> lv_draw_sw_img_decoded
  - >> draw_border_generic
  - >> shadow_draw_corner_buf
  - >> shadow_blur_corner
  - >> draw_shadow
  - >> draw_bg
  - >> draw_line_ver
  - >> draw_line_skew
  - >> draw_line_hor
  - >> draw_letter_normal

  lv_mem_buf_release (Thumb, 32 bytes, Stack size 0 bytes, lv_mem.o(i.lv_mem_buf_release))
  [Called By]

  - >> lv_obj_set_state
  - >> lv_obj_draw
  - >> draw_buf_rotate
  - >> circ_calc_aa4
  - >> decode_and_draw
  - >> lv_img_decoder_built_in_line_indexed
  - >> lv_img_decoder_built_in_line_alpha
  - >> lv_draw_sw_polygon
  - >> lv_draw_sw_img_decoded
  - >> draw_border_generic
  - >> shadow_draw_corner_buf
  - >> shadow_blur_corner
  - >> draw_shadow
  - >> draw_bg
  - >> draw_line_ver
  - >> draw_line_skew
  - >> draw_line_hor
  - >> draw_letter_normal

  lv_mem_free (Thumb, 38 bytes, Stack size 8 bytes, lv_mem.o(i.lv_mem_free))
  [Stack]

  - Max Depth = 96
  - Call Chain = lv_mem_free ⇒ lv_tlsf_free ⇒ block_merge_next ⇒ block_remove ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_tlsf_free
  [Called By]
  - >> lv_mem_realloc
  - >> lv_anim_del
  - >> lv_obj_destructor
  - >> _lv_ll_clear
  - >> lv_group_remove_obj
  - >> lv_obj_remove_style
  - >> lv_obj_class_create_obj
  - >> lv_draw_mask_free_param
  - >> trans_del
  - >> trans_anim_ready_cb
  - >> lv_style_reset
  - >> lv_style_remove_prop
  - >> lv_mem_buf_free_all
  - >> lv_label_set_text_fmt
  - >> lv_label_set_text
  - >> lv_draw_layer_destroy
  - >> lv_draw_layer_create
  - >> _lv_draw_mask_cleanup
  - >> refr_sync_areas
  - >> circ_calc_aa4
  - >> lv_img_decoder_close
  - >> lv_fs_close
  - >> lv_img_decoder_built_in_open
  - >> lv_img_decoder_built_in_close
  - >> lv_img_decoder_open
  - >> lv_timer_del
  - >> lv_label_dot_tmp_free
  - >> lv_label_destructor
  - >> lv_draw_sw_layer_destroy
  - >> lv_gradient_set_cache_size
  - >> lv_gradient_cleanup
  - >> anim_ready_handler

  lv_mem_init (Thumb, 18 bytes, Stack size 8 bytes, lv_mem.o(i.lv_mem_init))
  [Stack]

  - Max Depth = 104
  - Call Chain = lv_mem_init ⇒ lv_tlsf_create_with_pool ⇒ lv_tlsf_add_pool ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_tlsf_create_with_pool
  [Called By]
  - >> lv_init

  lv_mem_realloc (Thumb, 42 bytes, Stack size 8 bytes, lv_mem.o(i.lv_mem_realloc))
  [Stack]

  - Max Depth = 152
  - Call Chain = lv_mem_realloc ⇒ lv_tlsf_realloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_mem_free
  - >> lv_mem_alloc
  - >> lv_tlsf_realloc
  [Called By]
  - >> lv_obj_remove_style
  - >> lv_obj_class_create_obj
  - >> lv_mem_buf_get
  - >> get_trans_style
  - >> get_local_style
  - >> lv_label_set_text
  - >> lv_style_set_prop_internal

  lv_memcpy (Thumb, 278 bytes, Stack size 12 bytes, lv_mem.o(i.lv_memcpy))
  [Stack]

  - Max Depth = 12
  - Call Chain = lv_memcpy
  [Called By]
  - >> lv_anim_start
  - >> lv_obj_init_draw_rect_dsc
  - >> lv_tlsf_realloc
  - >> lv_fs_read_cached
  - >> lv_label_refr_text
  - >> map_normal
  - >> lv_draw_sw_buffer_copy
  - >> shadow_blur_corner
  - >> draw_shadow
  - >> convert_cb
  - >> kill_oldest_item

  lv_memset (Thumb, 92 bytes, Stack size 8 bytes, lv_mem.o(i.lv_memset))
  [Stack]

  - Max Depth = 8
  - Call Chain = lv_memset
  [Called By]
  - >> draw_shadow
  - >> draw_bg

  lv_memset_00 (Thumb, 84 bytes, Stack size 8 bytes, lv_mem.o(i.lv_memset_00))
  [Stack]

  - Max Depth = 8
  - Call Chain = lv_memset_00
  [Called By]
  - >> lv_obj_allocate_spec_attr
  - >> lv_anim_init
  - >> lv_obj_set_state
  - >> lv_obj_draw_dsc_init
  - >> lv_obj_class_create_obj
  - >> lv_draw_rect_dsc_init
  - >> lv_draw_mask_radius_init
  - >> get_trans_style
  - >> get_local_style
  - >> lv_style_reset
  - >> lv_style_init
  - >> lv_img_decoder_get_info
  - >> lv_draw_layer_create
  - >> lv_draw_img_dsc_init
  - >> _lv_draw_mask_cleanup
  - >> _lv_disp_refr_timer
  - >> lv_draw_mask_radius
  - >> lv_draw_mask_line
  - >> lv_draw_mask_angle
  - >> line_mask_steep
  - >> line_mask_flat
  - >> lv_draw_line_dsc_init
  - >> lv_draw_label_dsc_init
  - >> _lv_img_cache_open
  - >> lv_fs_open
  - >> lv_img_decoder_create
  - >> lv_img_decoder_built_in_open
  - >> lv_img_decoder_open
  - >> lv_draw_mask_line_points_init
  - >> lv_draw_sw_init_ctx
  - >> lv_disp_drv_register
  - >> lv_disp_drv_init
  - >> lv_disp_draw_buf_init
  - >> lv_draw_sw_layer_create
  - >> lv_draw_sw_layer_adjust
  - >> lv_draw_sw_img_decoded
  - >> draw_border_generic
  - >> shadow_draw_corner_buf
  - >> draw_shadow
  - >> draw_border_simple
  - >> draw_line_ver
  - >> draw_line_skew
  - >> draw_line_hor
  - >> draw_letter_normal
  - >> lv_gradient_set_cache_size
  - >> kill_oldest_item

  lv_memset_ff (Thumb, 90 bytes, Stack size 8 bytes, lv_mem.o(i.lv_memset_ff))
  [Stack]

  - Max Depth = 8
  - Call Chain = lv_memset_ff
  [Called By]
  - >> rgb_no_aa
  - >> draw_border_generic
  - >> shadow_draw_corner_buf
  - >> draw_shadow
  - >> draw_line_ver
  - >> draw_line_skew
  - >> draw_line_hor
  - >> convert_cb

  lv_obj_add_state (Thumb, 16 bytes, Stack size 8 bytes, lv_obj.o(i.lv_obj_add_state))
  [Stack]

  - Max Depth = 512
  - Call Chain = lv_obj_add_state ⇒ lv_obj_set_state ⇒ lv_obj_refresh_style ⇒ refresh_children_style ⇒ refresh_children_style (Cycle)
  [Calls]
  - >> lv_obj_set_state
  [Called By]
  - >> lv_obj_event

  lv_obj_align (Thumb, 26 bytes, Stack size 16 bytes, lv_obj_pos.o(i.lv_obj_align))
  [Stack]

  - Max Depth = 488
  - Call Chain = lv_obj_align ⇒ lv_obj_set_pos ⇒ lv_obj_set_y ⇒ lv_obj_set_style_y ⇒ lv_obj_set_local_style_prop ⇒ lv_obj_refresh_style ⇒ refresh_children_style ⇒ refresh_children_style (Cycle)
  [Calls]
  - >> lv_obj_set_pos
  - >> lv_obj_set_style_align
  [Called By]
  - >> _lv_disp_refr_timer

  lv_obj_allocate_spec_attr (Thumb, 56 bytes, Stack size 8 bytes, lv_obj.o(i.lv_obj_allocate_spec_attr))
  [Stack]

  - Max Depth = 120
  - Call Chain = lv_obj_allocate_spec_attr ⇒ lv_mem_alloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_memset_00
  - >> lv_mem_alloc
  [Called By]
  - >> _lv_obj_scroll_by_raw
  - >> lv_group_add_obj
  - >> lv_obj_refresh_style
  - >> lv_obj_refresh_ext_draw_size
  - >> lv_obj_class_create_obj
  - >> lv_obj_set_scrollbar_mode

  lv_obj_area_is_visible (Thumb, 238 bytes, Stack size 32 bytes, lv_obj_pos.o(i.lv_obj_area_is_visible))
  [Stack]

  - Max Depth = 296
  - Call Chain = lv_obj_area_is_visible ⇒ lv_obj_get_transformed_area ⇒ lv_obj_transform_point ⇒ lv_obj_transform_point (Cycle)
  [Calls]
  - >> lv_obj_has_flag
  - >> lv_obj_get_disp
  - >> lv_disp_get_scr_prev
  - >> lv_disp_get_scr_act
  - >> lv_disp_get_layer_top
  - >> lv_disp_get_layer_sys
  - >> lv_obj_has_flag_any
  - >> lv_obj_get_parent
  - >> _lv_obj_get_ext_draw_size
  - >> lv_obj_get_screen
  - >> _lv_area_intersect
  - >> lv_obj_get_transformed_area
  - >> lv_area_copy
  [Called By]
  - >> lv_obj_invalidate_area

  lv_obj_calculate_ext_draw_size (Thumb, 208 bytes, Stack size 24 bytes, lv_obj_draw.o(i.lv_obj_calculate_ext_draw_size))
  [Stack]

  - Max Depth = 176
  - Call Chain = lv_obj_calculate_ext_draw_size ⇒ lv_obj_get_style_shadow_width ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  - >> lv_obj_get_style_shadow_width
  - >> lv_obj_get_style_shadow_spread
  - >> lv_obj_get_style_shadow_opa
  - >> lv_obj_get_style_shadow_ofs_y
  - >> lv_obj_get_style_shadow_ofs_x
  - >> lv_obj_get_style_outline_width
  - >> lv_obj_get_style_outline_pad
  - >> lv_obj_get_style_outline_opa
  [Called By]
  - >> lv_obj_event

  lv_obj_calculate_style_text_align (Thumb, 44 bytes, Stack size 24 bytes, lv_obj_style.o(i.lv_obj_calculate_style_text_align))
  [Stack]

  - Max Depth = 168
  - Call Chain = lv_obj_calculate_style_text_align ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  [Called By]
  - >> lv_label_get_letter_on

  lv_obj_class_create_obj (Thumb, 224 bytes, Stack size 24 bytes, lv_obj_class.o(i.lv_obj_class_create_obj))
  [Stack]

  - Max Depth = 176
  - Call Chain = lv_obj_class_create_obj ⇒ lv_mem_realloc ⇒ lv_tlsf_realloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_obj_allocate_spec_attr
  - >> lv_mem_realloc
  - >> lv_disp_get_ver_res
  - >> lv_disp_get_hor_res
  - >> lv_disp_get_default
  - >> lv_mem_free
  - >> lv_memset_00
  - >> lv_mem_alloc
  [Called By]
  - >> lv_obj_create
  - >> lv_label_create

  lv_obj_class_init_obj (Thumb, 112 bytes, Stack size 16 bytes, lv_obj_class.o(i.lv_obj_class_init_obj))
  [Stack]

  - Max Depth = 504
  - Call Chain = lv_obj_class_init_obj ⇒ lv_theme_apply ⇒ lv_obj_remove_style ⇒ lv_obj_refresh_style ⇒ refresh_children_style ⇒ refresh_children_style (Cycle)
  [Calls]
  - >> lv_theme_apply
  - >> lv_obj_invalidate
  - >> lv_event_send
  - >> lv_obj_get_parent
  - >> lv_group_get_default
  - >> lv_group_add_obj
  - >> lv_obj_refresh_self_size
  - >> lv_obj_is_group_def
  - >> lv_obj_construct
  - >> lv_obj_refresh_style
  - >> lv_obj_mark_layout_as_dirty
  - >> lv_obj_enable_style_refresh
  [Called By]
  - >> lv_obj_create
  - >> lv_label_create

  lv_obj_clear_flag (Thumb, 112 bytes, Stack size 32 bytes, lv_obj.o(i.lv_obj_clear_flag))
  [Stack]

  - Max Depth = 376
  - Call Chain = lv_obj_clear_flag ⇒ lv_obj_invalidate ⇒ lv_obj_invalidate_area ⇒ lv_obj_area_is_visible ⇒ lv_obj_get_transformed_area ⇒ lv_obj_transform_point ⇒ lv_obj_transform_point (Cycle)
  [Calls]
  - >> lv_obj_invalidate
  - >> lv_obj_get_parent
  - >> lv_obj_mark_layout_as_dirty
  - >> lv_obj_is_layout_positioned
  - >> lv_obj_invalidate_area
  - >> lv_obj_get_scrollbar_area
  [Called By]
  - >> lv_disp_drv_register
  - >> lv_label_constructor

  lv_obj_clear_state (Thumb, 20 bytes, Stack size 8 bytes, lv_obj.o(i.lv_obj_clear_state))
  [Stack]

  - Max Depth = 512
  - Call Chain = lv_obj_clear_state ⇒ lv_obj_set_state ⇒ lv_obj_refresh_style ⇒ refresh_children_style ⇒ refresh_children_style (Cycle)
  [Calls]
  - >> lv_obj_set_state
  [Called By]
  - >> lv_obj_event

  lv_obj_create (Thumb, 20 bytes, Stack size 8 bytes, lv_obj.o(i.lv_obj_create))
  [Stack]

  - Max Depth = 512
  - Call Chain = lv_obj_create ⇒ lv_obj_class_init_obj ⇒ lv_theme_apply ⇒ lv_obj_remove_style ⇒ lv_obj_refresh_style ⇒ refresh_children_style ⇒ refresh_children_style (Cycle)
  [Calls]
  - >> lv_obj_class_init_obj
  - >> lv_obj_class_create_obj
  [Called By]
  - >> lv_disp_drv_register

  lv_obj_draw_dsc_init (Thumb, 16 bytes, Stack size 16 bytes, lv_obj_draw.o(i.lv_obj_draw_dsc_init))
  [Stack]

  - Max Depth = 24
  - Call Chain = lv_obj_draw_dsc_init ⇒ lv_memset_00
  [Calls]
  - >> lv_memset_00
  [Called By]
  - >> lv_obj_draw
  - >> draw_scrollbar

  lv_obj_enable_style_refresh (Thumb, 6 bytes, Stack size 0 bytes, lv_obj_style.o(i.lv_obj_enable_style_refresh))
  [Called By]

  - >> lv_obj_destructor
  - >> lv_obj_class_init_obj

  lv_obj_event_base (Thumb, 48 bytes, Stack size 8 bytes, lv_event.o(i.lv_obj_event_base))
  [Stack]

  - Max Depth = 8
  - Call Chain = lv_obj_event_base
  [Called By]
  - >> event_send_core
  - >> lv_label_event

  lv_obj_get_child_cnt (Thumb, 10 bytes, Stack size 0 bytes, lv_obj_tree.o(i.lv_obj_get_child_cnt))
  [Called By]

  - >> lv_obj_event
  - >> lv_obj_get_scroll_right
  - >> lv_obj_get_scroll_left
  - >> lv_obj_get_scroll_bottom
  - >> refresh_children_style
  - >> lv_obj_move_children_by
  - >> layout_update_core
  - >> calc_content_width
  - >> calc_content_height
  - >> lv_obj_redraw
  - >> refr_obj_and_children
  - >> lv_refr_get_top_obj

  lv_obj_get_content_coords (Thumb, 92 bytes, Stack size 16 bytes, lv_obj_pos.o(i.lv_obj_get_content_coords))
  [Stack]

  - Max Depth = 168
  - Call Chain = lv_obj_get_content_coords ⇒ lv_obj_get_style_pad_top ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_area_increase
  - >> lv_obj_get_coords
  - >> lv_obj_get_style_pad_top
  - >> lv_obj_get_style_pad_right
  - >> lv_obj_get_style_pad_left
  - >> lv_obj_get_style_pad_bottom
  - >> lv_obj_get_style_border_width
  [Called By]
  - >> lv_obj_refr_size
  - >> lv_obj_move_to
  - >> lv_label_get_letter_on
  - >> lv_label_refr_text
  - >> draw_main

  lv_obj_get_content_height (Thumb, 50 bytes, Stack size 16 bytes, lv_obj_pos.o(i.lv_obj_get_content_height))
  [Stack]

  - Max Depth = 168
  - Call Chain = lv_obj_get_content_height ⇒ lv_obj_get_style_pad_top ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_height
  - >> lv_obj_get_style_pad_top
  - >> lv_obj_get_style_pad_bottom
  - >> lv_obj_get_style_border_width
  [Called By]
  - >> lv_obj_refr_size
  - >> lv_obj_refr_pos

  lv_obj_get_content_width (Thumb, 50 bytes, Stack size 16 bytes, lv_obj_pos.o(i.lv_obj_get_content_width))
  [Stack]

  - Max Depth = 168
  - Call Chain = lv_obj_get_content_width ⇒ lv_obj_get_style_pad_right ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_width
  - >> lv_obj_get_style_pad_right
  - >> lv_obj_get_style_pad_left
  - >> lv_obj_get_style_border_width
  [Called By]
  - >> lv_obj_refr_size
  - >> lv_obj_refr_pos
  - >> lv_label_event

  lv_obj_get_coords (Thumb, 16 bytes, Stack size 8 bytes, lv_obj_pos.o(i.lv_obj_get_coords))
  [Stack]

  - Max Depth = 8
  - Call Chain = lv_obj_get_coords
  [Calls]
  - >> lv_area_copy
  [Called By]
  - >> lv_obj_refr_size
  - >> lv_obj_move_to
  - >> lv_obj_get_content_coords
  - >> lv_obj_redraw
  - >> layer_get_area

  lv_obj_get_disp (Thumb, 58 bytes, Stack size 16 bytes, lv_obj_tree.o(i.lv_obj_get_disp))
  [Stack]

  - Max Depth = 20
  - Call Chain = lv_obj_get_disp ⇒ lv_obj_get_screen
  [Calls]
  - >> _lv_ll_get_next
  - >> _lv_ll_get_head
  - >> lv_obj_get_screen
  [Called By]
  - >> lv_obj_scroll_by
  - >> lv_obj_mark_layout_as_dirty
  - >> lv_obj_invalidate_area
  - >> lv_obj_area_is_visible
  - >> lv_theme_get_from_obj
  - >> lv_label_refr_text

  lv_obj_get_group (Thumb, 10 bytes, Stack size 0 bytes, lv_obj.o(i.lv_obj_get_group))
  [Called By]

  - >> lv_obj_event
  - >> lv_obj_destructor
  - >> lv_group_remove_obj
  - >> lv_group_add_obj

  lv_obj_get_height (Thumb, 12 bytes, Stack size 0 bytes, lv_obj_pos.o(i.lv_obj_get_height))
  [Called By]

  - >> lv_obj_event
  - >> lv_obj_get_scroll_bottom
  - >> lv_obj_get_scrollbar_area
  - >> _lv_obj_style_create_transition
  - >> scroll_area_into_view
  - >> lv_obj_refr_size
  - >> lv_obj_refr_pos
  - >> lv_obj_get_content_height

  lv_obj_get_local_style_prop (Thumb, 54 bytes, Stack size 24 bytes, lv_obj_style.o(i.lv_obj_get_local_style_prop))
  [Stack]

  - Max Depth = 72
  - Call Chain = lv_obj_get_local_style_prop ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_style_get_prop
  [Called By]
  - >> lv_obj_set_y
  - >> lv_obj_set_x

  lv_obj_get_parent (Thumb, 8 bytes, Stack size 0 bytes, lv_obj_tree.o(i.lv_obj_get_parent))
  [Called By]

  - >> lv_obj_transform_point
  - >> lv_obj_get_style_prop
  - >> lv_obj_clear_flag
  - >> focus_next_core
  - >> lv_obj_scroll_to_view_recursive
  - >> lv_obj_refresh_style
  - >> lv_obj_is_layout_positioned
  - >> lv_obj_get_style_opa_recursive
  - >> lv_obj_class_init_obj
  - >> scroll_area_into_view
  - >> lv_obj_get_screen
  - >> lv_obj_refr_size
  - >> lv_obj_refr_pos
  - >> lv_obj_area_is_visible
  - >> refr_obj_and_children

  lv_obj_get_screen (Thumb, 16 bytes, Stack size 4 bytes, lv_obj_tree.o(i.lv_obj_get_screen))
  [Stack]

  - Max Depth = 4
  - Call Chain = lv_obj_get_screen
  [Calls]
  - >> lv_obj_get_parent
  [Called By]
  - >> lv_obj_get_disp
  - >> lv_obj_mark_layout_as_dirty
  - >> lv_obj_update_layout
  - >> lv_obj_area_is_visible

  lv_obj_get_scroll_bottom (Thumb, 146 bytes, Stack size 32 bytes, lv_obj_scroll.o(i.lv_obj_get_scroll_bottom))
  [Stack]

  - Max Depth = 184
  - Call Chain = lv_obj_get_scroll_bottom ⇒ lv_obj_get_style_pad_top ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_child_cnt
  - >> lv_obj_has_flag_any
  - >> lv_obj_get_scroll_y
  - >> lv_obj_get_height
  - >> lv_obj_get_style_pad_top
  - >> lv_obj_get_style_pad_bottom
  - >> lv_obj_get_style_border_width
  - >> lv_obj_get_self_height
  [Called By]
  - >> lv_obj_get_scrollbar_area
  - >> lv_obj_scroll_by_bounded
  - >> scroll_area_into_view
  - >> lv_obj_readjust_scroll

  lv_obj_get_scroll_dir (Thumb, 18 bytes, Stack size 0 bytes, lv_obj_scroll.o(i.lv_obj_get_scroll_dir))
  [Called By]

  - >> lv_obj_event
  - >> lv_obj_get_scrollbar_area
  - >> scroll_area_into_view

  lv_obj_get_scroll_left (Thumb, 188 bytes, Stack size 40 bytes, lv_obj_scroll.o(i.lv_obj_get_scroll_left))
  [Stack]

  - Max Depth = 192
  - Call Chain = lv_obj_get_scroll_left ⇒ lv_obj_get_style_pad_right ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_child_cnt
  - >> lv_obj_has_flag_any
  - >> lv_obj_get_width
  - >> lv_obj_get_scroll_x
  - >> lv_obj_get_style_pad_right
  - >> lv_obj_get_style_pad_left
  - >> lv_obj_get_style_border_width
  - >> lv_obj_get_style_base_dir
  - >> lv_obj_get_self_width
  [Called By]
  - >> lv_obj_event
  - >> lv_obj_constructor
  - >> lv_obj_get_scrollbar_area
  - >> lv_obj_scroll_by_bounded
  - >> scroll_area_into_view
  - >> lv_obj_readjust_scroll
  - >> lv_obj_refr_size

  lv_obj_get_scroll_right (Thumb, 174 bytes, Stack size 32 bytes, lv_obj_scroll.o(i.lv_obj_get_scroll_right))
  [Stack]

  - Max Depth = 184
  - Call Chain = lv_obj_get_scroll_right ⇒ lv_obj_get_style_pad_right ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_child_cnt
  - >> lv_obj_has_flag_any
  - >> lv_obj_get_width
  - >> lv_obj_get_scroll_x
  - >> lv_obj_get_style_pad_right
  - >> lv_obj_get_style_pad_left
  - >> lv_obj_get_style_border_width
  - >> lv_obj_get_style_base_dir
  - >> lv_obj_get_self_width
  [Called By]
  - >> lv_obj_event
  - >> lv_obj_get_scrollbar_area
  - >> lv_obj_scroll_by_bounded
  - >> scroll_area_into_view
  - >> lv_obj_readjust_scroll

  lv_obj_get_scroll_snap_x (Thumb, 14 bytes, Stack size 0 bytes, lv_obj_scroll.o(i.lv_obj_get_scroll_snap_x))
  [Called By]

  - >> scroll_area_into_view
  - >> lv_obj_readjust_scroll

  lv_obj_get_scroll_snap_y (Thumb, 14 bytes, Stack size 0 bytes, lv_obj_scroll.o(i.lv_obj_get_scroll_snap_y))
  [Called By]

  - >> scroll_area_into_view
  - >> lv_obj_readjust_scroll

  lv_obj_get_scroll_top (Thumb, 14 bytes, Stack size 0 bytes, lv_obj_scroll.o(i.lv_obj_get_scroll_top))
  [Called By]

  - >> lv_obj_constructor
  - >> lv_obj_get_scrollbar_area
  - >> lv_obj_scroll_by_bounded
  - >> scroll_area_into_view
  - >> lv_obj_readjust_scroll
  - >> lv_obj_refr_size
  - >> draw_main

  lv_obj_get_scroll_x (Thumb, 14 bytes, Stack size 0 bytes, lv_obj_scroll.o(i.lv_obj_get_scroll_x))
  [Called By]

  - >> lv_obj_event
  - >> lv_obj_scroll_by
  - >> lv_obj_get_scroll_right
  - >> lv_obj_get_scroll_left
  - >> lv_obj_scroll_to_x
  - >> lv_obj_scroll_by_bounded
  - >> scroll_x_anim
  - >> lv_obj_move_to

  lv_obj_get_scroll_y (Thumb, 14 bytes, Stack size 0 bytes, lv_obj_scroll.o(i.lv_obj_get_scroll_y))
  [Called By]

  - >> lv_obj_event
  - >> lv_obj_scroll_by
  - >> lv_obj_get_scroll_bottom
  - >> lv_obj_scroll_to_y
  - >> lv_obj_scroll_by_bounded
  - >> scroll_y_anim
  - >> lv_obj_move_to

  lv_obj_get_scrollbar_area (Thumb, 1592 bytes, Stack size 96 bytes, lv_obj_scroll.o(i.lv_obj_get_scrollbar_area))
  [Stack]

  - Max Depth = 288
  - Call Chain = lv_obj_get_scrollbar_area ⇒ lv_obj_get_scroll_left ⇒ lv_obj_get_style_pad_right ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_has_flag
  - >> lv_area_set
  - >> lv_obj_get_scroll_top
  - >> lv_obj_get_scroll_right
  - >> lv_obj_get_scroll_left
  - >> lv_obj_get_scroll_dir
  - >> lv_obj_get_scroll_bottom
  - >> lv_obj_get_style_prop
  - >> lv_indev_get_scroll_obj
  - >> lv_indev_get_scroll_dir
  - >> lv_indev_get_next
  - >> lv_obj_get_width
  - >> lv_obj_get_scrollbar_mode
  - >> lv_obj_get_height
  - >> lv_disp_get_dpi
  - >> lv_obj_get_style_pad_top
  - >> lv_obj_get_style_pad_right
  - >> lv_obj_get_style_pad_left
  - >> lv_obj_get_style_pad_bottom
  - >> lv_obj_get_style_base_dir
  - >> __aeabi_idivmod
  [Called By]
  - >> lv_obj_event
  - >> draw_scrollbar
  - >> lv_obj_clear_flag
  - >> lv_obj_scrollbar_invalidate

  lv_obj_get_scrollbar_mode (Thumb, 18 bytes, Stack size 0 bytes, lv_obj_scroll.o(i.lv_obj_get_scrollbar_mode))
  [Called By]

  - >> lv_obj_event
  - >> lv_obj_get_scrollbar_area

  lv_obj_get_self_height (Thumb, 24 bytes, Stack size 8 bytes, lv_obj_pos.o(i.lv_obj_get_self_height))
  [Stack]

  - Max Depth = 72
  - Call Chain = lv_obj_get_self_height ⇒ lv_event_send ⇒ event_send_core ⇒ event_send_core (Cycle)
  [Calls]
  - >> lv_event_send
  [Called By]
  - >> lv_obj_get_scroll_bottom
  - >> calc_content_height

  lv_obj_get_self_width (Thumb, 24 bytes, Stack size 8 bytes, lv_obj_pos.o(i.lv_obj_get_self_width))
  [Stack]

  - Max Depth = 72
  - Call Chain = lv_obj_get_self_width ⇒ lv_event_send ⇒ event_send_core ⇒ event_send_core (Cycle)
  [Calls]
  - >> lv_event_send
  [Called By]
  - >> lv_obj_get_scroll_right
  - >> lv_obj_get_scroll_left
  - >> calc_content_width

  lv_obj_get_state (Thumb, 4 bytes, Stack size 0 bytes, lv_obj.o(i.lv_obj_get_state))
  [Called By]

  - >> focus_next_core

  lv_obj_get_style_opa_recursive (Thumb, 88 bytes, Stack size 16 bytes, lv_obj_style.o(i.lv_obj_get_style_opa_recursive))
  [Stack]

  - Max Depth = 168
  - Call Chain = lv_obj_get_style_opa_recursive ⇒ lv_obj_get_style_opa ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_parent
  - >> lv_obj_get_style_opa
  [Called By]
  - >> scrollbar_init_draw_dsc
  - >> lv_obj_init_draw_label_dsc
  - >> lv_obj_init_draw_rect_dsc

  lv_obj_get_style_prop (Thumb, 152 bytes, Stack size 40 bytes, lv_obj_style.o(i.lv_obj_get_style_prop))
  [Stack]

  - Max Depth = 144
  - Call Chain = lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_parent
  - >> lv_style_prop_get_default
  - >> lv_style_prop_has_flag
  - >> get_prop_core
  [Called By]
  - >> scrollbar_init_draw_dsc
  - >> lv_obj_get_style_transform_width
  - >> lv_obj_get_style_transform_height
  - >> lv_obj_get_style_radius
  - >> lv_obj_get_style_layout
  - >> lv_obj_get_style_clip_corner
  - >> lv_obj_get_style_border_post
  - >> lv_obj_get_style_bg_opa
  - >> lv_obj_get_style_align
  - >> lv_obj_event
  - >> lv_obj_draw
  - >> lv_obj_constructor
  - >> _lv_obj_style_apply_color_filter
  - >> lv_obj_init_draw_label_dsc
  - >> lv_obj_get_style_text_font
  - >> lv_obj_get_style_text_color_filtered
  - >> lv_obj_get_style_shadow_width
  - >> lv_obj_get_style_shadow_spread
  - >> lv_obj_get_style_shadow_opa
  - >> lv_obj_get_style_shadow_ofs_y
  - >> lv_obj_get_style_shadow_ofs_x
  - >> lv_obj_get_style_outline_width
  - >> lv_obj_get_style_outline_pad
  - >> lv_obj_get_style_outline_opa
  - >> lv_obj_get_style_blend_mode
  - >> lv_obj_get_style_bg_color_filtered
  - >> lv_obj_refresh_style
  - >> lv_obj_init_draw_rect_dsc
  - >> lv_obj_get_scrollbar_area
  - >> lv_obj_calculate_ext_draw_size
  - >> _lv_obj_style_create_transition
  - >> trans_anim_start_cb
  - >> lv_obj_get_style_opa
  - >> lv_obj_get_style_pad_top
  - >> lv_obj_get_style_pad_right
  - >> lv_obj_get_style_pad_left
  - >> lv_obj_get_style_pad_bottom
  - >> lv_obj_get_style_border_width
  - >> lv_obj_get_style_base_dir
  - >> lv_obj_refr_size
  - >> lv_obj_refr_pos
  - >> transform_point
  - >> lv_obj_get_style_y
  - >> lv_obj_get_style_x
  - >> lv_obj_get_style_width
  - >> lv_obj_get_style_pad_top
  - >> lv_obj_get_style_pad_right
  - >> lv_obj_get_style_pad_left
  - >> lv_obj_get_style_pad_bottom
  - >> lv_obj_get_style_layout
  - >> lv_obj_get_style_height
  - >> lv_obj_get_style_border_width
  - >> lv_obj_get_style_base_dir
  - >> lv_obj_get_style_align
  - >> lv_obj_calculate_style_text_align
  - >> refr_obj
  - >> lv_label_get_letter_on
  - >> lv_obj_get_style_width
  - >> lv_obj_get_style_text_line_space
  - >> lv_obj_get_style_text_letter_space
  - >> lv_obj_get_style_text_font
  - >> lv_obj_get_style_anim_speed
  - >> lv_label_refr_text
  - >> draw_main

  lv_obj_get_transformed_area (Thumb, 358 bytes, Stack size 40 bytes, lv_obj_pos.o(i.lv_obj_get_transformed_area))
  [Stack]

  - Max Depth = 264
  - Call Chain = lv_obj_get_transformed_area ⇒ lv_obj_transform_point ⇒ lv_obj_transform_point (Cycle)
  [Calls]
  - >> lv_obj_transform_point
  - >> lv_area_increase
  [Called By]
  - >> lv_obj_area_is_visible
  - >> layer_get_area

  lv_obj_get_width (Thumb, 12 bytes, Stack size 0 bytes, lv_obj_pos.o(i.lv_obj_get_width))
  [Called By]

  - >> lv_obj_event
  - >> lv_obj_get_scroll_right
  - >> lv_obj_get_scroll_left
  - >> lv_obj_get_scrollbar_area
  - >> _lv_obj_style_create_transition
  - >> scroll_area_into_view
  - >> lv_obj_refr_size
  - >> lv_obj_refr_pos
  - >> lv_obj_get_content_width

  lv_obj_has_flag (Thumb, 14 bytes, Stack size 0 bytes, lv_obj.o(i.lv_obj_has_flag))
  [Called By]

  - >> event_send_core
  - >> lv_obj_event
  - >> focus_next_core
  - >> lv_obj_get_scrollbar_area
  - >> scroll_area_into_view
  - >> lv_obj_move_to
  - >> lv_obj_move_children_by
  - >> lv_obj_area_is_visible
  - >> lv_obj_redraw
  - >> refr_obj
  - >> lv_refr_get_top_obj

  lv_obj_has_flag_any (Thumb, 10 bytes, Stack size 0 bytes, lv_obj.o(i.lv_obj_has_flag_any))
  [Called By]

  - >> lv_obj_get_scroll_right
  - >> lv_obj_get_scroll_left
  - >> lv_obj_get_scroll_bottom
  - >> lv_obj_is_layout_positioned
  - >> lv_obj_area_is_visible
  - >> calc_content_width
  - >> calc_content_height

  lv_obj_init_draw_label_dsc (Thumb, 172 bytes, Stack size 24 bytes, lv_obj_draw.o(i.lv_obj_init_draw_label_dsc))
  [Stack]

  - Max Depth = 216
  - Call Chain = lv_obj_init_draw_label_dsc ⇒ lv_obj_get_style_text_color_filtered ⇒ _lv_obj_style_apply_color_filter ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  - >> lv_obj_get_style_text_font
  - >> lv_obj_get_style_text_color_filtered
  - >> lv_obj_get_style_blend_mode
  - >> lv_obj_get_style_opa_recursive
  [Called By]
  - >> draw_main

  lv_obj_init_draw_rect_dsc (Thumb, 714 bytes, Stack size 32 bytes, lv_obj_draw.o(i.lv_obj_init_draw_rect_dsc))
  [Stack]

  - Max Depth = 224
  - Call Chain = lv_obj_init_draw_rect_dsc ⇒ lv_obj_get_style_text_color_filtered ⇒ _lv_obj_style_apply_color_filter ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  - >> lv_memcpy
  - >> lv_img_src_get_type
  - >> _lv_obj_style_apply_color_filter
  - >> lv_obj_get_style_text_font
  - >> lv_obj_get_style_text_color_filtered
  - >> lv_obj_get_style_shadow_width
  - >> lv_obj_get_style_shadow_spread
  - >> lv_obj_get_style_shadow_opa
  - >> lv_obj_get_style_shadow_ofs_y
  - >> lv_obj_get_style_shadow_ofs_x
  - >> lv_obj_get_style_outline_width
  - >> lv_obj_get_style_outline_pad
  - >> lv_obj_get_style_outline_opa
  - >> lv_obj_get_style_blend_mode
  - >> lv_obj_get_style_bg_color_filtered
  - >> lv_obj_get_style_opa_recursive
  [Called By]
  - >> lv_obj_draw

  lv_obj_invalidate (Thumb, 64 bytes, Stack size 24 bytes, lv_obj_pos.o(i.lv_obj_invalidate))
  [Stack]

  - Max Depth = 344
  - Call Chain = lv_obj_invalidate ⇒ lv_obj_invalidate_area ⇒ lv_obj_area_is_visible ⇒ lv_obj_get_transformed_area ⇒ lv_obj_transform_point ⇒ lv_obj_transform_point (Cycle)
  [Calls]
  - >> _lv_obj_get_ext_draw_size
  - >> lv_obj_invalidate_area
  - >> lv_area_copy
  [Called By]
  - >> lv_obj_set_state
  - >> _lv_obj_scroll_by_raw
  - >> lv_obj_clear_flag
  - >> focus_next_core
  - >> lv_obj_refresh_style
  - >> lv_obj_refresh_ext_draw_size
  - >> lv_obj_class_init_obj
  - >> refresh_children_style
  - >> lv_obj_set_scrollbar_mode
  - >> lv_obj_refr_size
  - >> lv_obj_move_to
  - >> lv_label_set_text_fmt
  - >> lv_label_set_text
  - >> lv_disp_drv_register
  - >> set_ofs_y_anim
  - >> set_ofs_x_anim
  - >> lv_label_refr_text

  lv_obj_invalidate_area (Thumb, 52 bytes, Stack size 24 bytes, lv_obj_pos.o(i.lv_obj_invalidate_area))
  [Stack]

  - Max Depth = 320
  - Call Chain = lv_obj_invalidate_area ⇒ lv_obj_area_is_visible ⇒ lv_obj_get_transformed_area ⇒ lv_obj_transform_point ⇒ lv_obj_transform_point (Cycle)
  [Calls]
  - >> lv_obj_get_disp
  - >> _lv_inv_area
  - >> lv_disp_is_invalidation_enabled
  - >> lv_obj_area_is_visible
  - >> lv_area_copy
  [Called By]
  - >> lv_obj_invalidate
  - >> lv_obj_event
  - >> lv_obj_clear_flag
  - >> lv_obj_scrollbar_invalidate

  lv_obj_is_editable (Thumb, 26 bytes, Stack size 0 bytes, lv_obj_class.o(i.lv_obj_is_editable))
  [Calls]

  - >> lv_obj_is_editable
  [Called By]
  - >> lv_obj_event
  - >> lv_obj_is_editable

  lv_obj_is_group_def (Thumb, 28 bytes, Stack size 0 bytes, lv_obj_class.o(i.lv_obj_is_group_def))
  [Calls]

  - >> lv_obj_is_group_def
  [Called By]
  - >> lv_obj_is_group_def
  - >> lv_obj_class_init_obj

  lv_obj_is_layout_positioned (Thumb, 42 bytes, Stack size 8 bytes, lv_obj_pos.o(i.lv_obj_is_layout_positioned))
  [Stack]

  - Max Depth = 160
  - Call Chain = lv_obj_is_layout_positioned ⇒ lv_obj_get_style_layout ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_has_flag_any
  - >> lv_obj_get_parent
  - >> lv_obj_get_style_layout
  [Called By]
  - >> lv_obj_clear_flag
  - >> lv_obj_refr_pos
  - >> calc_content_width
  - >> calc_content_height

  lv_obj_mark_layout_as_dirty (Thumb, 38 bytes, Stack size 8 bytes, lv_obj_pos.o(i.lv_obj_mark_layout_as_dirty))
  [Stack]

  - Max Depth = 28
  - Call Chain = lv_obj_mark_layout_as_dirty ⇒ lv_obj_get_disp ⇒ lv_obj_get_screen
  [Calls]
  - >> lv_obj_get_disp
  - >> lv_timer_resume
  - >> lv_obj_get_screen
  [Called By]
  - >> lv_obj_event
  - >> lv_obj_clear_flag
  - >> lv_obj_refresh_self_size
  - >> lv_obj_refresh_style
  - >> lv_obj_class_init_obj

  lv_obj_move_children_by (Thumb, 98 bytes, Stack size 40 bytes, lv_obj_pos.o(i.lv_obj_move_children_by))
  [Stack]

  - Max Depth = 40 + In Cycle
  - Call Chain = lv_obj_move_children_by ⇒ lv_obj_move_children_by (Cycle)
  [Calls]
  - >> lv_obj_has_flag
  - >> lv_obj_get_child_cnt
  - >> lv_obj_move_children_by
  [Called By]
  - >> _lv_obj_scroll_by_raw
  - >> lv_obj_move_to
  - >> lv_obj_move_children_by

  lv_obj_move_to (Thumb, 300 bytes, Stack size 64 bytes, lv_obj_pos.o(i.lv_obj_move_to))
  [Stack]

  - Max Depth = 408
  - Call Chain = lv_obj_move_to ⇒ lv_obj_invalidate ⇒ lv_obj_invalidate_area ⇒ lv_obj_area_is_visible ⇒ lv_obj_get_transformed_area ⇒ lv_obj_transform_point ⇒ lv_obj_transform_point (Cycle)
  [Calls]
  - >> lv_obj_has_flag
  - >> lv_obj_invalidate
  - >> lv_event_send
  - >> lv_obj_get_scroll_y
  - >> lv_obj_get_scroll_x
  - >> _lv_area_is_in
  - >> lv_obj_scrollbar_invalidate
  - >> lv_obj_move_children_by
  - >> lv_obj_get_coords
  - >> lv_obj_get_content_coords
  - >> lv_obj_get_style_pad_top
  - >> lv_obj_get_style_pad_left
  - >> lv_obj_get_style_border_width
  [Called By]
  - >> lv_obj_refr_pos

  lv_obj_readjust_scroll (Thumb, 140 bytes, Stack size 24 bytes, lv_obj_scroll.o(i.lv_obj_readjust_scroll))
  [Stack]

  - Max Depth = 480
  - Call Chain = lv_obj_readjust_scroll ⇒ lv_obj_scroll_by ⇒ _lv_obj_scroll_by_raw ⇒ lv_obj_invalidate ⇒ lv_obj_invalidate_area ⇒ lv_obj_area_is_visible ⇒ lv_obj_get_transformed_area ⇒ lv_obj_transform_point ⇒ lv_obj_transform_point (Cycle)
  [Calls]
  - >> lv_obj_scroll_by
  - >> lv_obj_get_scroll_top
  - >> lv_obj_get_scroll_snap_y
  - >> lv_obj_get_scroll_snap_x
  - >> lv_obj_get_scroll_right
  - >> lv_obj_get_scroll_left
  - >> lv_obj_get_scroll_bottom
  - >> lv_obj_get_style_base_dir
  [Called By]
  - >> layout_update_core

  lv_obj_redraw (Thumb, 308 bytes, Stack size 128 bytes, lv_refr.o(i.lv_obj_redraw))
  [Stack]

  - Max Depth = 192 + In Cycle
  - Call Chain = lv_obj_redraw ⇒ refr_obj (Cycle)
  [Calls]
  - >> lv_obj_has_flag
  - >> lv_obj_get_child_cnt
  - >> lv_event_send
  - >> _lv_obj_get_ext_draw_size
  - >> lv_draw_rect_dsc_init
  - >> lv_draw_rect
  - >> lv_area_increase
  - >> _lv_area_intersect
  - >> lv_obj_get_coords
  - >> lv_rand
  - >> refr_obj
  - >> lv_color_make
  - >> __aeabi_memcpy
  [Called By]
  - >> refr_obj

  lv_obj_refr_pos (Thumb, 484 bytes, Stack size 64 bytes, lv_obj_pos.o(i.lv_obj_refr_pos))
  [Stack]

  - Max Depth = 472
  - Call Chain = lv_obj_refr_pos ⇒ lv_obj_move_to ⇒ lv_obj_invalidate ⇒ lv_obj_invalidate_area ⇒ lv_obj_area_is_visible ⇒ lv_obj_get_transformed_area ⇒ lv_obj_transform_point ⇒ lv_obj_transform_point (Cycle)
  [Calls]
  - >> __ARM_common_switch8
  - >> lv_obj_get_style_prop
  - >> lv_obj_get_parent
  - >> lv_obj_is_layout_positioned
  - >> lv_obj_get_width
  - >> lv_obj_get_height
  - >> lv_obj_move_to
  - >> lv_obj_get_content_width
  - >> lv_obj_get_content_height
  - >> lv_obj_get_style_y
  - >> lv_obj_get_style_x
  - >> lv_obj_get_style_base_dir
  - >> lv_obj_get_style_align
  - >> __aeabi_idivmod
  [Called By]
  - >> layout_update_core

  lv_obj_refr_size (Thumb, 706 bytes, Stack size 80 bytes, lv_obj_pos.o(i.lv_obj_refr_size))
  [Stack]

  - Max Depth = 632
  - Call Chain = lv_obj_refr_size ⇒ calc_content_width ⇒ lv_obj_scroll_to_x ⇒ lv_obj_scroll_by_bounded ⇒ lv_obj_update_layout (Cycle)
  [Calls]
  - >> lv_obj_invalidate
  - >> lv_event_send
  - >> lv_obj_get_scroll_top
  - >> lv_obj_get_scroll_left
  - >> lv_obj_get_style_prop
  - >> lv_obj_get_parent
  - >> lv_obj_refresh_ext_draw_size
  - >> lv_obj_get_width
  - >> lv_obj_get_height
  - >> _lv_area_is_in
  - >> lv_obj_scrollbar_invalidate
  - >> lv_obj_scroll_to
  - >> lv_obj_get_coords
  - >> lv_obj_get_content_width
  - >> lv_obj_get_content_height
  - >> lv_obj_get_content_coords
  - >> lv_clamp_width
  - >> lv_clamp_height
  - >> lv_obj_get_style_width
  - >> lv_obj_get_style_pad_top
  - >> lv_obj_get_style_pad_right
  - >> lv_obj_get_style_pad_left
  - >> lv_obj_get_style_pad_bottom
  - >> lv_obj_get_style_height
  - >> lv_obj_get_style_border_width
  - >> lv_obj_get_style_base_dir
  - >> calc_content_width
  - >> calc_content_height
  - >> __aeabi_idivmod
  [Called By]
  - >> layout_update_core

  lv_obj_refresh_ext_draw_size (Thumb, 96 bytes, Stack size 16 bytes, lv_obj_draw.o(i.lv_obj_refresh_ext_draw_size))
  [Stack]

  - Max Depth = 360
  - Call Chain = lv_obj_refresh_ext_draw_size ⇒ lv_obj_invalidate ⇒ lv_obj_invalidate_area ⇒ lv_obj_area_is_visible ⇒ lv_obj_get_transformed_area ⇒ lv_obj_transform_point ⇒ lv_obj_transform_point (Cycle)
  [Calls]
  - >> lv_obj_allocate_spec_attr
  - >> lv_obj_invalidate
  - >> lv_event_send
  - >> _lv_obj_get_ext_draw_size
  [Called By]
  - >> lv_obj_set_state
  - >> lv_obj_refresh_style
  - >> lv_obj_refr_size

  lv_obj_refresh_self_size (Thumb, 44 bytes, Stack size 16 bytes, lv_obj_pos.o(i.lv_obj_refresh_self_size))
  [Stack]

  - Max Depth = 168
  - Call Chain = lv_obj_refresh_self_size ⇒ lv_obj_get_style_width ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_mark_layout_as_dirty
  - >> lv_obj_get_style_width
  - >> lv_obj_get_style_height
  [Called By]
  - >> lv_obj_class_init_obj
  - >> lv_label_refr_text

  lv_obj_refresh_style (Thumb, 362 bytes, Stack size 40 bytes, lv_obj_style.o(i.lv_obj_refresh_style))
  [Stack]

  - Max Depth = 408
  - Call Chain = lv_obj_refresh_style ⇒ refresh_children_style ⇒ refresh_children_style (Cycle)
  [Calls]
  - >> lv_obj_allocate_spec_attr
  - >> lv_obj_invalidate
  - >> lv_event_send
  - >> lv_obj_get_style_prop
  - >> lv_obj_get_parent
  - >> lv_obj_refresh_ext_draw_size
  - >> lv_obj_mark_layout_as_dirty
  - >> refresh_children_style
  - >> lv_style_prop_has_flag
  [Called By]
  - >> lv_obj_set_state
  - >> lv_obj_remove_style
  - >> lv_obj_class_init_obj
  - >> trans_anim_cb
  - >> lv_obj_set_local_style_prop

  lv_obj_remove_style (Thumb, 274 bytes, Stack size 64 bytes, lv_obj_style.o(i.lv_obj_remove_style))
  [Stack]

  - Max Depth = 472
  - Call Chain = lv_obj_remove_style ⇒ lv_obj_refresh_style ⇒ refresh_children_style ⇒ refresh_children_style (Cycle)
  [Calls]
  - >> lv_mem_realloc
  - >> lv_mem_free
  - >> lv_obj_refresh_style
  - >> trans_del
  - >> lv_style_reset
  [Called By]
  - >> lv_theme_apply
  - >> lv_obj_destructor
  - >> trans_anim_ready_cb
  - >> lv_disp_drv_register

  lv_obj_scroll_by (Thumb, 268 bytes, Stack size 96 bytes, lv_obj_scroll.o(i.lv_obj_scroll_by))
  [Stack]

  - Max Depth = 456
  - Call Chain = lv_obj_scroll_by ⇒ _lv_obj_scroll_by_raw ⇒ lv_obj_invalidate ⇒ lv_obj_invalidate_area ⇒ lv_obj_area_is_visible ⇒ lv_obj_get_transformed_area ⇒ lv_obj_transform_point ⇒ lv_obj_transform_point (Cycle)
  [Calls]
  - >> lv_obj_get_disp
  - >> lv_event_send
  - >> lv_disp_get_ver_res
  - >> lv_disp_get_hor_res
  - >> lv_anim_start
  - >> lv_anim_init
  - >> lv_anim_del
  - >> _lv_obj_scroll_by_raw
  - >> lv_obj_get_scroll_y
  - >> lv_obj_get_scroll_x
  - >> lv_anim_speed_to_time
  [Called By]
  - >> lv_obj_scroll_by_bounded
  - >> scroll_area_into_view
  - >> lv_obj_readjust_scroll

  lv_obj_scroll_by_bounded (Thumb, 216 bytes, Stack size 40 bytes, lv_obj_scroll.o(i.lv_obj_scroll_by_bounded))
  [Stack]

  - Max Depth = 496 + In Cycle
  - Call Chain = lv_obj_scroll_by_bounded ⇒ lv_obj_update_layout (Cycle)
  [Calls]
  - >> lv_obj_scroll_by
  - >> lv_obj_get_scroll_top
  - >> lv_obj_get_scroll_right
  - >> lv_obj_get_scroll_left
  - >> lv_obj_get_scroll_bottom
  - >> lv_obj_get_scroll_y
  - >> lv_obj_get_scroll_x
  - >> lv_obj_get_style_base_dir
  - >> lv_obj_update_layout
  [Called By]
  - >> lv_obj_scroll_to_y
  - >> lv_obj_scroll_to_x

  lv_obj_scroll_to (Thumb, 26 bytes, Stack size 16 bytes, lv_obj_scroll.o(i.lv_obj_scroll_to))
  [Stack]

  - Max Depth = 528
  - Call Chain = lv_obj_scroll_to ⇒ lv_obj_scroll_to_y ⇒ lv_obj_scroll_by_bounded ⇒ lv_obj_update_layout (Cycle)
  [Calls]
  - >> lv_obj_scroll_to_y
  - >> lv_obj_scroll_to_x
  [Called By]
  - >> lv_obj_refr_size

  lv_obj_scroll_to_view_recursive (Thumb, 56 bytes, Stack size 24 bytes, lv_obj_scroll.o(i.lv_obj_scroll_to_view_recursive))
  [Stack]

  - Max Depth = 688
  - Call Chain = lv_obj_scroll_to_view_recursive ⇒ lv_obj_update_layout ⇒ layout_update_core ⇒ layout_update_core (Cycle)
  [Calls]
  - >> lv_obj_get_parent
  - >> scroll_area_into_view
  - >> lv_obj_update_layout
  [Called By]
  - >> lv_obj_event

  lv_obj_scroll_to_x (Thumb, 36 bytes, Stack size 16 bytes, lv_obj_scroll.o(i.lv_obj_scroll_to_x))
  [Stack]

  - Max Depth = 512
  - Call Chain = lv_obj_scroll_to_x ⇒ lv_obj_scroll_by_bounded ⇒ lv_obj_update_layout (Cycle)
  [Calls]
  - >> lv_anim_del
  - >> lv_obj_get_scroll_x
  - >> lv_obj_scroll_by_bounded
  [Called By]
  - >> lv_obj_event
  - >> lv_obj_scroll_to
  - >> calc_content_width

  lv_obj_scroll_to_y (Thumb, 36 bytes, Stack size 16 bytes, lv_obj_scroll.o(i.lv_obj_scroll_to_y))
  [Stack]

  - Max Depth = 512
  - Call Chain = lv_obj_scroll_to_y ⇒ lv_obj_scroll_by_bounded ⇒ lv_obj_update_layout (Cycle)
  [Calls]
  - >> lv_anim_del
  - >> lv_obj_get_scroll_y
  - >> lv_obj_scroll_by_bounded
  [Called By]
  - >> lv_obj_event
  - >> lv_obj_scroll_to
  - >> calc_content_height

  lv_obj_scrollbar_invalidate (Thumb, 70 bytes, Stack size 24 bytes, lv_obj_scroll.o(i.lv_obj_scrollbar_invalidate))
  [Stack]

  - Max Depth = 344
  - Call Chain = lv_obj_scrollbar_invalidate ⇒ lv_obj_invalidate_area ⇒ lv_obj_area_is_visible ⇒ lv_obj_get_transformed_area ⇒ lv_obj_transform_point ⇒ lv_obj_transform_point (Cycle)
  [Calls]
  - >> lv_obj_invalidate_area
  - >> lv_obj_get_scrollbar_area
  - >> lv_area_get_size
  [Called By]
  - >> lv_obj_refr_size
  - >> lv_obj_move_to

  lv_obj_set_local_style_prop (Thumb, 36 bytes, Stack size 24 bytes, lv_obj_style.o(i.lv_obj_set_local_style_prop))
  [Stack]

  - Max Depth = 432
  - Call Chain = lv_obj_set_local_style_prop ⇒ lv_obj_refresh_style ⇒ refresh_children_style ⇒ refresh_children_style (Cycle)
  [Calls]
  - >> lv_obj_refresh_style
  - >> get_local_style
  - >> lv_style_set_prop
  [Called By]
  - >> lv_obj_set_style_y
  - >> lv_obj_set_style_x
  - >> lv_obj_set_style_align
  - >> lv_obj_set_style_text_color
  - >> lv_obj_set_style_text_align
  - >> lv_obj_set_style_pad_top
  - >> lv_obj_set_style_pad_right
  - >> lv_obj_set_style_pad_left
  - >> lv_obj_set_style_pad_bottom
  - >> lv_obj_set_style_bg_opa
  - >> lv_obj_set_style_bg_color

  lv_obj_set_pos (Thumb, 20 bytes, Stack size 16 bytes, lv_obj_pos.o(i.lv_obj_set_pos))
  [Stack]

  - Max Depth = 472
  - Call Chain = lv_obj_set_pos ⇒ lv_obj_set_y ⇒ lv_obj_set_style_y ⇒ lv_obj_set_local_style_prop ⇒ lv_obj_refresh_style ⇒ refresh_children_style ⇒ refresh_children_style (Cycle)
  [Calls]
  - >> lv_obj_set_y
  - >> lv_obj_set_x
  [Called By]
  - >> lv_obj_align

  lv_obj_set_scrollbar_mode (Thumb, 42 bytes, Stack size 16 bytes, lv_obj_scroll.o(i.lv_obj_set_scrollbar_mode))
  [Stack]

  - Max Depth = 360
  - Call Chain = lv_obj_set_scrollbar_mode ⇒ lv_obj_invalidate ⇒ lv_obj_invalidate_area ⇒ lv_obj_area_is_visible ⇒ lv_obj_get_transformed_area ⇒ lv_obj_transform_point ⇒ lv_obj_transform_point (Cycle)
  [Calls]
  - >> lv_obj_allocate_spec_attr
  - >> lv_obj_invalidate
  [Called By]
  - >> lv_disp_drv_register

  lv_obj_set_style_align (Thumb, 14 bytes, Stack size 8 bytes, lv_obj_style_gen.o(i.lv_obj_set_style_align))
  [Stack]

  - Max Depth = 440
  - Call Chain = lv_obj_set_style_align ⇒ lv_obj_set_local_style_prop ⇒ lv_obj_refresh_style ⇒ refresh_children_style ⇒ refresh_children_style (Cycle)
  [Calls]
  - >> lv_obj_set_local_style_prop
  [Called By]
  - >> lv_obj_align

  lv_obj_set_style_bg_color (Thumb, 24 bytes, Stack size 24 bytes, lv_obj_style_gen.o(i.lv_obj_set_style_bg_color))
  [Stack]

  - Max Depth = 456
  - Call Chain = lv_obj_set_style_bg_color ⇒ lv_obj_set_local_style_prop ⇒ lv_obj_refresh_style ⇒ refresh_children_style ⇒ refresh_children_style (Cycle)
  [Calls]
  - >> lv_obj_set_local_style_prop
  [Called By]
  - >> _lv_disp_refr_timer

  lv_obj_set_style_bg_opa (Thumb, 14 bytes, Stack size 8 bytes, lv_obj_style_gen.o(i.lv_obj_set_style_bg_opa))
  [Stack]

  - Max Depth = 440
  - Call Chain = lv_obj_set_style_bg_opa ⇒ lv_obj_set_local_style_prop ⇒ lv_obj_refresh_style ⇒ refresh_children_style ⇒ refresh_children_style (Cycle)
  [Calls]
  - >> lv_obj_set_local_style_prop
  [Called By]
  - >> _lv_disp_refr_timer

  lv_obj_set_style_pad_bottom (Thumb, 14 bytes, Stack size 8 bytes, lv_obj_style_gen.o(i.lv_obj_set_style_pad_bottom))
  [Stack]

  - Max Depth = 440
  - Call Chain = lv_obj_set_style_pad_bottom ⇒ lv_obj_set_local_style_prop ⇒ lv_obj_refresh_style ⇒ refresh_children_style ⇒ refresh_children_style (Cycle)
  [Calls]
  - >> lv_obj_set_local_style_prop
  [Called By]
  - >> _lv_disp_refr_timer

  lv_obj_set_style_pad_left (Thumb, 14 bytes, Stack size 8 bytes, lv_obj_style_gen.o(i.lv_obj_set_style_pad_left))
  [Stack]

  - Max Depth = 440
  - Call Chain = lv_obj_set_style_pad_left ⇒ lv_obj_set_local_style_prop ⇒ lv_obj_refresh_style ⇒ refresh_children_style ⇒ refresh_children_style (Cycle)
  [Calls]
  - >> lv_obj_set_local_style_prop
  [Called By]
  - >> _lv_disp_refr_timer

  lv_obj_set_style_pad_right (Thumb, 14 bytes, Stack size 8 bytes, lv_obj_style_gen.o(i.lv_obj_set_style_pad_right))
  [Stack]

  - Max Depth = 440
  - Call Chain = lv_obj_set_style_pad_right ⇒ lv_obj_set_local_style_prop ⇒ lv_obj_refresh_style ⇒ refresh_children_style ⇒ refresh_children_style (Cycle)
  [Calls]
  - >> lv_obj_set_local_style_prop
  [Called By]
  - >> _lv_disp_refr_timer

  lv_obj_set_style_pad_top (Thumb, 14 bytes, Stack size 8 bytes, lv_obj_style_gen.o(i.lv_obj_set_style_pad_top))
  [Stack]

  - Max Depth = 440
  - Call Chain = lv_obj_set_style_pad_top ⇒ lv_obj_set_local_style_prop ⇒ lv_obj_refresh_style ⇒ refresh_children_style ⇒ refresh_children_style (Cycle)
  [Calls]
  - >> lv_obj_set_local_style_prop
  [Called By]
  - >> _lv_disp_refr_timer

  lv_obj_set_style_text_align (Thumb, 14 bytes, Stack size 8 bytes, lv_obj_style_gen.o(i.lv_obj_set_style_text_align))
  [Stack]

  - Max Depth = 440
  - Call Chain = lv_obj_set_style_text_align ⇒ lv_obj_set_local_style_prop ⇒ lv_obj_refresh_style ⇒ refresh_children_style ⇒ refresh_children_style (Cycle)
  [Calls]
  - >> lv_obj_set_local_style_prop
  [Called By]
  - >> _lv_disp_refr_timer

  lv_obj_set_style_text_color (Thumb, 24 bytes, Stack size 24 bytes, lv_obj_style_gen.o(i.lv_obj_set_style_text_color))
  [Stack]

  - Max Depth = 456
  - Call Chain = lv_obj_set_style_text_color ⇒ lv_obj_set_local_style_prop ⇒ lv_obj_refresh_style ⇒ refresh_children_style ⇒ refresh_children_style (Cycle)
  [Calls]
  - >> lv_obj_set_local_style_prop
  [Called By]
  - >> _lv_disp_refr_timer

  lv_obj_set_style_x (Thumb, 14 bytes, Stack size 8 bytes, lv_obj_style_gen.o(i.lv_obj_set_style_x))
  [Stack]

  - Max Depth = 440
  - Call Chain = lv_obj_set_style_x ⇒ lv_obj_set_local_style_prop ⇒ lv_obj_refresh_style ⇒ refresh_children_style ⇒ refresh_children_style (Cycle)
  [Calls]
  - >> lv_obj_set_local_style_prop
  [Called By]
  - >> lv_obj_set_x

  lv_obj_set_style_y (Thumb, 14 bytes, Stack size 8 bytes, lv_obj_style_gen.o(i.lv_obj_set_style_y))
  [Stack]

  - Max Depth = 440
  - Call Chain = lv_obj_set_style_y ⇒ lv_obj_set_local_style_prop ⇒ lv_obj_refresh_style ⇒ refresh_children_style ⇒ refresh_children_style (Cycle)
  [Calls]
  - >> lv_obj_set_local_style_prop
  [Called By]
  - >> lv_obj_set_y

  lv_obj_set_x (Thumb, 44 bytes, Stack size 16 bytes, lv_obj_pos.o(i.lv_obj_set_x))
  [Stack]

  - Max Depth = 456
  - Call Chain = lv_obj_set_x ⇒ lv_obj_set_style_x ⇒ lv_obj_set_local_style_prop ⇒ lv_obj_refresh_style ⇒ refresh_children_style ⇒ refresh_children_style (Cycle)
  [Calls]
  - >> lv_obj_set_style_x
  - >> lv_obj_get_local_style_prop
  [Called By]
  - >> lv_obj_set_pos

  lv_obj_set_y (Thumb, 44 bytes, Stack size 16 bytes, lv_obj_pos.o(i.lv_obj_set_y))
  [Stack]

  - Max Depth = 456
  - Call Chain = lv_obj_set_y ⇒ lv_obj_set_style_y ⇒ lv_obj_set_local_style_prop ⇒ lv_obj_refresh_style ⇒ refresh_children_style ⇒ refresh_children_style (Cycle)
  [Calls]
  - >> lv_obj_set_style_y
  - >> lv_obj_get_local_style_prop
  [Called By]
  - >> lv_obj_set_pos

  lv_obj_style_get_selector_part (Thumb, 8 bytes, Stack size 0 bytes, lv_obj_style.o(i.lv_obj_style_get_selector_part))
  [Called By]

  - >> lv_obj_set_state

  lv_obj_style_get_selector_state (Thumb, 4 bytes, Stack size 0 bytes, lv_obj_style.o(i.lv_obj_style_get_selector_state))
  [Called By]

  - >> lv_obj_set_state

  lv_obj_transform_point (Thumb, 104 bytes, Stack size 40 bytes, lv_obj_pos.o(i.lv_obj_transform_point))
  [Stack]

  - Max Depth = 224 + In Cycle
  - Call Chain = lv_obj_transform_point ⇒ lv_obj_transform_point (Cycle)
  [Calls]
  - >> lv_obj_transform_point
  - >> lv_obj_get_parent
  - >> _lv_obj_get_layer_type
  - >> transform_point
  [Called By]
  - >> lv_obj_transform_point
  - >> lv_obj_get_transformed_area

  lv_obj_update_layout (Thumb, 46 bytes, Stack size 16 bytes, lv_obj_pos.o(i.lv_obj_update_layout))
  [Stack]

  - Max Depth = 664
  - Call Chain = lv_obj_update_layout ⇒ layout_update_core ⇒ layout_update_core (Cycle)
  [Calls]
  - >> lv_obj_get_screen
  - >> layout_update_core
  [Called By]
  - >> lv_obj_scroll_to_view_recursive
  - >> lv_obj_scroll_by_bounded
  - >> _lv_disp_refr_timer

  lv_palette_main (Thumb, 34 bytes, Stack size 8 bytes, lv_color.o(i.lv_palette_main))
  [Stack]

  - Max Depth = 24
  - Call Chain = lv_palette_main ⇒ lv_color_black ⇒ lv_color_make
  [Calls]
  - >> lv_color_black
  [Called By]
  - >> lv_draw_label_dsc_init

  lv_point_transform (Thumb, 320 bytes, Stack size 64 bytes, lv_area.o(i.lv_point_transform))
  [Stack]

  - Max Depth = 80
  - Call Chain = lv_point_transform ⇒ lv_trigo_sin ⇒ __aeabi_idivmod
  [Calls]
  - >> lv_trigo_sin
  - >> __aeabi_idivmod
  [Called By]
  - >> transform_point
  - >> _lv_img_buf_get_transformed_area

  lv_rand (Thumb, 34 bytes, Stack size 8 bytes, lv_math.o(i.lv_rand))
  [Stack]

  - Max Depth = 8
  - Call Chain = lv_rand
  [Calls]
  - >> __aeabi_uidivmod
  [Called By]
  - >> lv_obj_redraw

  lv_style_get_prop (Thumb, 8 bytes, Stack size 8 bytes, lv_style.o(i.lv_style_get_prop))
  [Stack]

  - Max Depth = 48
  - Call Chain = lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_style_get_prop_inlined
  [Called By]
  - >> _lv_obj_style_state_compare
  - >> trans_anim_cb
  - >> get_prop_core
  - >> lv_obj_get_local_style_prop

  lv_style_init (Thumb, 10 bytes, Stack size 8 bytes, lv_style.o(i.lv_style_init))
  [Stack]

  - Max Depth = 16
  - Call Chain = lv_style_init ⇒ lv_memset_00
  [Calls]
  - >> lv_memset_00
  [Called By]
  - >> get_trans_style
  - >> get_local_style

  lv_style_is_empty (Thumb, 14 bytes, Stack size 0 bytes, lv_style.o(i.lv_style_is_empty))
  [Called By]

  - >> trans_anim_ready_cb

  lv_style_prop_get_default (Thumb, 198 bytes, Stack size 16 bytes, lv_style.o(i.lv_style_prop_get_default))
  [Stack]

  - Max Depth = 24
  - Call Chain = lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_color_make
  [Called By]
  - >> lv_style_get_prop_inlined
  - >> lv_obj_get_style_prop
  - >> lv_style_get_prop_inlined

  lv_style_remove_prop (Thumb, 196 bytes, Stack size 32 bytes, lv_style.o(i.lv_style_remove_prop))
  [Stack]

  - Max Depth = 144
  - Call Chain = lv_style_remove_prop ⇒ lv_mem_alloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_mem_free
  - >> lv_mem_alloc
  [Called By]
  - >> trans_del
  - >> trans_anim_ready_cb

  lv_style_reset (Thumb, 34 bytes, Stack size 8 bytes, lv_style.o(i.lv_style_reset))
  [Stack]

  - Max Depth = 104
  - Call Chain = lv_style_reset ⇒ lv_mem_free ⇒ lv_tlsf_free ⇒ block_merge_next ⇒ block_remove ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_mem_free
  - >> lv_memset_00
  [Called By]
  - >> lv_obj_remove_style

  lv_style_set_prop (Thumb, 10 bytes, Stack size 8 bytes, lv_style.o(i.lv_style_set_prop))
  [Stack]

  - Max Depth = 200
  - Call Chain = lv_style_set_prop ⇒ lv_style_set_prop_internal ⇒ lv_mem_realloc ⇒ lv_tlsf_realloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_style_set_prop_internal
  [Called By]
  - >> _lv_obj_style_create_transition
  - >> trans_anim_start_cb
  - >> trans_anim_cb
  - >> lv_obj_set_local_style_prop

  lv_theme_apply (Thumb, 32 bytes, Stack size 16 bytes, lv_theme.o(i.lv_theme_apply))
  [Stack]

  - Max Depth = 488
  - Call Chain = lv_theme_apply ⇒ lv_obj_remove_style ⇒ lv_obj_refresh_style ⇒ refresh_children_style ⇒ refresh_children_style (Cycle)
  [Calls]
  - >> lv_obj_remove_style
  - >> lv_theme_get_from_obj
  - >> apply_theme
  [Called By]
  - >> lv_obj_class_init_obj

  lv_theme_get_from_obj (Thumb, 22 bytes, Stack size 8 bytes, lv_theme.o(i.lv_theme_get_from_obj))
  [Stack]

  - Max Depth = 28
  - Call Chain = lv_theme_get_from_obj ⇒ lv_obj_get_disp ⇒ lv_obj_get_screen
  [Calls]
  - >> lv_obj_get_disp
  - >> lv_disp_get_default
  - >> lv_disp_get_theme
  [Called By]
  - >> lv_theme_apply

  lv_tick_elaps (Thumb, 12 bytes, Stack size 8 bytes, lv_hal_tick.o(i.lv_tick_elaps))
  [Stack]

  - Max Depth = 8
  - Call Chain = lv_tick_elaps
  [Calls]
  - >> lv_tick_get
  [Called By]
  - >> _lv_disp_refr_timer
  - >> _lv_img_cache_open
  - >> lv_timer_handler
  - >> lv_timer_time_remaining
  - >> anim_timer

  lv_tick_get (Thumb, 16 bytes, Stack size 0 bytes, lv_hal_tick.o(i.lv_tick_get))
  [Called By]

  - >> lv_tick_elaps
  - >> lv_anim_start
  - >> _lv_disp_refr_timer
  - >> _lv_img_cache_open
  - >> lv_timer_ready
  - >> lv_timer_create
  - >> lv_timer_handler
  - >> anim_timer

  lv_tick_inc (Thumb, 14 bytes, Stack size 0 bytes, lv_hal_tick.o(i.lv_tick_inc))
  [Called By]

  - >> main

  lv_timer_create (Thumb, 52 bytes, Stack size 24 bytes, lv_timer.o(i.lv_timer_create))
  [Stack]

  - Max Depth = 152
  - Call Chain = lv_timer_create ⇒ _lv_ll_ins_head ⇒ lv_mem_alloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_tick_get
  - >> _lv_ll_ins_head
  [Called By]
  - >> _lv_anim_core_init
  - >> lv_disp_drv_register

  lv_timer_del (Thumb, 26 bytes, Stack size 8 bytes, lv_timer.o(i.lv_timer_del))
  [Stack]

  - Max Depth = 104
  - Call Chain = lv_timer_del ⇒ lv_mem_free ⇒ lv_tlsf_free ⇒ block_merge_next ⇒ block_remove ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_mem_free
  - >> _lv_ll_remove
  [Called By]
  - >> lv_timer_handler

  lv_timer_get_idle (Thumb, 6 bytes, Stack size 0 bytes, lv_timer.o(i.lv_timer_get_idle))
  [Called By]

  - >> _lv_disp_refr_timer

  lv_timer_handler (Thumb, 304 bytes, Stack size 32 bytes, lv_timer.o(i.lv_timer_handler))
  [Stack]

  - Max Depth = 136
  - Call Chain = lv_timer_handler ⇒ lv_timer_del ⇒ lv_mem_free ⇒ lv_tlsf_free ⇒ block_merge_next ⇒ block_remove ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_tick_get
  - >> lv_tick_elaps
  - >> _lv_ll_get_next
  - >> _lv_ll_get_head
  - >> lv_timer_del
  - >> lv_timer_time_remaining
  - >> __aeabi_uidivmod
  [Called By]
  - >> main

  lv_timer_pause (Thumb, 6 bytes, Stack size 0 bytes, lv_timer.o(i.lv_timer_pause))
  [Called By]

  - >> anim_mark_list_change

  lv_timer_ready (Thumb, 18 bytes, Stack size 8 bytes, lv_timer.o(i.lv_timer_ready))
  [Stack]

  - Max Depth = 8
  - Call Chain = lv_timer_ready
  [Calls]
  - >> lv_tick_get
  [Called By]
  - >> lv_disp_drv_register

  lv_timer_resume (Thumb, 6 bytes, Stack size 0 bytes, lv_timer.o(i.lv_timer_resume))
  [Called By]

  - >> _lv_inv_area
  - >> lv_obj_mark_layout_as_dirty
  - >> anim_mark_list_change

  lv_tlsf_add_pool (Thumb, 84 bytes, Stack size 16 bytes, lv_tlsf.o(i.lv_tlsf_add_pool))
  [Stack]

  - Max Depth = 80
  - Call Chain = lv_tlsf_add_pool ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> block_link_next
  - >> block_insert
  [Called By]
  - >> lv_tlsf_create_with_pool

  lv_tlsf_create (Thumb, 52 bytes, Stack size 16 bytes, lv_tlsf.o(i.lv_tlsf_create))
  [Stack]

  - Max Depth = 16
  - Call Chain = lv_tlsf_create
  [Called By]
  - >> lv_tlsf_create_with_pool

  lv_tlsf_create_with_pool (Thumb, 30 bytes, Stack size 16 bytes, lv_tlsf.o(i.lv_tlsf_create_with_pool))
  [Stack]

  - Max Depth = 96
  - Call Chain = lv_tlsf_create_with_pool ⇒ lv_tlsf_add_pool ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_tlsf_create
  - >> lv_tlsf_add_pool
  [Called By]
  - >> lv_mem_init

  lv_tlsf_free (Thumb, 88 bytes, Stack size 24 bytes, lv_tlsf.o(i.lv_tlsf_free))
  [Stack]

  - Max Depth = 88
  - Call Chain = lv_tlsf_free ⇒ block_merge_next ⇒ block_remove ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> block_remove
  - >> block_merge_next
  - >> block_mark_as_free
  - >> block_insert
  - >> block_absorb
  [Called By]
  - >> lv_mem_free
  - >> lv_tlsf_realloc

  lv_tlsf_malloc (Thumb, 36 bytes, Stack size 16 bytes, lv_tlsf.o(i.lv_tlsf_malloc))
  [Stack]

  - Max Depth = 96
  - Call Chain = lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> block_prepare_used
  - >> block_locate_free
  - >> adjust_request_size
  [Called By]
  - >> lv_mem_alloc
  - >> lv_tlsf_realloc

  lv_tlsf_realloc (Thumb, 238 bytes, Stack size 48 bytes, lv_tlsf.o(i.lv_tlsf_realloc))
  [Stack]

  - Max Depth = 144
  - Call Chain = lv_tlsf_realloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_memcpy
  - >> lv_tlsf_malloc
  - >> lv_tlsf_free
  - >> block_split
  - >> block_next
  - >> block_merge_next
  - >> block_mark_as_used
  - >> block_insert
  - >> block_can_split
  - >> adjust_request_size
  [Called By]
  - >> lv_mem_realloc

  lv_trigo_sin (Thumb, 72 bytes, Stack size 8 bytes, lv_math.o(i.lv_trigo_sin))
  [Stack]

  - Max Depth = 16
  - Call Chain = lv_trigo_sin ⇒ __aeabi_idivmod
  [Calls]
  - >> __aeabi_idivmod
  [Called By]
  - >> lv_point_transform
  - >> lv_draw_mask_line_angle_init
  - >> lv_draw_sw_transform
  - >> get_rounded_area
  - >> draw_quarter_3
  - >> draw_quarter_2
  - >> draw_quarter_1
  - >> draw_quarter_0

  lv_txt_get_size (Thumb, 184 bytes, Stack size 56 bytes, lv_txt.o(i.lv_txt_get_size))
  [Stack]

  - Max Depth = 240
  - Call Chain = lv_txt_get_size ⇒ _lv_txt_get_next_line ⇒ lv_txt_get_next_word ⇒ lv_font_get_glyph_width ⇒ lv_font_get_glyph_dsc
  [Calls]
  - >> lv_txt_get_width
  - >> _lv_txt_get_next_line
  [Called By]
  - >> lv_draw_label
  - >> lv_label_refr_text
  - >> lv_label_event
  - >> draw_main
  - >> draw_bg_img

  lv_txt_get_width (Thumb, 116 bytes, Stack size 56 bytes, lv_txt.o(i.lv_txt_get_width))
  [Stack]

  - Max Depth = 120
  - Call Chain = lv_txt_get_width ⇒ lv_font_get_glyph_width ⇒ lv_font_get_glyph_dsc
  [Calls]
  - >> lv_font_get_glyph_width
  - >> _lv_txt_encoded_letter_next_2
  - >> _lv_txt_is_cmd
  [Called By]
  - >> lv_txt_get_size
  - >> lv_draw_label
  - >> lv_label_get_letter_on

  lv_vsnprintf (Thumb, 18 bytes, Stack size 8 bytes, lv_printf.o(i.lv_vsnprintf))
  [Stack]

  - Max Depth = 280
  - Call Chain = lv_vsnprintf ⇒ _vsnprintf ⇒ _vsnprintf (Cycle)
  [Calls]
  - >> _vsnprintf
  [Called By]
  - >> _lv_txt_set_text_vfmt

  main (Thumb, 174 bytes, Stack size 88 bytes, startup.o(i.main))
  [Stack]

  - Max Depth = 624
  - Call Chain = main ⇒ lv_disp_drv_register ⇒ lv_obj_create ⇒ lv_obj_class_init_obj ⇒ lv_theme_apply ⇒ lv_obj_remove_style ⇒ lv_obj_refresh_style ⇒ refresh_children_style ⇒ refresh_children_style (Cycle)
  [Calls]
  - >> lv_disp_get_default
  - >> lv_disp_get_scr_act
  - >> lv_init
  - >> lv_label_set_text
  - >> lv_label_create
  - >> lv_tick_inc
  - >> lv_disp_drv_register
  - >> lv_disp_drv_init
  - >> lv_disp_draw_buf_init
  - >> lv_timer_handler
  - >> LL_mDelay
  - >> ILI9341_init
  - >> SystemClock_Config
  - >> MX_SPI2_Init
  - >> MX_GPIO_Init
  - >> MX_DMA_Init
  [Called By]
  - >> __rt_entry_main

  ### Local Symbols

  event_send_core (Thumb, 306 bytes, Stack size 16 bytes, lv_event.o(i.event_send_core))
  [Stack]

  - Max Depth = 24 + In Cycle
  - Call Chain = event_send_core ⇒ event_send_core (Cycle)
  [Calls]
  - >> lv_obj_has_flag
  - >> lv_indev_get_act
  - >> lv_obj_event_base
  - >> lv_obj_get_event_dsc
  - >> event_send_core
  - >> __ARM_common_switch8
  [Called By]
  - >> event_send_core
  - >> lv_event_send

  lv_obj_get_event_dsc (Thumb, 30 bytes, Stack size 0 bytes, lv_event.o(i.lv_obj_get_event_dsc))
  [Called By]

  - >> event_send_core

  focus_next_core (Thumb, 250 bytes, Stack size 48 bytes, lv_group.o(i.focus_next_core))
  [Stack]

  - Max Depth = 392
  - Call Chain = focus_next_core ⇒ lv_obj_invalidate ⇒ lv_obj_invalidate_area ⇒ lv_obj_area_is_visible ⇒ lv_obj_get_transformed_area ⇒ lv_obj_transform_point ⇒ lv_obj_transform_point (Cycle)
  [Calls]
  - >> lv_obj_has_flag
  - >> lv_obj_invalidate
  - >> lv_event_send
  - >> lv_obj_get_state
  - >> lv_obj_get_parent
  - >> get_indev
  [Called By]
  - >> lv_group_focus_prev
  - >> lv_group_focus_next

  get_indev (Thumb, 74 bytes, Stack size 24 bytes, lv_group.o(i.get_indev))
  [Stack]

  - Max Depth = 32
  - Call Chain = get_indev ⇒ lv_indev_get_next
  [Calls]
  - >> lv_indev_get_type
  - >> lv_indev_get_next
  [Called By]
  - >> lv_group_remove_obj
  - >> focus_next_core

  lv_group_refocus (Thumb, 46 bytes, Stack size 16 bytes, lv_group.o(i.lv_group_refocus))
  [Stack]

  - Max Depth = 416
  - Call Chain = lv_group_refocus ⇒ lv_group_focus_prev ⇒ focus_next_core ⇒ lv_obj_invalidate ⇒ lv_obj_invalidate_area ⇒ lv_obj_area_is_visible ⇒ lv_obj_get_transformed_area ⇒ lv_obj_transform_point ⇒ lv_obj_transform_point (Cycle)
  [Calls]
  - >> lv_group_focus_prev
  - >> lv_group_focus_next
  [Called By]
  - >> lv_group_remove_obj
  - >> lv_group_add_obj

  draw_scrollbar (Thumb, 168 bytes, Stack size 160 bytes, lv_obj.o(i.draw_scrollbar))
  [Stack]

  - Max Depth = 448
  - Call Chain = draw_scrollbar ⇒ lv_obj_get_scrollbar_area ⇒ lv_obj_get_scroll_left ⇒ lv_obj_get_style_pad_right ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_event_send
  - >> scrollbar_init_draw_dsc
  - >> lv_obj_get_scrollbar_area
  - >> lv_obj_draw_dsc_init
  - >> lv_draw_rect
  - >> lv_area_get_size
  [Called By]
  - >> lv_obj_draw

  lv_area_copy (Thumb, 18 bytes, Stack size 0 bytes, lv_obj.o(i.lv_area_copy))
  [Called By]

  - >> lv_obj_draw

  lv_obj_constructor (Thumb, 106 bytes, Stack size 24 bytes, lv_obj.o(i.lv_obj_constructor))
  [Stack]

  - Max Depth = 216
  - Call Chain = lv_obj_constructor ⇒ lv_obj_get_scroll_left ⇒ lv_obj_get_style_pad_right ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_scroll_top
  - >> lv_obj_get_scroll_left
  - >> lv_obj_get_style_prop
  [Address Reference Count : 1]
  - lv_obj.o(.constdata)

  lv_obj_destructor (Thumb, 104 bytes, Stack size 16 bytes, lv_obj.o(i.lv_obj_destructor))
  [Stack]

  - Max Depth = 488
  - Call Chain = lv_obj_destructor ⇒ lv_obj_remove_style ⇒ lv_obj_refresh_style ⇒ refresh_children_style ⇒ refresh_children_style (Cycle)
  [Calls]
  - >> _lv_event_mark_deleted
  - >> lv_anim_del
  - >> lv_obj_get_group
  - >> lv_mem_free
  - >> lv_group_remove_obj
  - >> lv_obj_remove_style
  - >> lv_obj_enable_style_refresh
  [Address Reference Count : 1]
  - lv_obj.o(.constdata)

  lv_obj_draw (Thumb, 674 bytes, Stack size 168 bytes, lv_obj.o(i.lv_obj_draw))
  [Stack]

  - Max Depth = 616
  - Call Chain = lv_obj_draw ⇒ draw_scrollbar ⇒ lv_obj_get_scrollbar_area ⇒ lv_obj_get_scroll_left ⇒ lv_obj_get_style_pad_right ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_event_get_target
  - >> lv_event_get_param
  - >> lv_event_get_draw_ctx
  - >> lv_event_get_code
  - >> lv_event_send
  - >> lv_obj_get_style_transform_width
  - >> lv_obj_get_style_transform_height
  - >> lv_obj_get_style_radius
  - >> lv_obj_get_style_clip_corner
  - >> lv_obj_get_style_border_post
  - >> lv_obj_get_style_bg_opa
  - >> lv_area_copy
  - >> draw_scrollbar
  - >> lv_obj_get_style_prop
  - >> lv_obj_init_draw_rect_dsc
  - >> lv_obj_draw_dsc_init
  - >> lv_mem_buf_release
  - >> lv_mem_buf_get
  - >> lv_draw_rect_dsc_init
  - >> lv_draw_rect
  - >> lv_draw_mask_remove_custom
  - >> lv_draw_mask_radius_init
  - >> lv_draw_mask_free_param
  - >> lv_draw_mask_add
  - >> _lv_area_is_in
  [Called By]
  - >> lv_obj_event

  lv_obj_event (Thumb, 800 bytes, Stack size 48 bytes, lv_obj.o(i.lv_obj_event))
  [Stack]

  - Max Depth = 736
  - Call Chain = lv_obj_event ⇒ lv_obj_scroll_to_view_recursive ⇒ lv_obj_update_layout ⇒ layout_update_core ⇒ layout_update_core (Cycle)
  [Calls]
  - >> lv_obj_has_flag
  - >> lv_indev_get_act
  - >> lv_event_set_ext_draw_size
  - >> lv_event_get_param
  - >> lv_event_get_indev
  - >> lv_event_get_current_target
  - >> lv_event_get_code
  - >> lv_obj_get_child_cnt
  - >> lv_event_send
  - >> lv_obj_get_style_layout
  - >> lv_obj_get_style_align
  - >> lv_obj_draw
  - >> lv_obj_get_scroll_right
  - >> lv_obj_get_scroll_left
  - >> lv_obj_get_scroll_dir
  - >> lv_obj_is_editable
  - >> lv_obj_get_style_prop
  - >> lv_obj_clear_state
  - >> lv_indev_get_scroll_obj
  - >> lv_obj_get_group
  - >> lv_indev_get_type
  - >> lv_group_get_editing
  - >> lv_obj_scroll_to_y
  - >> lv_obj_scroll_to_x
  - >> lv_obj_scroll_to_view_recursive
  - >> lv_obj_mark_layout_as_dirty
  - >> lv_obj_invalidate_area
  - >> lv_obj_get_width
  - >> lv_obj_get_scrollbar_mode
  - >> lv_obj_get_scrollbar_area
  - >> lv_obj_get_scroll_y
  - >> lv_obj_get_scroll_x
  - >> lv_obj_get_height
  - >> lv_obj_calculate_ext_draw_size
  - >> lv_obj_add_state
  [Address Reference Count : 1]
  - lv_obj.o(.constdata)

  lv_obj_get_style_align (Thumb, 12 bytes, Stack size 8 bytes, lv_obj.o(i.lv_obj_get_style_align))
  [Stack]

  - Max Depth = 152
  - Call Chain = lv_obj_get_style_align ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  [Called By]
  - >> lv_obj_event

  lv_obj_get_style_bg_opa (Thumb, 12 bytes, Stack size 8 bytes, lv_obj.o(i.lv_obj_get_style_bg_opa))
  [Stack]

  - Max Depth = 152
  - Call Chain = lv_obj_get_style_bg_opa ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  [Called By]
  - >> scrollbar_init_draw_dsc
  - >> lv_obj_draw

  lv_obj_get_style_border_post (Thumb, 16 bytes, Stack size 8 bytes, lv_obj.o(i.lv_obj_get_style_border_post))
  [Stack]

  - Max Depth = 152
  - Call Chain = lv_obj_get_style_border_post ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  [Called By]
  - >> lv_obj_draw

  lv_obj_get_style_clip_corner (Thumb, 16 bytes, Stack size 8 bytes, lv_obj.o(i.lv_obj_get_style_clip_corner))
  [Stack]

  - Max Depth = 152
  - Call Chain = lv_obj_get_style_clip_corner ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  [Called By]
  - >> lv_obj_draw

  lv_obj_get_style_layout (Thumb, 12 bytes, Stack size 8 bytes, lv_obj.o(i.lv_obj_get_style_layout))
  [Stack]

  - Max Depth = 152
  - Call Chain = lv_obj_get_style_layout ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  [Called By]
  - >> lv_obj_event

  lv_obj_get_style_radius (Thumb, 12 bytes, Stack size 8 bytes, lv_obj.o(i.lv_obj_get_style_radius))
  [Stack]

  - Max Depth = 152
  - Call Chain = lv_obj_get_style_radius ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  [Called By]
  - >> scrollbar_init_draw_dsc
  - >> lv_obj_draw

  lv_obj_get_style_transform_height (Thumb, 12 bytes, Stack size 8 bytes, lv_obj.o(i.lv_obj_get_style_transform_height))
  [Stack]

  - Max Depth = 152
  - Call Chain = lv_obj_get_style_transform_height ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  [Called By]
  - >> lv_obj_draw

  lv_obj_get_style_transform_width (Thumb, 12 bytes, Stack size 8 bytes, lv_obj.o(i.lv_obj_get_style_transform_width))
  [Stack]

  - Max Depth = 152
  - Call Chain = lv_obj_get_style_transform_width ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  [Called By]
  - >> lv_obj_draw

  lv_obj_set_state (Thumb, 396 bytes, Stack size 96 bytes, lv_obj.o(i.lv_obj_set_state))
  [Stack]

  - Max Depth = 504
  - Call Chain = lv_obj_set_state ⇒ lv_obj_refresh_style ⇒ refresh_children_style ⇒ refresh_children_style (Cycle)
  [Calls]
  - >> lv_obj_invalidate
  - >> lv_style_get_prop_inlined
  - >> lv_obj_style_get_selector_state
  - >> lv_obj_style_get_selector_part
  - >> lv_obj_refresh_style
  - >> lv_obj_refresh_ext_draw_size
  - >> lv_memset_00
  - >> lv_mem_buf_release
  - >> lv_mem_buf_get
  - >> _lv_obj_style_state_compare
  - >> _lv_obj_style_create_transition
  [Called By]
  - >> lv_obj_clear_state
  - >> lv_obj_add_state

  lv_style_get_prop_inlined (Thumb, 158 bytes, Stack size 16 bytes, lv_obj.o(i.lv_style_get_prop_inlined))
  [Stack]

  - Max Depth = 40
  - Call Chain = lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_style_prop_get_default
  [Called By]
  - >> lv_obj_set_state

  scrollbar_init_draw_dsc (Thumb, 244 bytes, Stack size 24 bytes, lv_obj.o(i.scrollbar_init_draw_dsc))
  [Stack]

  - Max Depth = 192
  - Call Chain = scrollbar_init_draw_dsc ⇒ lv_obj_get_style_opa_recursive ⇒ lv_obj_get_style_opa ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_radius
  - >> lv_obj_get_style_bg_opa
  - >> lv_obj_get_style_prop
  - >> lv_obj_get_style_opa_recursive
  - >> lv_draw_rect_dsc_init
  [Called By]
  - >> draw_scrollbar

  lv_obj_construct (Thumb, 36 bytes, Stack size 16 bytes, lv_obj_class.o(i.lv_obj_construct))
  [Stack]

  - Max Depth = 16 + In Cycle
  - Call Chain = lv_obj_construct ⇒ lv_obj_construct (Cycle)
  [Calls]
  - >> lv_obj_construct
  [Called By]
  - >> lv_obj_construct
  - >> lv_obj_class_init_obj

  lv_obj_get_style_bg_color_filtered (Thumb, 24 bytes, Stack size 16 bytes, lv_obj_draw.o(i.lv_obj_get_style_bg_color_filtered))
  [Stack]

  - Max Depth = 192
  - Call Chain = lv_obj_get_style_bg_color_filtered ⇒ _lv_obj_style_apply_color_filter ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  - >> _lv_obj_style_apply_color_filter
  [Called By]
  - >> lv_obj_init_draw_rect_dsc

  lv_obj_get_style_blend_mode (Thumb, 12 bytes, Stack size 8 bytes, lv_obj_draw.o(i.lv_obj_get_style_blend_mode))
  [Stack]

  - Max Depth = 152
  - Call Chain = lv_obj_get_style_blend_mode ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  [Called By]
  - >> lv_obj_init_draw_label_dsc
  - >> lv_obj_init_draw_rect_dsc

  lv_obj_get_style_outline_opa (Thumb, 12 bytes, Stack size 8 bytes, lv_obj_draw.o(i.lv_obj_get_style_outline_opa))
  [Stack]

  - Max Depth = 152
  - Call Chain = lv_obj_get_style_outline_opa ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  [Called By]
  - >> lv_obj_init_draw_rect_dsc
  - >> lv_obj_calculate_ext_draw_size

  lv_obj_get_style_outline_pad (Thumb, 12 bytes, Stack size 8 bytes, lv_obj_draw.o(i.lv_obj_get_style_outline_pad))
  [Stack]

  - Max Depth = 152
  - Call Chain = lv_obj_get_style_outline_pad ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  [Called By]
  - >> lv_obj_init_draw_rect_dsc
  - >> lv_obj_calculate_ext_draw_size

  lv_obj_get_style_outline_width (Thumb, 12 bytes, Stack size 8 bytes, lv_obj_draw.o(i.lv_obj_get_style_outline_width))
  [Stack]

  - Max Depth = 152
  - Call Chain = lv_obj_get_style_outline_width ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  [Called By]
  - >> lv_obj_init_draw_rect_dsc
  - >> lv_obj_calculate_ext_draw_size

  lv_obj_get_style_shadow_ofs_x (Thumb, 12 bytes, Stack size 8 bytes, lv_obj_draw.o(i.lv_obj_get_style_shadow_ofs_x))
  [Stack]

  - Max Depth = 152
  - Call Chain = lv_obj_get_style_shadow_ofs_x ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  [Called By]
  - >> lv_obj_init_draw_rect_dsc
  - >> lv_obj_calculate_ext_draw_size

  lv_obj_get_style_shadow_ofs_y (Thumb, 12 bytes, Stack size 8 bytes, lv_obj_draw.o(i.lv_obj_get_style_shadow_ofs_y))
  [Stack]

  - Max Depth = 152
  - Call Chain = lv_obj_get_style_shadow_ofs_y ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  [Called By]
  - >> lv_obj_init_draw_rect_dsc
  - >> lv_obj_calculate_ext_draw_size

  lv_obj_get_style_shadow_opa (Thumb, 12 bytes, Stack size 8 bytes, lv_obj_draw.o(i.lv_obj_get_style_shadow_opa))
  [Stack]

  - Max Depth = 152
  - Call Chain = lv_obj_get_style_shadow_opa ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  [Called By]
  - >> lv_obj_init_draw_rect_dsc
  - >> lv_obj_calculate_ext_draw_size

  lv_obj_get_style_shadow_spread (Thumb, 12 bytes, Stack size 8 bytes, lv_obj_draw.o(i.lv_obj_get_style_shadow_spread))
  [Stack]

  - Max Depth = 152
  - Call Chain = lv_obj_get_style_shadow_spread ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  [Called By]
  - >> lv_obj_init_draw_rect_dsc
  - >> lv_obj_calculate_ext_draw_size

  lv_obj_get_style_shadow_width (Thumb, 12 bytes, Stack size 8 bytes, lv_obj_draw.o(i.lv_obj_get_style_shadow_width))
  [Stack]

  - Max Depth = 152
  - Call Chain = lv_obj_get_style_shadow_width ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  [Called By]
  - >> lv_obj_init_draw_rect_dsc
  - >> lv_obj_calculate_ext_draw_size

  lv_obj_get_style_text_color_filtered (Thumb, 24 bytes, Stack size 16 bytes, lv_obj_draw.o(i.lv_obj_get_style_text_color_filtered))
  [Stack]

  - Max Depth = 192
  - Call Chain = lv_obj_get_style_text_color_filtered ⇒ _lv_obj_style_apply_color_filter ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  - >> _lv_obj_style_apply_color_filter
  [Called By]
  - >> lv_obj_init_draw_label_dsc
  - >> lv_obj_init_draw_rect_dsc

  lv_obj_get_style_text_font (Thumb, 10 bytes, Stack size 8 bytes, lv_obj_draw.o(i.lv_obj_get_style_text_font))
  [Stack]

  - Max Depth = 152
  - Call Chain = lv_obj_get_style_text_font ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  [Called By]
  - >> lv_obj_init_draw_label_dsc
  - >> lv_obj_init_draw_rect_dsc

  calc_content_height (Thumb, 226 bytes, Stack size 40 bytes, lv_obj_pos.o(i.calc_content_height))
  [Stack]

  - Max Depth = 552
  - Call Chain = calc_content_height ⇒ lv_obj_scroll_to_y ⇒ lv_obj_scroll_by_bounded ⇒ lv_obj_update_layout (Cycle)
  [Calls]
  - >> lv_obj_get_child_cnt
  - >> lv_obj_has_flag_any
  - >> lv_obj_scroll_to_y
  - >> lv_obj_is_layout_positioned
  - >> lv_obj_get_self_height
  - >> lv_obj_get_style_y
  - >> lv_obj_get_style_pad_top
  - >> lv_obj_get_style_pad_bottom
  - >> lv_obj_get_style_border_width
  - >> lv_obj_get_style_align
  [Called By]
  - >> lv_obj_refr_size

  calc_content_width (Thumb, 392 bytes, Stack size 40 bytes, lv_obj_pos.o(i.calc_content_width))
  [Stack]

  - Max Depth = 552
  - Call Chain = calc_content_width ⇒ lv_obj_scroll_to_x ⇒ lv_obj_scroll_by_bounded ⇒ lv_obj_update_layout (Cycle)
  [Calls]
  - >> lv_obj_get_child_cnt
  - >> lv_obj_has_flag_any
  - >> lv_obj_scroll_to_x
  - >> lv_obj_is_layout_positioned
  - >> lv_obj_get_self_width
  - >> lv_obj_get_style_y
  - >> lv_obj_get_style_x
  - >> lv_obj_get_style_pad_right
  - >> lv_obj_get_style_pad_left
  - >> lv_obj_get_style_border_width
  - >> lv_obj_get_style_base_dir
  - >> lv_obj_get_style_align
  - >> lv_area_get_width
  [Called By]
  - >> lv_obj_refr_size

  layout_update_core (Thumb, 120 bytes, Stack size 16 bytes, lv_obj_pos.o(i.layout_update_core))
  [Stack]

  - Max Depth = 648 + In Cycle
  - Call Chain = layout_update_core ⇒ layout_update_core (Cycle)
  [Calls]
  - >> lv_obj_get_child_cnt
  - >> lv_obj_readjust_scroll
  - >> lv_obj_refr_size
  - >> lv_obj_refr_pos
  - >> lv_obj_get_style_layout
  - >> layout_update_core
  [Called By]
  - >> lv_obj_update_layout
  - >> layout_update_core

  lv_area_copy (Thumb, 18 bytes, Stack size 0 bytes, lv_obj_pos.o(i.lv_area_copy))
  [Called By]

  - >> lv_obj_invalidate
  - >> lv_obj_invalidate_area
  - >> lv_obj_get_coords
  - >> lv_obj_area_is_visible

  lv_area_get_width (Thumb, 12 bytes, Stack size 0 bytes, lv_obj_pos.o(i.lv_area_get_width))
  [Called By]

  - >> transform_point
  - >> calc_content_width

  lv_obj_get_style_align (Thumb, 12 bytes, Stack size 8 bytes, lv_obj_pos.o(i.lv_obj_get_style_align))
  [Stack]

  - Max Depth = 152
  - Call Chain = lv_obj_get_style_align ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  [Called By]
  - >> lv_obj_refr_pos
  - >> calc_content_width
  - >> calc_content_height

  lv_obj_get_style_base_dir (Thumb, 12 bytes, Stack size 8 bytes, lv_obj_pos.o(i.lv_obj_get_style_base_dir))
  [Stack]

  - Max Depth = 152
  - Call Chain = lv_obj_get_style_base_dir ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  [Called By]
  - >> lv_obj_refr_size
  - >> lv_obj_refr_pos
  - >> calc_content_width

  lv_obj_get_style_border_width (Thumb, 12 bytes, Stack size 8 bytes, lv_obj_pos.o(i.lv_obj_get_style_border_width))
  [Stack]

  - Max Depth = 152
  - Call Chain = lv_obj_get_style_border_width ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  [Called By]
  - >> lv_obj_refr_size
  - >> lv_obj_move_to
  - >> lv_obj_get_content_width
  - >> lv_obj_get_content_height
  - >> lv_obj_get_content_coords
  - >> calc_content_width
  - >> calc_content_height

  lv_obj_get_style_height (Thumb, 12 bytes, Stack size 8 bytes, lv_obj_pos.o(i.lv_obj_get_style_height))
  [Stack]

  - Max Depth = 152
  - Call Chain = lv_obj_get_style_height ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  [Called By]
  - >> lv_obj_refresh_self_size
  - >> lv_obj_refr_size

  lv_obj_get_style_layout (Thumb, 12 bytes, Stack size 8 bytes, lv_obj_pos.o(i.lv_obj_get_style_layout))
  [Stack]

  - Max Depth = 152
  - Call Chain = lv_obj_get_style_layout ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  [Called By]
  - >> lv_obj_is_layout_positioned
  - >> layout_update_core

  lv_obj_get_style_pad_bottom (Thumb, 12 bytes, Stack size 8 bytes, lv_obj_pos.o(i.lv_obj_get_style_pad_bottom))
  [Stack]

  - Max Depth = 152
  - Call Chain = lv_obj_get_style_pad_bottom ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  [Called By]
  - >> lv_obj_refr_size
  - >> lv_obj_get_content_height
  - >> lv_obj_get_content_coords
  - >> calc_content_height

  lv_obj_get_style_pad_left (Thumb, 12 bytes, Stack size 8 bytes, lv_obj_pos.o(i.lv_obj_get_style_pad_left))
  [Stack]

  - Max Depth = 152
  - Call Chain = lv_obj_get_style_pad_left ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  [Called By]
  - >> lv_obj_refr_size
  - >> lv_obj_move_to
  - >> lv_obj_get_content_width
  - >> lv_obj_get_content_coords
  - >> calc_content_width

  lv_obj_get_style_pad_right (Thumb, 12 bytes, Stack size 8 bytes, lv_obj_pos.o(i.lv_obj_get_style_pad_right))
  [Stack]

  - Max Depth = 152
  - Call Chain = lv_obj_get_style_pad_right ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  [Called By]
  - >> lv_obj_refr_size
  - >> lv_obj_get_content_width
  - >> lv_obj_get_content_coords
  - >> calc_content_width

  lv_obj_get_style_pad_top (Thumb, 12 bytes, Stack size 8 bytes, lv_obj_pos.o(i.lv_obj_get_style_pad_top))
  [Stack]

  - Max Depth = 152
  - Call Chain = lv_obj_get_style_pad_top ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  [Called By]
  - >> lv_obj_refr_size
  - >> lv_obj_move_to
  - >> lv_obj_get_content_height
  - >> lv_obj_get_content_coords
  - >> calc_content_height

  lv_obj_get_style_width (Thumb, 12 bytes, Stack size 8 bytes, lv_obj_pos.o(i.lv_obj_get_style_width))
  [Stack]

  - Max Depth = 152
  - Call Chain = lv_obj_get_style_width ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  [Called By]
  - >> lv_obj_refresh_self_size
  - >> lv_obj_refr_size

  lv_obj_get_style_x (Thumb, 12 bytes, Stack size 8 bytes, lv_obj_pos.o(i.lv_obj_get_style_x))
  [Stack]

  - Max Depth = 152
  - Call Chain = lv_obj_get_style_x ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  [Called By]
  - >> lv_obj_refr_pos
  - >> calc_content_width

  lv_obj_get_style_y (Thumb, 12 bytes, Stack size 8 bytes, lv_obj_pos.o(i.lv_obj_get_style_y))
  [Stack]

  - Max Depth = 152
  - Call Chain = lv_obj_get_style_y ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  [Called By]
  - >> lv_obj_refr_pos
  - >> calc_content_width
  - >> calc_content_height

  transform_point (Thumb, 250 bytes, Stack size 40 bytes, lv_obj_pos.o(i.transform_point))
  [Stack]

  - Max Depth = 184
  - Call Chain = transform_point ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_point_transform
  - >> lv_obj_get_style_prop
  - >> lv_area_get_width
  - >> __aeabi_idivmod
  [Called By]
  - >> lv_obj_transform_point

  lv_obj_get_style_base_dir (Thumb, 12 bytes, Stack size 8 bytes, lv_obj_scroll.o(i.lv_obj_get_style_base_dir))
  [Stack]

  - Max Depth = 152
  - Call Chain = lv_obj_get_style_base_dir ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  [Called By]
  - >> lv_obj_get_scroll_right
  - >> lv_obj_get_scroll_left
  - >> lv_obj_get_scrollbar_area
  - >> lv_obj_scroll_by_bounded
  - >> lv_obj_readjust_scroll

  lv_obj_get_style_border_width (Thumb, 12 bytes, Stack size 8 bytes, lv_obj_scroll.o(i.lv_obj_get_style_border_width))
  [Stack]

  - Max Depth = 152
  - Call Chain = lv_obj_get_style_border_width ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  [Called By]
  - >> lv_obj_get_scroll_right
  - >> lv_obj_get_scroll_left
  - >> lv_obj_get_scroll_bottom
  - >> scroll_area_into_view

  lv_obj_get_style_pad_bottom (Thumb, 12 bytes, Stack size 8 bytes, lv_obj_scroll.o(i.lv_obj_get_style_pad_bottom))
  [Stack]

  - Max Depth = 152
  - Call Chain = lv_obj_get_style_pad_bottom ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  [Called By]
  - >> lv_obj_get_scroll_bottom
  - >> lv_obj_get_scrollbar_area
  - >> scroll_area_into_view

  lv_obj_get_style_pad_left (Thumb, 12 bytes, Stack size 8 bytes, lv_obj_scroll.o(i.lv_obj_get_style_pad_left))
  [Stack]

  - Max Depth = 152
  - Call Chain = lv_obj_get_style_pad_left ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  [Called By]
  - >> lv_obj_get_scroll_right
  - >> lv_obj_get_scroll_left
  - >> lv_obj_get_scrollbar_area
  - >> scroll_area_into_view

  lv_obj_get_style_pad_right (Thumb, 12 bytes, Stack size 8 bytes, lv_obj_scroll.o(i.lv_obj_get_style_pad_right))
  [Stack]

  - Max Depth = 152
  - Call Chain = lv_obj_get_style_pad_right ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  [Called By]
  - >> lv_obj_get_scroll_right
  - >> lv_obj_get_scroll_left
  - >> lv_obj_get_scrollbar_area
  - >> scroll_area_into_view

  lv_obj_get_style_pad_top (Thumb, 12 bytes, Stack size 8 bytes, lv_obj_scroll.o(i.lv_obj_get_style_pad_top))
  [Stack]

  - Max Depth = 152
  - Call Chain = lv_obj_get_style_pad_top ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  [Called By]
  - >> lv_obj_get_scroll_bottom
  - >> lv_obj_get_scrollbar_area
  - >> scroll_area_into_view

  scroll_anim_ready_cb (Thumb, 14 bytes, Stack size 8 bytes, lv_obj_scroll.o(i.scroll_anim_ready_cb))
  [Stack]

  - Max Depth = 72
  - Call Chain = scroll_anim_ready_cb ⇒ lv_event_send ⇒ event_send_core ⇒ event_send_core (Cycle)
  [Calls]
  - >> lv_event_send
  [Address Reference Count : 1]
  - lv_obj_scroll.o(i.lv_obj_scroll_by)

  scroll_area_into_view (Thumb, 650 bytes, Stack size 88 bytes, lv_obj_scroll.o(i.scroll_area_into_view))
  [Stack]

  - Max Depth = 544
  - Call Chain = scroll_area_into_view ⇒ lv_obj_scroll_by ⇒ _lv_obj_scroll_by_raw ⇒ lv_obj_invalidate ⇒ lv_obj_invalidate_area ⇒ lv_obj_area_is_visible ⇒ lv_obj_get_transformed_area ⇒ lv_obj_transform_point ⇒ lv_obj_transform_point (Cycle)
  [Calls]
  - >> lv_obj_has_flag
  - >> lv_event_send
  - >> lv_anim_del
  - >> lv_obj_scroll_by
  - >> lv_obj_get_scroll_top
  - >> lv_obj_get_scroll_snap_y
  - >> lv_obj_get_scroll_snap_x
  - >> lv_obj_get_scroll_right
  - >> lv_obj_get_scroll_left
  - >> lv_obj_get_scroll_dir
  - >> lv_obj_get_scroll_bottom
  - >> lv_obj_get_parent
  - >> lv_obj_get_width
  - >> lv_obj_get_height
  - >> lv_obj_get_style_pad_top
  - >> lv_obj_get_style_pad_right
  - >> lv_obj_get_style_pad_left
  - >> lv_obj_get_style_pad_bottom
  - >> lv_obj_get_style_border_width
  [Called By]
  - >> lv_obj_scroll_to_view_recursive

  scroll_x_anim (Thumb, 22 bytes, Stack size 8 bytes, lv_obj_scroll.o(i.scroll_x_anim))
  [Stack]

  - Max Depth = 368
  - Call Chain = scroll_x_anim ⇒ _lv_obj_scroll_by_raw ⇒ lv_obj_invalidate ⇒ lv_obj_invalidate_area ⇒ lv_obj_area_is_visible ⇒ lv_obj_get_transformed_area ⇒ lv_obj_transform_point ⇒ lv_obj_transform_point (Cycle)
  [Calls]
  - >> _lv_obj_scroll_by_raw
  - >> lv_obj_get_scroll_x
  [Address Reference Count : 3]
  - lv_obj_scroll.o(i.lv_obj_scroll_by)
  - lv_obj_scroll.o(i.lv_obj_scroll_to_x)
  - lv_obj_scroll.o(i.scroll_area_into_view)

  scroll_y_anim (Thumb, 22 bytes, Stack size 8 bytes, lv_obj_scroll.o(i.scroll_y_anim))
  [Stack]

  - Max Depth = 368
  - Call Chain = scroll_y_anim ⇒ _lv_obj_scroll_by_raw ⇒ lv_obj_invalidate ⇒ lv_obj_invalidate_area ⇒ lv_obj_area_is_visible ⇒ lv_obj_get_transformed_area ⇒ lv_obj_transform_point ⇒ lv_obj_transform_point (Cycle)
  [Calls]
  - >> _lv_obj_scroll_by_raw
  - >> lv_obj_get_scroll_y
  [Address Reference Count : 3]
  - lv_obj_scroll.o(i.lv_obj_scroll_by)
  - lv_obj_scroll.o(i.lv_obj_scroll_to_y)
  - lv_obj_scroll.o(i.scroll_area_into_view)

  get_local_style (Thumb, 182 bytes, Stack size 24 bytes, lv_obj_style.o(i.get_local_style))
  [Stack]

  - Max Depth = 176
  - Call Chain = get_local_style ⇒ lv_mem_realloc ⇒ lv_tlsf_realloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_mem_realloc
  - >> lv_memset_00
  - >> lv_mem_alloc
  - >> lv_style_init
  [Called By]
  - >> lv_obj_set_local_style_prop

  get_prop_core (Thumb, 240 bytes, Stack size 56 bytes, lv_obj_style.o(i.get_prop_core))
  [Stack]

  - Max Depth = 104
  - Call Chain = get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_style_get_prop
  - >> _lv_style_get_prop_group
  [Called By]
  - >> lv_obj_get_style_prop

  get_trans_style (Thumb, 160 bytes, Stack size 24 bytes, lv_obj_style.o(i.get_trans_style))
  [Stack]

  - Max Depth = 176
  - Call Chain = get_trans_style ⇒ lv_mem_realloc ⇒ lv_tlsf_realloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_mem_realloc
  - >> lv_memset_00
  - >> lv_mem_alloc
  - >> lv_style_init
  [Called By]
  - >> _lv_obj_style_create_transition
  - >> trans_anim_start_cb

  lv_obj_get_style_opa (Thumb, 12 bytes, Stack size 8 bytes, lv_obj_style.o(i.lv_obj_get_style_opa))
  [Stack]

  - Max Depth = 152
  - Call Chain = lv_obj_get_style_opa ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  [Called By]
  - >> lv_obj_get_style_opa_recursive

  lv_style_prop_has_flag (Thumb, 16 bytes, Stack size 8 bytes, lv_obj_style.o(i.lv_style_prop_has_flag))
  [Stack]

  - Max Depth = 8
  - Call Chain = lv_style_prop_has_flag
  [Calls]
  - >> _lv_style_prop_lookup_flags
  [Called By]
  - >> lv_obj_get_style_prop
  - >> lv_obj_refresh_style

  refresh_children_style (Thumb, 58 bytes, Stack size 24 bytes, lv_obj_style.o(i.refresh_children_style))
  [Stack]

  - Max Depth = 368 + In Cycle
  - Call Chain = refresh_children_style ⇒ refresh_children_style (Cycle)
  [Calls]
  - >> lv_obj_invalidate
  - >> lv_obj_get_child_cnt
  - >> lv_event_send
  - >> refresh_children_style
  [Called By]
  - >> lv_obj_refresh_style
  - >> refresh_children_style

  trans_anim_cb (Thumb, 328 bytes, Stack size 40 bytes, lv_obj_style.o(i.trans_anim_cb))
  [Stack]

  - Max Depth = 448
  - Call Chain = trans_anim_cb ⇒ lv_obj_refresh_style ⇒ refresh_children_style ⇒ refresh_children_style (Cycle)
  [Calls]
  - >> lv_obj_refresh_style
  - >> lv_style_set_prop
  - >> lv_style_get_prop
  [Address Reference Count : 1]
  - lv_obj_style.o(i._lv_obj_style_create_transition)

  trans_anim_ready_cb (Thumb, 152 bytes, Stack size 24 bytes, lv_obj_style.o(i.trans_anim_ready_cb))
  [Stack]

  - Max Depth = 496
  - Call Chain = trans_anim_ready_cb ⇒ lv_obj_remove_style ⇒ lv_obj_refresh_style ⇒ refresh_children_style ⇒ refresh_children_style (Cycle)
  [Calls]
  - >> lv_mem_free
  - >> _lv_ll_remove
  - >> _lv_ll_get_next
  - >> _lv_ll_get_head
  - >> lv_obj_remove_style
  - >> lv_style_remove_prop
  - >> lv_style_is_empty
  [Address Reference Count : 1]
  - lv_obj_style.o(i._lv_obj_style_create_transition)

  trans_anim_start_cb (Thumb, 64 bytes, Stack size 16 bytes, lv_obj_style.o(i.trans_anim_start_cb))
  [Stack]

  - Max Depth = 216
  - Call Chain = trans_anim_start_cb ⇒ lv_style_set_prop ⇒ lv_style_set_prop_internal ⇒ lv_mem_realloc ⇒ lv_tlsf_realloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_obj_get_style_prop
  - >> trans_del
  - >> get_trans_style
  - >> lv_style_set_prop
  [Address Reference Count : 1]
  - lv_obj_style.o(i._lv_obj_style_create_transition)

  trans_del (Thumb, 158 bytes, Stack size 40 bytes, lv_obj_style.o(i.trans_del))
  [Stack]

  - Max Depth = 184
  - Call Chain = trans_del ⇒ lv_style_remove_prop ⇒ lv_mem_alloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_anim_del
  - >> lv_mem_free
  - >> _lv_ll_remove
  - >> _lv_ll_get_tail
  - >> _lv_ll_get_prev
  - >> lv_style_remove_prop
  [Called By]
  - >> lv_obj_remove_style
  - >> trans_anim_start_cb

  call_flush_cb (Thumb, 50 bytes, Stack size 16 bytes, lv_refr.o(i.call_flush_cb))
  [Stack]

  - Max Depth = 16
  - Call Chain = call_flush_cb
  [Called By]
  - >> draw_buf_rotate
  - >> draw_buf_flush

  draw_buf_flush (Thumb, 202 bytes, Stack size 24 bytes, lv_refr.o(i.draw_buf_flush))
  [Stack]

  - Max Depth = 304
  - Call Chain = draw_buf_flush ⇒ draw_buf_rotate ⇒ lv_mem_buf_get ⇒ lv_mem_realloc ⇒ lv_tlsf_realloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_disp_get_draw_buf
  - >> draw_buf_rotate
  - >> call_flush_cb
  [Called By]
  - >> refr_area_part

  draw_buf_rotate (Thumb, 568 bytes, Stack size 104 bytes, lv_refr.o(i.draw_buf_rotate))
  [Stack]

  - Max Depth = 280
  - Call Chain = draw_buf_rotate ⇒ lv_mem_buf_get ⇒ lv_mem_realloc ⇒ lv_tlsf_realloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_mem_buf_release
  - >> lv_mem_buf_get
  - >> lv_disp_get_draw_buf
  - >> draw_buf_rotate_90_sqr
  - >> draw_buf_rotate_180
  - >> call_flush_cb
  - >> __aeabi_uidivmod
  [Called By]
  - >> draw_buf_flush

  draw_buf_rotate4 (Thumb, 20 bytes, Stack size 12 bytes, lv_refr.o(i.draw_buf_rotate4))
  [Stack]

  - Max Depth = 12
  - Call Chain = draw_buf_rotate4
  [Called By]
  - >> draw_buf_rotate_90_sqr

  draw_buf_rotate_180 (Thumb, 104 bytes, Stack size 24 bytes, lv_refr.o(i.draw_buf_rotate_180))
  [Stack]

  - Max Depth = 24
  - Call Chain = draw_buf_rotate_180
  [Called By]
  - >> draw_buf_rotate

  draw_buf_rotate_90_sqr (Thumb, 144 bytes, Stack size 40 bytes, lv_refr.o(i.draw_buf_rotate_90_sqr))
  [Stack]

  - Max Depth = 52
  - Call Chain = draw_buf_rotate_90_sqr ⇒ draw_buf_rotate4
  [Calls]
  - >> draw_buf_rotate4
  [Called By]
  - >> draw_buf_rotate

  get_max_row (Thumb, 106 bytes, Stack size 32 bytes, lv_refr.o(i.get_max_row))
  [Stack]

  - Max Depth = 32
  - Call Chain = get_max_row
  [Calls]
  - >> __aeabi_uidivmod
  [Called By]
  - >> refr_area

  layer_alpha_test (Thumb, 102 bytes, Stack size 48 bytes, lv_refr.o(i.layer_alpha_test))
  [Stack]

  - Max Depth = 112
  - Call Chain = layer_alpha_test ⇒ lv_event_send ⇒ event_send_core ⇒ event_send_core (Cycle)
  [Calls]
  - >> lv_event_send
  - >> _lv_area_is_in
  - >> lv_draw_layer_adjust
  [Called By]
  - >> refr_obj

  layer_get_area (Thumb, 152 bytes, Stack size 72 bytes, lv_refr.o(i.layer_get_area))
  [Stack]

  - Max Depth = 336
  - Call Chain = layer_get_area ⇒ lv_obj_get_transformed_area ⇒ lv_obj_transform_point ⇒ lv_obj_transform_point (Cycle)
  [Calls]
  - >> _lv_obj_get_ext_draw_size
  - >> lv_area_increase
  - >> _lv_area_intersect
  - >> lv_obj_get_transformed_area
  - >> lv_obj_get_coords
  - >> __aeabi_memcpy
  [Called By]
  - >> refr_obj

  lv_area_copy (Thumb, 18 bytes, Stack size 0 bytes, lv_refr.o(i.lv_area_copy))
  [Called By]

  - >> _lv_inv_area
  - >> lv_refr_join_area

  lv_color_make (Thumb, 44 bytes, Stack size 8 bytes, lv_refr.o(i.lv_color_make))
  [Stack]

  - Max Depth = 8
  - Call Chain = lv_color_make
  [Called By]
  - >> lv_obj_redraw
  - >> _lv_disp_refr_timer

  lv_refr_get_top_obj (Thumb, 122 bytes, Stack size 32 bytes, lv_refr.o(i.lv_refr_get_top_obj))
  [Stack]

  - Max Depth = 96 + In Cycle
  - Call Chain = lv_refr_get_top_obj ⇒ lv_refr_get_top_obj (Cycle)
  [Calls]
  - >> lv_obj_has_flag
  - >> lv_obj_get_child_cnt
  - >> lv_event_send
  - >> _lv_obj_get_layer_type
  - >> _lv_area_is_in
  - >> lv_refr_get_top_obj
  [Called By]
  - >> refr_area_part
  - >> lv_refr_get_top_obj

  lv_refr_join_area (Thumb, 194 bytes, Stack size 40 bytes, lv_refr.o(i.lv_refr_join_area))
  [Stack]

  - Max Depth = 48
  - Call Chain = lv_refr_join_area ⇒ _lv_area_join
  [Calls]
  - >> lv_area_get_size
  - >> _lv_area_join
  - >> _lv_area_is_on
  - >> lv_area_copy
  [Called By]
  - >> _lv_disp_refr_timer

  refr_area (Thumb, 322 bytes, Stack size 56 bytes, lv_refr.o(i.refr_area))
  [Stack]

  - Max Depth = 856
  - Call Chain = refr_area ⇒ refr_area_part ⇒ lv_draw_img ⇒ decode_and_draw ⇒ show_error ⇒ lv_draw_label ⇒ lv_txt_get_size ⇒ _lv_txt_get_next_line ⇒ lv_txt_get_next_word ⇒ lv_font_get_glyph_width ⇒ lv_font_get_glyph_dsc
  [Calls]
  - >> lv_disp_get_ver_res
  - >> lv_disp_get_hor_res
  - >> lv_area_set
  - >> refr_area_part
  - >> get_max_row
  [Called By]
  - >> refr_invalid_areas

  refr_area_part (Thumb, 402 bytes, Stack size 88 bytes, lv_refr.o(i.refr_area_part))
  [Stack]

  - Max Depth = 800
  - Call Chain = refr_area_part ⇒ lv_draw_img ⇒ decode_and_draw ⇒ show_error ⇒ lv_draw_label ⇒ lv_txt_get_size ⇒ _lv_txt_get_next_line ⇒ lv_txt_get_next_word ⇒ lv_font_get_glyph_width ⇒ lv_font_get_glyph_dsc
  [Calls]
  - >> lv_disp_get_ver_res
  - >> lv_disp_get_hor_res
  - >> lv_area_set
  - >> lv_disp_get_scr_act
  - >> lv_disp_get_layer_top
  - >> lv_disp_get_layer_sys
  - >> lv_draw_rect_dsc_init
  - >> lv_draw_rect
  - >> lv_img_decoder_get_info
  - >> lv_draw_img_dsc_init
  - >> lv_draw_img
  - >> lv_disp_get_draw_buf
  - >> refr_obj_and_children
  - >> lv_refr_get_top_obj
  - >> draw_buf_flush
  [Called By]
  - >> refr_area

  refr_invalid_areas (Thumb, 188 bytes, Stack size 24 bytes, lv_refr.o(i.refr_invalid_areas))
  [Stack]

  - Max Depth = 880
  - Call Chain = refr_invalid_areas ⇒ refr_area ⇒ refr_area_part ⇒ lv_draw_img ⇒ decode_and_draw ⇒ show_error ⇒ lv_draw_label ⇒ lv_txt_get_size ⇒ _lv_txt_get_next_line ⇒ lv_txt_get_next_word ⇒ lv_font_get_glyph_width ⇒ lv_font_get_glyph_dsc
  [Calls]
  - >> lv_area_get_size
  - >> refr_area
  [Called By]
  - >> _lv_disp_refr_timer

  refr_obj (Thumb, 538 bytes, Stack size 80 bytes, lv_refr.o(i.refr_obj))
  [Stack]

  - Max Depth = 416
  - Call Chain = refr_obj ⇒ layer_get_area ⇒ lv_obj_get_transformed_area ⇒ lv_obj_transform_point ⇒ lv_obj_transform_point (Cycle)
  [Calls]
  - >> lv_obj_has_flag
  - >> lv_event_send
  - >> lv_obj_get_style_prop
  - >> _lv_obj_get_layer_type
  - >> _lv_area_is_in
  - >> lv_draw_layer_destroy
  - >> lv_draw_layer_create
  - >> lv_draw_layer_blend
  - >> lv_draw_img_dsc_init
  - >> lv_obj_redraw
  - >> layer_get_area
  - >> layer_alpha_test
  - >> __aeabi_idivmod
  [Called By]
  - >> lv_obj_redraw
  - >> refr_obj_and_children

  refr_obj_and_children (Thumb, 120 bytes, Stack size 32 bytes, lv_refr.o(i.refr_obj_and_children))
  [Stack]

  - Max Depth = 448
  - Call Chain = refr_obj_and_children ⇒ refr_obj ⇒ layer_get_area ⇒ lv_obj_get_transformed_area ⇒ lv_obj_transform_point ⇒ lv_obj_transform_point (Cycle)
  [Calls]
  - >> lv_obj_get_child_cnt
  - >> lv_event_send
  - >> lv_disp_get_scr_act
  - >> lv_obj_get_parent
  - >> refr_obj
  [Called By]
  - >> refr_area_part

  refr_sync_areas (Thumb, 282 bytes, Stack size 80 bytes, lv_refr.o(i.refr_sync_areas))
  [Stack]

  - Max Depth = 232
  - Call Chain = refr_sync_areas ⇒ _lv_ll_ins_prev ⇒ _lv_ll_ins_head ⇒ lv_mem_alloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_disp_get_hor_res
  - >> lv_mem_free
  - >> _lv_ll_remove
  - >> _lv_ll_get_next
  - >> _lv_ll_get_head
  - >> _lv_ll_clear
  - >> _lv_ll_is_empty
  - >> _lv_ll_ins_prev
  - >> _lv_area_diff
  - >> __aeabi_memclr4
  - >> __aeabi_memcpy
  [Called By]
  - >> _lv_disp_refr_timer

  apply_theme (Thumb, 30 bytes, Stack size 16 bytes, lv_theme.o(i.apply_theme))
  [Stack]

  - Max Depth = 16 + In Cycle
  - Call Chain = apply_theme ⇒ apply_theme (Cycle)
  [Calls]
  - >> apply_theme
  [Called By]
  - >> lv_theme_apply
  - >> apply_theme

  decode_and_draw (Thumb, 510 bytes, Stack size 72 bytes, lv_draw_img.o(i.decode_and_draw))
  [Stack]

  - Max Depth = 672
  - Call Chain = decode_and_draw ⇒ show_error ⇒ lv_draw_label ⇒ lv_txt_get_size ⇒ _lv_txt_get_next_line ⇒ lv_txt_get_next_word ⇒ lv_font_get_glyph_width ⇒ lv_font_get_glyph_dsc
  [Calls]
  - >> lv_mem_buf_release
  - >> lv_mem_buf_get
  - >> _lv_area_intersect
  - >> lv_img_decoder_read_line
  - >> lv_img_decoder_close
  - >> lv_area_set_height
  - >> _lv_img_cache_open
  - >> _lv_img_buf_get_transformed_area
  - >> lv_img_cf_is_chroma_keyed
  - >> lv_img_cf_has_alpha
  - >> lv_draw_img_decoded
  - >> show_error
  - >> lv_area_copy
  [Called By]
  - >> lv_draw_img

  lv_area_copy (Thumb, 18 bytes, Stack size 0 bytes, lv_draw_img.o(i.lv_area_copy))
  [Called By]

  - >> decode_and_draw

  lv_color_make (Thumb, 44 bytes, Stack size 8 bytes, lv_draw_img.o(i.lv_color_make))
  [Stack]

  - Max Depth = 8
  - Call Chain = lv_color_make
  [Called By]
  - >> lv_draw_img_dsc_init
  - >> show_error

  show_error (Thumb, 76 bytes, Stack size 112 bytes, lv_draw_img.o(i.show_error))
  [Stack]

  - Max Depth = 600
  - Call Chain = show_error ⇒ lv_draw_label ⇒ lv_txt_get_size ⇒ _lv_txt_get_next_line ⇒ lv_txt_get_next_word ⇒ lv_font_get_glyph_width ⇒ lv_font_get_glyph_dsc
  [Calls]
  - >> lv_draw_rect_dsc_init
  - >> lv_draw_rect
  - >> lv_draw_label_dsc_init
  - >> lv_draw_label
  - >> lv_color_make
  [Called By]
  - >> lv_draw_img
  - >> decode_and_draw

  hex_char_to_num (Thumb, 66 bytes, Stack size 4 bytes, lv_draw_label.o(i.hex_char_to_num))
  [Stack]

  - Max Depth = 12
  - Call Chain = hex_char_to_num ⇒ __ARM_common_switch8
  [Calls]
  - >> __ARM_common_switch8
  [Called By]
  - >> lv_draw_label

  lv_area_get_width (Thumb, 12 bytes, Stack size 0 bytes, lv_draw_label.o(i.lv_area_get_width))
  [Called By]

  - >> lv_draw_label

  lv_color_black (Thumb, 20 bytes, Stack size 8 bytes, lv_draw_label.o(i.lv_color_black))
  [Stack]

  - Max Depth = 16
  - Call Chain = lv_color_black ⇒ lv_color_make
  [Calls]
  - >> lv_color_make
  [Called By]
  - >> lv_draw_label_dsc_init
  - >> lv_draw_label

  lv_color_make (Thumb, 44 bytes, Stack size 8 bytes, lv_draw_label.o(i.lv_color_make))
  [Stack]

  - Max Depth = 8
  - Call Chain = lv_color_make
  [Called By]
  - >> lv_color_black
  - >> lv_draw_label

  circ_calc_aa4 (Thumb, 712 bytes, Stack size 104 bytes, lv_draw_mask.o(i.circ_calc_aa4))
  [Stack]

  - Max Depth = 280
  - Call Chain = circ_calc_aa4 ⇒ lv_mem_buf_get ⇒ lv_mem_realloc ⇒ lv_tlsf_realloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_mem_free
  - >> lv_mem_buf_release
  - >> lv_mem_buf_get
  - >> lv_mem_alloc
  - >> circ_cont
  [Called By]
  - >> lv_draw_mask_radius_init

  circ_cont (Thumb, 20 bytes, Stack size 0 bytes, lv_draw_mask.o(i.circ_cont))
  [Called By]

  - >> circ_calc_aa4

  line_mask_flat (Thumb, 326 bytes, Stack size 40 bytes, lv_draw_mask.o(i.line_mask_flat))
  [Stack]

  - Max Depth = 48
  - Call Chain = line_mask_flat ⇒ lv_memset_00
  [Calls]
  - >> lv_memset_00
  - >> mask_mix
  [Called By]
  - >> lv_draw_mask_line

  line_mask_steep (Thumb, 458 bytes, Stack size 48 bytes, lv_draw_mask.o(i.line_mask_steep))
  [Stack]

  - Max Depth = 56
  - Call Chain = line_mask_steep ⇒ lv_memset_00
  [Calls]
  - >> lv_memset_00
  - >> mask_mix
  [Called By]
  - >> lv_draw_mask_line

  lv_area_copy (Thumb, 18 bytes, Stack size 0 bytes, lv_draw_mask.o(i.lv_area_copy))
  [Called By]

  - >> lv_draw_mask_radius_init
  - >> lv_draw_mask_radius

  lv_draw_mask_angle (Thumb, 616 bytes, Stack size 56 bytes, lv_draw_mask.o(i.lv_draw_mask_angle))
  [Stack]

  - Max Depth = 136
  - Call Chain = lv_draw_mask_angle ⇒ lv_draw_mask_line ⇒ line_mask_steep ⇒ lv_memset_00
  [Calls]
  - >> lv_memset_00
  - >> lv_draw_mask_line
  [Address Reference Count : 1]
  - lv_draw_mask.o(i.lv_draw_mask_angle_init)

  lv_draw_mask_line (Thumb, 168 bytes, Stack size 24 bytes, lv_draw_mask.o(i.lv_draw_mask_line))
  [Stack]

  - Max Depth = 80
  - Call Chain = lv_draw_mask_line ⇒ line_mask_steep ⇒ lv_memset_00
  [Calls]
  - >> lv_memset_00
  - >> line_mask_steep
  - >> line_mask_flat
  [Called By]
  - >> lv_draw_mask_angle
  [Address Reference Count : 1]
  - lv_draw_mask.o(i.lv_draw_mask_line_points_init)

  lv_draw_mask_radius (Thumb, 660 bytes, Stack size 80 bytes, lv_draw_mask.o(i.lv_draw_mask_radius))
  [Stack]

  - Max Depth = 88
  - Call Chain = lv_draw_mask_radius ⇒ lv_memset_00
  [Calls]
  - >> lv_memset_00
  - >> mask_mix
  - >> lv_area_copy
  [Address Reference Count : 1]
  - lv_draw_mask.o(i.lv_draw_mask_radius_init)

  mask_mix (Thumb, 24 bytes, Stack size 0 bytes, lv_draw_mask.o(i.mask_mix))
  [Called By]

  - >> lv_draw_mask_radius
  - >> line_mask_steep
  - >> line_mask_flat

  lv_color_black (Thumb, 20 bytes, Stack size 8 bytes, lv_draw_rect.o(i.lv_color_black))
  [Stack]

  - Max Depth = 16
  - Call Chain = lv_color_black ⇒ lv_color_make
  [Calls]
  - >> lv_color_make
  [Called By]
  - >> lv_draw_rect_dsc_init

  lv_color_make (Thumb, 44 bytes, Stack size 8 bytes, lv_draw_rect.o(i.lv_color_make))
  [Stack]

  - Max Depth = 8
  - Call Chain = lv_color_make
  [Called By]
  - >> lv_color_white
  - >> lv_color_black

  lv_color_white (Thumb, 20 bytes, Stack size 8 bytes, lv_draw_rect.o(i.lv_color_white))
  [Stack]

  - Max Depth = 16
  - Call Chain = lv_color_white ⇒ lv_color_make
  [Calls]
  - >> lv_color_make
  [Called By]
  - >> lv_draw_rect_dsc_init

  lv_color_make (Thumb, 44 bytes, Stack size 8 bytes, lv_img_decoder.o(i.lv_color_make))
  [Stack]

  - Max Depth = 8
  - Call Chain = lv_color_make
  [Called By]
  - >> lv_img_decoder_built_in_open

  lv_img_decoder_built_in_line_alpha (Thumb, 364 bytes, Stack size 96 bytes, lv_img_decoder.o(i.lv_img_decoder_built_in_line_alpha))
  [Stack]

  - Max Depth = 288
  - Call Chain = lv_img_decoder_built_in_line_alpha ⇒ lv_fs_read ⇒ lv_fs_read_cached ⇒ lv_mem_alloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_mem_buf_release
  - >> lv_mem_buf_get
  - >> lv_img_cf_get_px_size
  - >> lv_fs_seek
  - >> lv_fs_read
  [Called By]
  - >> lv_img_decoder_built_in_read_line

  lv_img_decoder_built_in_line_indexed (Thumb, 316 bytes, Stack size 56 bytes, lv_img_decoder.o(i.lv_img_decoder_built_in_line_indexed))
  [Stack]

  - Max Depth = 248
  - Call Chain = lv_img_decoder_built_in_line_indexed ⇒ lv_fs_read ⇒ lv_fs_read_cached ⇒ lv_mem_alloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_mem_buf_release
  - >> lv_mem_buf_get
  - >> lv_img_cf_get_px_size
  - >> lv_fs_seek
  - >> lv_fs_read
  [Called By]
  - >> lv_img_decoder_built_in_read_line

  lv_point_within_circle (Thumb, 58 bytes, Stack size 8 bytes, lv_area.o(i.lv_point_within_circle))
  [Stack]

  - Max Depth = 8
  - Call Chain = lv_point_within_circle
  [Called By]
  - >> _lv_area_is_point_on

  lv_color_black (Thumb, 20 bytes, Stack size 8 bytes, lv_color.o(i.lv_color_black))
  [Stack]

  - Max Depth = 16
  - Call Chain = lv_color_black ⇒ lv_color_make
  [Calls]
  - >> lv_color_make
  [Called By]
  - >> lv_palette_main

  lv_color_make (Thumb, 44 bytes, Stack size 8 bytes, lv_color.o(i.lv_color_make))
  [Stack]

  - Max Depth = 8
  - Call Chain = lv_color_make
  [Called By]
  - >> lv_color_black

  lv_fs_get_real_path (Thumb, 12 bytes, Stack size 0 bytes, lv_fs.o(i.lv_fs_get_real_path))
  [Called By]

  - >> lv_fs_open

  lv_fs_read_cached (Thumb, 304 bytes, Stack size 56 bytes, lv_fs.o(i.lv_fs_read_cached))
  [Stack]

  - Max Depth = 168
  - Call Chain = lv_fs_read_cached ⇒ lv_mem_alloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_memcpy
  - >> lv_mem_alloc
  [Called By]
  - >> lv_fs_read

  node_set_next (Thumb, 14 bytes, Stack size 0 bytes, lv_ll.o(i.node_set_next))
  [Called By]

  - >> _lv_ll_remove
  - >> _lv_ll_ins_tail
  - >> _lv_ll_ins_head
  - >> _lv_ll_ins_prev

  node_set_prev (Thumb, 12 bytes, Stack size 0 bytes, lv_ll.o(i.node_set_prev))
  [Called By]

  - >> _lv_ll_remove
  - >> _lv_ll_ins_tail
  - >> _lv_ll_ins_head
  - >> _lv_ll_ins_prev

  _atoi (Thumb, 40 bytes, Stack size 16 bytes, lv_printf.o(i._atoi))
  [Stack]

  - Max Depth = 16
  - Call Chain = _atoi
  [Calls]
  - >> _is_digit
  [Called By]
  - >> _vsnprintf

  _is_digit (Thumb, 14 bytes, Stack size 0 bytes, lv_printf.o(i._is_digit))
  [Called By]

  - >> _vsnprintf
  - >> _atoi

  _ntoa_format (Thumb, 294 bytes, Stack size 88 bytes, lv_printf.o(i._ntoa_format))
  [Stack]

  - Max Depth = 88
  - Call Chain = _ntoa_format
  [Called By]
  - >> _ntoa_long_long
  - >> _ntoa_long

  _ntoa_long (Thumb, 102 bytes, Stack size 96 bytes, lv_printf.o(i._ntoa_long))
  [Stack]

  - Max Depth = 184
  - Call Chain = _ntoa_long ⇒ _ntoa_format
  [Calls]
  - >> _ntoa_format
  - >> __aeabi_uidivmod
  [Called By]
  - >> _vsnprintf

  _ntoa_long_long (Thumb, 116 bytes, Stack size 96 bytes, lv_printf.o(i._ntoa_long_long))
  [Stack]

  - Max Depth = 184
  - Call Chain = _ntoa_long_long ⇒ _ntoa_format
  [Calls]
  - >> _ntoa_format
  - >> __aeabi_uldivmod
  [Called By]
  - >> _vsnprintf

  _out_buffer (Thumb, 8 bytes, Stack size 0 bytes, lv_printf.o(i._out_buffer))
  [Address Reference Count : 1]

  - lv_printf.o(i.lv_vsnprintf)

  _out_null (Thumb, 2 bytes, Stack size 0 bytes, lv_printf.o(i._out_null))
  [Address Reference Count : 1]

  - lv_printf.o(i._vsnprintf)

  _vsnprintf (Thumb, 1172 bytes, Stack size 88 bytes, lv_printf.o(i._vsnprintf))
  [Stack]

  - Max Depth = 272 + In Cycle
  - Call Chain = _vsnprintf ⇒ _vsnprintf (Cycle)
  [Calls]
  - >> _vsnprintf
  - >> _ntoa_long_long
  - >> _ntoa_long
  - >> _is_digit
  - >> _atoi
  [Called By]
  - >> lv_vsnprintf
  - >> _vsnprintf

  lv_color_make (Thumb, 44 bytes, Stack size 8 bytes, lv_style.o(i.lv_color_make))
  [Stack]

  - Max Depth = 8
  - Call Chain = lv_color_make
  [Called By]
  - >> lv_style_prop_get_default

  lv_style_get_prop_inlined (Thumb, 158 bytes, Stack size 16 bytes, lv_style.o(i.lv_style_get_prop_inlined))
  [Stack]

  - Max Depth = 40
  - Call Chain = lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_style_prop_get_default
  [Called By]
  - >> lv_style_get_prop

  lv_style_set_prop_helper (Thumb, 6 bytes, Stack size 0 bytes, lv_style.o(i.lv_style_set_prop_helper))
  [Address Reference Count : 1]

  - lv_style.o(i.lv_style_set_prop)

  lv_style_set_prop_internal (Thumb, 234 bytes, Stack size 40 bytes, lv_style.o(i.lv_style_set_prop_internal))
  [Stack]

  - Max Depth = 192
  - Call Chain = lv_style_set_prop_internal ⇒ lv_mem_realloc ⇒ lv_tlsf_realloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_mem_realloc
  - >> lv_mem_alloc
  - >> _lv_style_get_prop_group
  [Called By]
  - >> lv_style_set_prop

  lv_timer_time_remaining (Thumb, 24 bytes, Stack size 8 bytes, lv_timer.o(i.lv_timer_time_remaining))
  [Stack]

  - Max Depth = 16
  - Call Chain = lv_timer_time_remaining ⇒ lv_tick_elaps
  [Calls]
  - >> lv_tick_elaps
  [Called By]
  - >> lv_timer_handler

  adjust_request_size (Thumb, 44 bytes, Stack size 8 bytes, lv_tlsf.o(i.adjust_request_size))
  [Stack]

  - Max Depth = 8
  - Call Chain = adjust_request_size
  [Called By]
  - >> lv_tlsf_realloc
  - >> lv_tlsf_malloc

  align_ptr (Thumb, 16 bytes, Stack size 0 bytes, lv_tlsf.o(i.align_ptr))
  [Called By]

  - >> block_split
  - >> block_insert

  block_absorb (Thumb, 34 bytes, Stack size 8 bytes, lv_tlsf.o(i.block_absorb))
  [Stack]

  - Max Depth = 16
  - Call Chain = block_absorb ⇒ block_link_next
  [Calls]
  - >> block_link_next
  [Called By]
  - >> lv_tlsf_free
  - >> block_merge_next

  block_can_split (Thumb, 20 bytes, Stack size 0 bytes, lv_tlsf.o(i.block_can_split))
  [Called By]

  - >> lv_tlsf_realloc
  - >> block_prepare_used

  block_insert (Thumb, 112 bytes, Stack size 40 bytes, lv_tlsf.o(i.block_insert))
  [Stack]

  - Max Depth = 64
  - Call Chain = block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> mapping_insert
  - >> align_ptr
  [Called By]
  - >> lv_tlsf_realloc
  - >> lv_tlsf_free
  - >> lv_tlsf_add_pool
  - >> block_prepare_used

  block_link_next (Thumb, 12 bytes, Stack size 8 bytes, lv_tlsf.o(i.block_link_next))
  [Stack]

  - Max Depth = 8
  - Call Chain = block_link_next
  [Calls]
  - >> block_next
  [Called By]
  - >> lv_tlsf_add_pool
  - >> block_prepare_used
  - >> block_mark_as_free
  - >> block_absorb

  block_locate_free (Thumb, 166 bytes, Stack size 40 bytes, lv_tlsf.o(i.block_locate_free))
  [Stack]

  - Max Depth = 64
  - Call Chain = block_locate_free ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> tlsf_fls
  - >> tlsf_ffs
  - >> remove_free_block
  - >> mapping_insert
  [Called By]
  - >> lv_tlsf_malloc

  block_mark_as_free (Thumb, 26 bytes, Stack size 8 bytes, lv_tlsf.o(i.block_mark_as_free))
  [Stack]

  - Max Depth = 16
  - Call Chain = block_mark_as_free ⇒ block_link_next
  [Calls]
  - >> block_link_next
  [Called By]
  - >> lv_tlsf_free
  - >> block_split

  block_mark_as_used (Thumb, 26 bytes, Stack size 8 bytes, lv_tlsf.o(i.block_mark_as_used))
  [Stack]

  - Max Depth = 8
  - Call Chain = block_mark_as_used
  [Calls]
  - >> block_next
  [Called By]
  - >> lv_tlsf_realloc
  - >> block_prepare_used

  block_merge_next (Thumb, 54 bytes, Stack size 16 bytes, lv_tlsf.o(i.block_merge_next))
  [Stack]

  - Max Depth = 64
  - Call Chain = block_merge_next ⇒ block_remove ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> block_remove
  - >> block_next
  - >> block_absorb
  [Called By]
  - >> lv_tlsf_realloc
  - >> lv_tlsf_free

  block_next (Thumb, 22 bytes, Stack size 0 bytes, lv_tlsf.o(i.block_next))
  [Called By]

  - >> lv_tlsf_realloc
  - >> block_merge_next
  - >> block_mark_as_used
  - >> block_link_next

  block_prepare_used (Thumb, 84 bytes, Stack size 16 bytes, lv_tlsf.o(i.block_prepare_used))
  [Stack]

  - Max Depth = 80
  - Call Chain = block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> block_split
  - >> block_mark_as_used
  - >> block_link_next
  - >> block_insert
  - >> block_can_split
  [Called By]
  - >> lv_tlsf_malloc

  block_remove (Thumb, 34 bytes, Stack size 24 bytes, lv_tlsf.o(i.block_remove))
  [Stack]

  - Max Depth = 48
  - Call Chain = block_remove ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> remove_free_block
  - >> mapping_insert
  [Called By]
  - >> lv_tlsf_free
  - >> block_merge_next

  block_split (Thumb, 104 bytes, Stack size 24 bytes, lv_tlsf.o(i.block_split))
  [Stack]

  - Max Depth = 40
  - Call Chain = block_split ⇒ block_mark_as_free ⇒ block_link_next
  [Calls]
  - >> block_mark_as_free
  - >> align_ptr
  [Called By]
  - >> lv_tlsf_realloc
  - >> block_prepare_used

  mapping_insert (Thumb, 44 bytes, Stack size 16 bytes, lv_tlsf.o(i.mapping_insert))
  [Stack]

  - Max Depth = 24
  - Call Chain = mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> tlsf_fls
  [Called By]
  - >> block_remove
  - >> block_locate_free
  - >> block_insert

  remove_free_block (Thumb, 70 bytes, Stack size 16 bytes, lv_tlsf.o(i.remove_free_block))
  [Stack]

  - Max Depth = 16
  - Call Chain = remove_free_block
  [Called By]
  - >> block_remove
  - >> block_locate_free

  tlsf_ffs (Thumb, 20 bytes, Stack size 8 bytes, lv_tlsf.o(i.tlsf_ffs))
  [Stack]

  - Max Depth = 8
  - Call Chain = tlsf_ffs
  [Calls]
  - >> __ARM_clz
  [Called By]
  - >> block_locate_free

  tlsf_fls (Thumb, 18 bytes, Stack size 8 bytes, lv_tlsf.o(i.tlsf_fls))
  [Stack]

  - Max Depth = 8
  - Call Chain = tlsf_fls
  [Calls]
  - >> __ARM_clz
  [Called By]
  - >> mapping_insert
  - >> block_locate_free

  lv_txt_get_next_word (Thumb, 298 bytes, Stack size 56 bytes, lv_txt.o(i.lv_txt_get_next_word))
  [Stack]

  - Max Depth = 120
  - Call Chain = lv_txt_get_next_word ⇒ lv_font_get_glyph_width ⇒ lv_font_get_glyph_dsc
  [Calls]
  - >> lv_font_get_glyph_width
  - >> _lv_txt_is_cmd
  [Called By]
  - >> _lv_txt_get_next_line

  lv_txt_utf8_get_byte_id (Thumb, 44 bytes, Stack size 24 bytes, lv_txt.o(i.lv_txt_utf8_get_byte_id))
  [Stack]

  - Max Depth = 24
  - Call Chain = lv_txt_utf8_get_byte_id
  [Address Reference Count : 1]
  - lv_txt.o(.data)

  lv_txt_utf8_get_char_id (Thumb, 36 bytes, Stack size 24 bytes, lv_txt.o(i.lv_txt_utf8_get_char_id))
  [Stack]

  - Max Depth = 24
  - Call Chain = lv_txt_utf8_get_char_id
  [Address Reference Count : 1]
  - lv_txt.o(.data)

  lv_txt_utf8_get_length (Thumb, 34 bytes, Stack size 24 bytes, lv_txt.o(i.lv_txt_utf8_get_length))
  [Stack]

  - Max Depth = 24
  - Call Chain = lv_txt_utf8_get_length
  [Address Reference Count : 1]
  - lv_txt.o(.data)

  lv_txt_utf8_next (Thumb, 128 bytes, Stack size 16 bytes, lv_txt.o(i.lv_txt_utf8_next))
  [Stack]

  - Max Depth = 16
  - Call Chain = lv_txt_utf8_next
  [Address Reference Count : 1]
  - lv_txt.o(.data)

  lv_txt_utf8_prev (Thumb, 70 bytes, Stack size 24 bytes, lv_txt.o(i.lv_txt_utf8_prev))
  [Stack]

  - Max Depth = 24
  - Call Chain = lv_txt_utf8_prev
  [Address Reference Count : 1]
  - lv_txt.o(.data)

  lv_txt_utf8_size (Thumb, 44 bytes, Stack size 0 bytes, lv_txt.o(i.lv_txt_utf8_size))
  [Address Reference Count : 1]

  - lv_txt.o(.data)

  draw_main (Thumb, 604 bytes, Stack size 96 bytes, lv_label.o(i.draw_main))
  [Stack]

  - Max Depth = 584
  - Call Chain = draw_main ⇒ lv_draw_label ⇒ lv_txt_get_size ⇒ _lv_txt_get_next_line ⇒ lv_txt_get_next_word ⇒ lv_font_get_glyph_width ⇒ lv_font_get_glyph_dsc
  [Calls]
  - >> lv_event_get_target
  - >> lv_event_get_draw_ctx
  - >> lv_obj_get_scroll_top
  - >> lv_obj_get_style_prop
  - >> _lv_obj_style_apply_color_filter
  - >> lv_obj_init_draw_label_dsc
  - >> _lv_area_intersect
  - >> lv_obj_get_content_coords
  - >> lv_txt_get_size
  - >> lv_font_get_glyph_width
  - >> lv_draw_label_dsc_init
  - >> lv_draw_label
  - >> lv_area_move
  - >> lv_obj_get_style_width
  [Called By]
  - >> lv_label_event

  lv_label_constructor (Thumb, 84 bytes, Stack size 16 bytes, lv_label.o(i.lv_label_constructor))
  [Stack]

  - Max Depth = 504
  - Call Chain = lv_label_constructor ⇒ lv_label_set_text ⇒ lv_label_refr_text ⇒ lv_obj_invalidate ⇒ lv_obj_invalidate_area ⇒ lv_obj_area_is_visible ⇒ lv_obj_get_transformed_area ⇒ lv_obj_transform_point ⇒ lv_obj_transform_point (Cycle)
  [Calls]
  - >> lv_obj_clear_flag
  - >> lv_label_set_text
  - >> lv_label_set_long_mode
  [Address Reference Count : 1]
  - lv_label.o(.constdata)

  lv_label_destructor (Thumb, 30 bytes, Stack size 8 bytes, lv_label.o(i.lv_label_destructor))
  [Stack]

  - Max Depth = 120
  - Call Chain = lv_label_destructor ⇒ lv_label_dot_tmp_free ⇒ lv_mem_free ⇒ lv_tlsf_free ⇒ block_merge_next ⇒ block_remove ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_mem_free
  - >> lv_label_dot_tmp_free
  [Address Reference Count : 1]
  - lv_label.o(.constdata)

  lv_label_dot_tmp_free (Thumb, 38 bytes, Stack size 16 bytes, lv_label.o(i.lv_label_dot_tmp_free))
  [Stack]

  - Max Depth = 112
  - Call Chain = lv_label_dot_tmp_free ⇒ lv_mem_free ⇒ lv_tlsf_free ⇒ block_merge_next ⇒ block_remove ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_mem_free
  [Called By]
  - >> lv_label_revert_dots
  - >> lv_label_refr_text
  - >> lv_label_destructor

  lv_label_event (Thumb, 246 bytes, Stack size 48 bytes, lv_label.o(i.lv_label_event))
  [Stack]

  - Max Depth = 632
  - Call Chain = lv_label_event ⇒ draw_main ⇒ lv_draw_label ⇒ lv_txt_get_size ⇒ _lv_txt_get_next_line ⇒ lv_txt_get_next_word ⇒ lv_font_get_glyph_width ⇒ lv_font_get_glyph_dsc
  [Calls]
  - >> lv_obj_event_base
  - >> lv_event_set_ext_draw_size
  - >> lv_event_get_target
  - >> lv_event_get_param
  - >> lv_event_get_code
  - >> lv_obj_get_content_width
  - >> lv_txt_get_size
  - >> lv_obj_get_style_width
  - >> lv_obj_get_style_text_line_space
  - >> lv_obj_get_style_text_letter_space
  - >> lv_obj_get_style_text_font
  - >> lv_label_revert_dots
  - >> lv_label_refr_text
  - >> draw_main
  [Address Reference Count : 1]
  - lv_label.o(.constdata)

  lv_label_refr_text (Thumb, 1246 bytes, Stack size 128 bytes, lv_label.o(i.lv_label_refr_text))
  [Stack]

  - Max Depth = 472
  - Call Chain = lv_label_refr_text ⇒ lv_obj_invalidate ⇒ lv_obj_invalidate_area ⇒ lv_obj_area_is_visible ⇒ lv_obj_get_transformed_area ⇒ lv_obj_transform_point ⇒ lv_obj_transform_point (Cycle)
  [Calls]
  - >> lv_obj_invalidate
  - >> lv_obj_get_disp
  - >> lv_anim_start
  - >> lv_anim_init
  - >> lv_anim_del
  - >> lv_obj_get_style_prop
  - >> lv_memcpy
  - >> lv_obj_refresh_self_size
  - >> lv_mem_alloc
  - >> lv_disp_get_dpi
  - >> lv_anim_speed_to_time
  - >> lv_anim_get
  - >> lv_obj_get_content_coords
  - >> lv_txt_get_size
  - >> lv_font_get_glyph_width
  - >> lv_label_get_letter_on
  - >> lv_obj_get_style_width
  - >> lv_obj_get_style_text_line_space
  - >> lv_obj_get_style_text_letter_space
  - >> lv_obj_get_style_text_font
  - >> lv_obj_get_style_anim_speed
  - >> lv_label_dot_tmp_free
  - >> __aeabi_idivmod
  - >> strlen
  [Called By]
  - >> lv_label_set_text_fmt
  - >> lv_label_set_text
  - >> lv_label_set_long_mode
  - >> lv_label_event

  lv_label_revert_dots (Thumb, 92 bytes, Stack size 16 bytes, lv_label.o(i.lv_label_revert_dots))
  [Stack]

  - Max Depth = 128
  - Call Chain = lv_label_revert_dots ⇒ lv_label_dot_tmp_free ⇒ lv_mem_free ⇒ lv_tlsf_free ⇒ block_merge_next ⇒ block_remove ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_label_dot_tmp_free
  [Called By]
  - >> lv_label_set_long_mode
  - >> lv_label_event

  lv_obj_get_style_anim_speed (Thumb, 10 bytes, Stack size 8 bytes, lv_label.o(i.lv_obj_get_style_anim_speed))
  [Stack]

  - Max Depth = 152
  - Call Chain = lv_obj_get_style_anim_speed ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  [Called By]
  - >> lv_label_refr_text

  lv_obj_get_style_text_font (Thumb, 10 bytes, Stack size 8 bytes, lv_label.o(i.lv_obj_get_style_text_font))
  [Stack]

  - Max Depth = 152
  - Call Chain = lv_obj_get_style_text_font ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  [Called By]
  - >> lv_label_get_letter_on
  - >> lv_label_refr_text
  - >> lv_label_event

  lv_obj_get_style_text_letter_space (Thumb, 12 bytes, Stack size 8 bytes, lv_label.o(i.lv_obj_get_style_text_letter_space))
  [Stack]

  - Max Depth = 152
  - Call Chain = lv_obj_get_style_text_letter_space ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  [Called By]
  - >> lv_label_get_letter_on
  - >> lv_label_refr_text
  - >> lv_label_event

  lv_obj_get_style_text_line_space (Thumb, 12 bytes, Stack size 8 bytes, lv_label.o(i.lv_obj_get_style_text_line_space))
  [Stack]

  - Max Depth = 152
  - Call Chain = lv_obj_get_style_text_line_space ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  [Called By]
  - >> lv_label_get_letter_on
  - >> lv_label_refr_text
  - >> lv_label_event

  lv_obj_get_style_width (Thumb, 12 bytes, Stack size 8 bytes, lv_label.o(i.lv_obj_get_style_width))
  [Stack]

  - Max Depth = 152
  - Call Chain = lv_obj_get_style_width ⇒ lv_obj_get_style_prop ⇒ get_prop_core ⇒ lv_style_get_prop ⇒ lv_style_get_prop_inlined ⇒ lv_style_prop_get_default ⇒ lv_color_make
  [Calls]
  - >> lv_obj_get_style_prop
  [Called By]
  - >> lv_label_get_letter_on
  - >> lv_label_refr_text
  - >> lv_label_event
  - >> draw_main

  set_ofs_x_anim (Thumb, 12 bytes, Stack size 8 bytes, lv_label.o(i.set_ofs_x_anim))
  [Stack]

  - Max Depth = 352
  - Call Chain = set_ofs_x_anim ⇒ lv_obj_invalidate ⇒ lv_obj_invalidate_area ⇒ lv_obj_area_is_visible ⇒ lv_obj_get_transformed_area ⇒ lv_obj_transform_point ⇒ lv_obj_transform_point (Cycle)
  [Calls]
  - >> lv_obj_invalidate
  [Address Reference Count : 2]
  - lv_label.o(i.lv_label_refr_text)
  - lv_label.o(i.lv_label_set_long_mode)

  set_ofs_y_anim (Thumb, 12 bytes, Stack size 8 bytes, lv_label.o(i.set_ofs_y_anim))
  [Stack]

  - Max Depth = 352
  - Call Chain = set_ofs_y_anim ⇒ lv_obj_invalidate ⇒ lv_obj_invalidate_area ⇒ lv_obj_area_is_visible ⇒ lv_obj_get_transformed_area ⇒ lv_obj_transform_point ⇒ lv_obj_transform_point (Cycle)
  [Calls]
  - >> lv_obj_invalidate
  [Address Reference Count : 2]
  - lv_label.o(i.lv_label_refr_text)
  - lv_label.o(i.lv_label_set_long_mode)

  draw_quarter_0 (Thumb, 390 bytes, Stack size 24 bytes, lv_draw_sw_arc.o(i.draw_quarter_0))
  [Stack]

  - Max Depth = 40
  - Call Chain = draw_quarter_0 ⇒ _lv_area_intersect
  [Calls]
  - >> lv_draw_rect
  - >> _lv_area_intersect
  - >> lv_trigo_sin
  [Called By]
  - >> lv_draw_sw_arc

  draw_quarter_1 (Thumb, 400 bytes, Stack size 24 bytes, lv_draw_sw_arc.o(i.draw_quarter_1))
  [Stack]

  - Max Depth = 40
  - Call Chain = draw_quarter_1 ⇒ _lv_area_intersect
  [Calls]
  - >> lv_draw_rect
  - >> _lv_area_intersect
  - >> lv_trigo_sin
  [Called By]
  - >> lv_draw_sw_arc

  draw_quarter_2 (Thumb, 464 bytes, Stack size 24 bytes, lv_draw_sw_arc.o(i.draw_quarter_2))
  [Stack]

  - Max Depth = 40
  - Call Chain = draw_quarter_2 ⇒ _lv_area_intersect
  [Calls]
  - >> lv_draw_rect
  - >> _lv_area_intersect
  - >> lv_trigo_sin
  [Called By]
  - >> lv_draw_sw_arc

  draw_quarter_3 (Thumb, 398 bytes, Stack size 24 bytes, lv_draw_sw_arc.o(i.draw_quarter_3))
  [Stack]

  - Max Depth = 40
  - Call Chain = draw_quarter_3 ⇒ _lv_area_intersect
  [Calls]
  - >> lv_draw_rect
  - >> _lv_area_intersect
  - >> lv_trigo_sin
  [Called By]
  - >> lv_draw_sw_arc

  get_rounded_area (Thumb, 116 bytes, Stack size 40 bytes, lv_draw_sw_arc.o(i.get_rounded_area))
  [Stack]

  - Max Depth = 56
  - Call Chain = get_rounded_area ⇒ lv_trigo_sin ⇒ __aeabi_idivmod
  [Calls]
  - >> lv_trigo_sin
  [Called By]
  - >> lv_draw_sw_arc

  color_blend_true_color_additive (Thumb, 132 bytes, Stack size 24 bytes, lv_draw_sw_blend.o(i.color_blend_true_color_additive))
  [Stack]

  - Max Depth = 48
  - Call Chain = color_blend_true_color_additive ⇒ lv_color_mix
  [Calls]
  - >> lv_color_mix
  [Address Reference Count : 2]
  - lv_draw_sw_blend.o(i.map_blended)
  - lv_draw_sw_blend.o(i.fill_blended)

  color_blend_true_color_multiply (Thumb, 106 bytes, Stack size 24 bytes, lv_draw_sw_blend.o(i.color_blend_true_color_multiply))
  [Stack]

  - Max Depth = 48
  - Call Chain = color_blend_true_color_multiply ⇒ lv_color_mix
  [Calls]
  - >> lv_color_mix
  [Address Reference Count : 2]
  - lv_draw_sw_blend.o(i.map_blended)
  - lv_draw_sw_blend.o(i.fill_blended)

  color_blend_true_color_subtractive (Thumb, 132 bytes, Stack size 24 bytes, lv_draw_sw_blend.o(i.color_blend_true_color_subtractive))
  [Stack]

  - Max Depth = 48
  - Call Chain = color_blend_true_color_subtractive ⇒ lv_color_mix
  [Calls]
  - >> lv_color_mix
  [Address Reference Count : 2]
  - lv_draw_sw_blend.o(i.map_blended)
  - lv_draw_sw_blend.o(i.fill_blended)

  fill_blended (Thumb, 320 bytes, Stack size 80 bytes, lv_draw_sw_blend.o(i.fill_blended))
  [Stack]

  - Max Depth = 80
  - Call Chain = fill_blended
  [Called By]
  - >> lv_draw_sw_blend_basic

  fill_normal (Thumb, 826 bytes, Stack size 88 bytes, lv_draw_sw_blend.o(i.fill_normal))
  [Stack]

  - Max Depth = 112
  - Call Chain = fill_normal ⇒ lv_color_mix
  [Calls]
  - >> lv_color_fill
  - >> lv_color_mix
  [Called By]
  - >> lv_draw_sw_blend_basic

  fill_set_px (Thumb, 196 bytes, Stack size 88 bytes, lv_draw_sw_blend.o(i.fill_set_px))
  [Stack]

  - Max Depth = 88
  - Call Chain = fill_set_px
  [Calls]
  - >> _lv_refr_get_disp_refreshing
  [Called By]
  - >> lv_draw_sw_blend_basic

  lv_color_mix (Thumb, 54 bytes, Stack size 24 bytes, lv_draw_sw_blend.o(i.lv_color_mix))
  [Stack]

  - Max Depth = 24
  - Call Chain = lv_color_mix
  [Called By]
  - >> map_normal
  - >> fill_normal
  - >> color_blend_true_color_subtractive
  - >> color_blend_true_color_multiply
  - >> color_blend_true_color_additive

  map_blended (Thumb, 376 bytes, Stack size 72 bytes, lv_draw_sw_blend.o(i.map_blended))
  [Stack]

  - Max Depth = 72
  - Call Chain = map_blended
  [Called By]
  - >> lv_draw_sw_blend_basic

  map_normal (Thumb, 790 bytes, Stack size 80 bytes, lv_draw_sw_blend.o(i.map_normal))
  [Stack]

  - Max Depth = 104
  - Call Chain = map_normal ⇒ lv_color_mix
  [Calls]
  - >> lv_memcpy
  - >> lv_color_mix
  [Called By]
  - >> lv_draw_sw_blend_basic

  map_set_px (Thumb, 222 bytes, Stack size 88 bytes, lv_draw_sw_blend.o(i.map_set_px))
  [Stack]

  - Max Depth = 88
  - Call Chain = map_set_px
  [Calls]
  - >> _lv_refr_get_disp_refreshing
  [Called By]
  - >> lv_draw_sw_blend_basic

  allocate_item (Thumb, 210 bytes, Stack size 40 bytes, lv_draw_sw_gradient.o(i.allocate_item))
  [Stack]

  - Max Depth = 152
  - Call Chain = allocate_item ⇒ lv_mem_alloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_mem_alloc
  - >> iterate_cache
  - >> compute_key
  [Called By]
  - >> lv_gradient_get

  compute_key (Thumb, 8 bytes, Stack size 0 bytes, lv_draw_sw_gradient.o(i.compute_key))
  [Called By]

  - >> lv_gradient_get
  - >> allocate_item

  find_item (Thumb, 16 bytes, Stack size 0 bytes, lv_draw_sw_gradient.o(i.find_item))
  [Address Reference Count : 1]

  - lv_draw_sw_gradient.o(i.lv_gradient_get)

  find_oldest_item_life (Thumb, 18 bytes, Stack size 0 bytes, lv_draw_sw_gradient.o(i.find_oldest_item_life))
  [Address Reference Count : 1]

  - lv_draw_sw_gradient.o(i.allocate_item)

  get_cache_item_size (Thumb, 16 bytes, Stack size 0 bytes, lv_draw_sw_gradient.o(i.get_cache_item_size))
  [Called By]

  - >> next_in_cache
  - >> kill_oldest_item

  iterate_cache (Thumb, 52 bytes, Stack size 24 bytes, lv_draw_sw_gradient.o(i.iterate_cache))
  [Stack]

  - Max Depth = 40
  - Call Chain = iterate_cache ⇒ next_in_cache
  [Calls]
  - >> next_in_cache
  [Called By]
  - >> lv_gradient_get
  - >> allocate_item

  kill_oldest_item (Thumb, 90 bytes, Stack size 24 bytes, lv_draw_sw_gradient.o(i.kill_oldest_item))
  [Stack]

  - Max Depth = 36
  - Call Chain = kill_oldest_item ⇒ lv_memcpy
  [Calls]
  - >> lv_memcpy
  - >> lv_memset_00
  - >> get_cache_item_size
  [Address Reference Count : 1]
  - lv_draw_sw_gradient.o(i.allocate_item)

  lv_color_to32 (Thumb, 68 bytes, Stack size 12 bytes, lv_draw_sw_gradient.o(i.lv_color_to32))
  [Stack]

  - Max Depth = 12
  - Call Chain = lv_color_to32
  [Called By]
  - >> lv_gradient_calculate

  next_in_cache (Thumb, 40 bytes, Stack size 16 bytes, lv_draw_sw_gradient.o(i.next_in_cache))
  [Stack]

  - Max Depth = 16
  - Call Chain = next_in_cache
  [Calls]
  - >> get_cache_item_size
  [Called By]
  - >> iterate_cache

  convert_cb (Thumb, 446 bytes, Stack size 72 bytes, lv_draw_sw_img.o(i.convert_cb))
  [Stack]

  - Max Depth = 84
  - Call Chain = convert_cb ⇒ lv_memcpy
  [Calls]
  - >> lv_memcpy
  - >> lv_area_get_size
  - >> lv_memset_ff
  [Called By]
  - >> lv_draw_sw_img_decoded

  lv_area_copy (Thumb, 18 bytes, Stack size 0 bytes, lv_draw_sw_img.o(i.lv_area_copy))
  [Called By]

  - >> lv_draw_sw_img_decoded

  draw_letter_normal (Thumb, 668 bytes, Stack size 160 bytes, lv_draw_sw_letter.o(i.draw_letter_normal))
  [Stack]

  - Max Depth = 336
  - Call Chain = draw_letter_normal ⇒ lv_mem_buf_get ⇒ lv_mem_realloc ⇒ lv_tlsf_realloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_disp_get_hor_res
  - >> lv_memset_00
  - >> lv_mem_buf_release
  - >> lv_mem_buf_get
  - >> _lv_refr_get_disp_refreshing
  - >> lv_draw_mask_is_any
  - >> lv_draw_mask_apply
  - >> lv_draw_sw_blend
  [Called By]
  - >> lv_draw_sw_letter

  draw_line_hor (Thumb, 368 bytes, Stack size 88 bytes, lv_draw_sw_line.o(i.draw_line_hor))
  [Stack]

  - Max Depth = 264
  - Call Chain = draw_line_hor ⇒ lv_mem_buf_get ⇒ lv_mem_realloc ⇒ lv_tlsf_realloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_memset_00
  - >> lv_mem_buf_release
  - >> lv_mem_buf_get
  - >> _lv_area_intersect
  - >> lv_draw_mask_is_any
  - >> lv_draw_mask_apply
  - >> lv_memset_ff
  - >> lv_draw_sw_blend
  - >> __aeabi_idivmod
  [Called By]
  - >> lv_draw_sw_line

  draw_line_skew (Thumb, 850 bytes, Stack size 312 bytes, lv_draw_sw_line.o(i.draw_line_skew))
  [Stack]

  - Max Depth = 488
  - Call Chain = draw_line_skew ⇒ lv_mem_buf_get ⇒ lv_mem_realloc ⇒ lv_tlsf_realloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_disp_get_hor_res
  - >> lv_memset_00
  - >> lv_mem_buf_release
  - >> lv_mem_buf_get
  - >> lv_draw_mask_free_param
  - >> lv_draw_mask_add
  - >> lv_area_get_size
  - >> _lv_area_intersect
  - >> _lv_refr_get_disp_refreshing
  - >> lv_draw_mask_remove_id
  - >> lv_draw_mask_line_points_init
  - >> lv_draw_mask_apply
  - >> lv_memset_ff
  - >> lv_draw_sw_blend
  - >> __aeabi_idivmod
  [Called By]
  - >> lv_draw_sw_line

  draw_line_ver (Thumb, 342 bytes, Stack size 104 bytes, lv_draw_sw_line.o(i.draw_line_ver))
  [Stack]

  - Max Depth = 280
  - Call Chain = draw_line_ver ⇒ lv_mem_buf_get ⇒ lv_mem_realloc ⇒ lv_tlsf_realloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_memset_00
  - >> lv_mem_buf_release
  - >> lv_mem_buf_get
  - >> _lv_area_intersect
  - >> lv_draw_mask_is_any
  - >> lv_draw_mask_apply
  - >> lv_memset_ff
  - >> lv_draw_sw_blend
  - >> __aeabi_idivmod
  [Called By]
  - >> lv_draw_sw_line

  draw_bg (Thumb, 940 bytes, Stack size 160 bytes, lv_draw_sw_rect.o(i.draw_bg))
  [Stack]

  - Max Depth = 464
  - Call Chain = draw_bg ⇒ lv_draw_mask_radius_init ⇒ circ_calc_aa4 ⇒ lv_mem_buf_get ⇒ lv_mem_realloc ⇒ lv_tlsf_realloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_mem_buf_release
  - >> lv_mem_buf_get
  - >> lv_draw_mask_radius_init
  - >> lv_draw_mask_free_param
  - >> lv_draw_mask_add
  - >> _lv_area_intersect
  - >> lv_draw_mask_remove_id
  - >> lv_draw_mask_is_any
  - >> lv_draw_mask_apply
  - >> lv_memset
  - >> lv_draw_sw_blend
  - >> lv_area_copy
  - >> lv_gradient_get
  - >> lv_gradient_cleanup
  - >> __aeabi_memclr4
  [Called By]
  - >> lv_draw_sw_rect
  - >> lv_draw_sw_bg

  draw_bg_img (Thumb, 468 bytes, Stack size 88 bytes, lv_draw_sw_rect.o(i.draw_bg_img))
  [Stack]

  - Max Depth = 800
  - Call Chain = draw_bg_img ⇒ lv_draw_img ⇒ decode_and_draw ⇒ show_error ⇒ lv_draw_label ⇒ lv_txt_get_size ⇒ _lv_txt_get_next_line ⇒ lv_txt_get_next_word ⇒ lv_font_get_glyph_width ⇒ lv_font_get_glyph_dsc
  [Calls]
  - >> lv_img_src_get_type
  - >> _lv_area_intersect
  - >> lv_img_decoder_get_info
  - >> lv_draw_img_dsc_init
  - >> lv_draw_img
  - >> lv_txt_get_size
  - >> lv_draw_label_dsc_init
  - >> lv_draw_label
  - >> lv_area_get_width
  - >> lv_area_get_height
  [Called By]
  - >> lv_draw_sw_rect
  - >> lv_draw_sw_bg

  draw_border (Thumb, 222 bytes, Stack size 56 bytes, lv_draw_sw_rect.o(i.draw_border))
  [Stack]

  - Max Depth = 560
  - Call Chain = draw_border ⇒ draw_border_generic ⇒ lv_draw_mask_radius_init ⇒ circ_calc_aa4 ⇒ lv_mem_buf_get ⇒ lv_mem_realloc ⇒ lv_tlsf_realloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> draw_border_generic
  - >> lv_area_copy
  [Called By]
  - >> lv_draw_sw_rect

  draw_border_simple (Thumb, 242 bytes, Stack size 96 bytes, lv_draw_sw_rect.o(i.draw_border_simple))
  [Stack]

  - Max Depth = 136
  - Call Chain = draw_border_simple ⇒ lv_draw_sw_blend ⇒ _lv_area_intersect
  [Calls]
  - >> lv_memset_00
  - >> lv_draw_sw_blend
  [Called By]
  - >> draw_border_generic

  draw_outline (Thumb, 194 bytes, Stack size 48 bytes, lv_draw_sw_rect.o(i.draw_outline))
  [Stack]

  - Max Depth = 552
  - Call Chain = draw_outline ⇒ draw_border_generic ⇒ lv_draw_mask_radius_init ⇒ circ_calc_aa4 ⇒ lv_mem_buf_get ⇒ lv_mem_realloc ⇒ lv_tlsf_realloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> draw_border_generic
  - >> lv_area_copy
  [Called By]
  - >> lv_draw_sw_rect

  draw_shadow (Thumb, 3008 bytes, Stack size 200 bytes, lv_draw_sw_rect.o(i.draw_shadow))
  [Stack]

  - Max Depth = 600
  - Call Chain = draw_shadow ⇒ shadow_draw_corner_buf ⇒ lv_draw_mask_radius_init ⇒ circ_calc_aa4 ⇒ lv_mem_buf_get ⇒ lv_mem_realloc ⇒ lv_tlsf_realloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_memcpy
  - >> lv_memset_00
  - >> lv_mem_buf_release
  - >> lv_mem_buf_get
  - >> lv_draw_mask_radius_init
  - >> lv_draw_mask_free_param
  - >> lv_draw_mask_add
  - >> _lv_area_is_in
  - >> lv_area_increase
  - >> _lv_area_intersect
  - >> _lv_area_is_out
  - >> lv_draw_mask_remove_id
  - >> lv_draw_mask_is_any
  - >> lv_draw_mask_apply
  - >> lv_memset_ff
  - >> lv_memset
  - >> lv_draw_sw_blend
  - >> shadow_draw_corner_buf
  - >> lv_area_get_width
  - >> lv_area_get_height
  - >> lv_area_copy
  [Called By]
  - >> lv_draw_sw_rect

  lv_area_copy (Thumb, 18 bytes, Stack size 0 bytes, lv_draw_sw_rect.o(i.lv_area_copy))
  [Called By]

  - >> shadow_draw_corner_buf
  - >> draw_shadow
  - >> draw_outline
  - >> draw_border
  - >> draw_bg

  lv_area_get_height (Thumb, 12 bytes, Stack size 0 bytes, lv_draw_sw_rect.o(i.lv_area_get_height))
  [Called By]

  - >> shadow_draw_corner_buf
  - >> draw_shadow
  - >> draw_bg_img

  lv_area_get_width (Thumb, 12 bytes, Stack size 0 bytes, lv_draw_sw_rect.o(i.lv_area_get_width))
  [Called By]

  - >> shadow_draw_corner_buf
  - >> draw_shadow
  - >> draw_bg_img

  shadow_blur_corner (Thumb, 324 bytes, Stack size 80 bytes, lv_draw_sw_rect.o(i.shadow_blur_corner))
  [Stack]

  - Max Depth = 256
  - Call Chain = shadow_blur_corner ⇒ lv_mem_buf_get ⇒ lv_mem_realloc ⇒ lv_tlsf_realloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_memcpy
  - >> lv_mem_buf_release
  - >> lv_mem_buf_get
  - >> __aeabi_idivmod
  - >> __aeabi_uidivmod
  [Called By]
  - >> shadow_draw_corner_buf

  shadow_draw_corner_buf (Thumb, 402 bytes, Stack size 96 bytes, lv_draw_sw_rect.o(i.shadow_draw_corner_buf))
  [Stack]

  - Max Depth = 400
  - Call Chain = shadow_draw_corner_buf ⇒ lv_draw_mask_radius_init ⇒ circ_calc_aa4 ⇒ lv_mem_buf_get ⇒ lv_mem_realloc ⇒ lv_tlsf_realloc ⇒ lv_tlsf_malloc ⇒ block_prepare_used ⇒ block_insert ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_memset_00
  - >> lv_mem_buf_release
  - >> lv_mem_buf_get
  - >> lv_draw_mask_radius_init
  - >> lv_draw_mask_free_param
  - >> lv_memset_ff
  - >> shadow_blur_corner
  - >> lv_area_get_width
  - >> lv_area_get_height
  - >> lv_area_copy
  - >> __aeabi_idivmod
  [Called By]
  - >> draw_shadow

  argb_and_rgb_aa (Thumb, 758 bytes, Stack size 136 bytes, lv_draw_sw_transform.o(i.argb_and_rgb_aa))
  [Stack]

  - Max Depth = 160
  - Call Chain = argb_and_rgb_aa ⇒ lv_color_mix
  [Calls]
  - >> _lv_refr_get_disp_refreshing
  - >> lv_color_mix
  [Called By]
  - >> lv_draw_sw_transform

  lv_color_mix (Thumb, 54 bytes, Stack size 24 bytes, lv_draw_sw_transform.o(i.lv_color_mix))
  [Stack]

  - Max Depth = 24
  - Call Chain = lv_color_mix
  [Called By]
  - >> argb_and_rgb_aa

  rgb565a8_no_aa (Thumb, 122 bytes, Stack size 44 bytes, lv_draw_sw_transform.o(i.rgb565a8_no_aa))
  [Stack]

  - Max Depth = 44
  - Call Chain = rgb565a8_no_aa
  [Called By]
  - >> lv_draw_sw_transform

  rgb_no_aa (Thumb, 140 bytes, Stack size 40 bytes, lv_draw_sw_transform.o(i.rgb_no_aa))
  [Stack]

  - Max Depth = 48
  - Call Chain = rgb_no_aa ⇒ lv_memset_ff
  [Calls]
  - >> _lv_refr_get_disp_refreshing
  - >> lv_memset_ff
  [Called By]
  - >> lv_draw_sw_transform

  transform_point_upscaled (Thumb, 138 bytes, Stack size 20 bytes, lv_draw_sw_transform.o(i.transform_point_upscaled))
  [Stack]

  - Max Depth = 20
  - Call Chain = transform_point_upscaled
  [Called By]
  - >> lv_draw_sw_transform

  get_glyph_dsc_id (Thumb, 250 bytes, Stack size 32 bytes, lv_font_fmt_txt.o(i.get_glyph_dsc_id))
  [Stack]

  - Max Depth = 72
  - Call Chain = get_glyph_dsc_id ⇒ _lv_utils_bsearch
  [Calls]
  - >> _lv_utils_bsearch
  [Called By]
  - >> lv_font_get_glyph_dsc_fmt_txt
  - >> lv_font_get_bitmap_fmt_txt

  get_kern_value (Thumb, 140 bytes, Stack size 24 bytes, lv_font_fmt_txt.o(i.get_kern_value))
  [Stack]

  - Max Depth = 64
  - Call Chain = get_kern_value ⇒ _lv_utils_bsearch
  [Calls]
  - >> _lv_utils_bsearch
  [Called By]
  - >> lv_font_get_glyph_dsc_fmt_txt

  kern_pair_16_compare (Thumb, 20 bytes, Stack size 0 bytes, lv_font_fmt_txt.o(i.kern_pair_16_compare))
  [Address Reference Count : 1]

  - lv_font_fmt_txt.o(i.get_kern_value)

  kern_pair_8_compare (Thumb, 20 bytes, Stack size 0 bytes, lv_font_fmt_txt.o(i.kern_pair_8_compare))
  [Address Reference Count : 1]

  - lv_font_fmt_txt.o(i.get_kern_value)

  unicode_list_compare (Thumb, 8 bytes, Stack size 0 bytes, lv_font_fmt_txt.o(i.unicode_list_compare))
  [Address Reference Count : 1]

  - lv_font_fmt_txt.o(i.get_glyph_dsc_id)

  anim_mark_list_change (Thumb, 32 bytes, Stack size 8 bytes, lv_anim.o(i.anim_mark_list_change))
  [Stack]

  - Max Depth = 8
  - Call Chain = anim_mark_list_change
  [Calls]
  - >> _lv_ll_get_head
  - >> lv_timer_resume
  - >> lv_timer_pause
  [Called By]
  - >> lv_anim_start
  - >> lv_anim_del
  - >> _lv_anim_core_init
  - >> anim_ready_handler

  anim_ready_handler (Thumb, 140 bytes, Stack size 16 bytes, lv_anim.o(i.anim_ready_handler))
  [Stack]

  - Max Depth = 112
  - Call Chain = anim_ready_handler ⇒ lv_mem_free ⇒ lv_tlsf_free ⇒ block_merge_next ⇒ block_remove ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_mem_free
  - >> _lv_ll_remove
  - >> anim_mark_list_change
  [Called By]
  - >> anim_timer

  anim_timer (Thumb, 202 bytes, Stack size 24 bytes, lv_anim.o(i.anim_timer))
  [Stack]

  - Max Depth = 136
  - Call Chain = anim_timer ⇒ anim_ready_handler ⇒ lv_mem_free ⇒ lv_tlsf_free ⇒ block_merge_next ⇒ block_remove ⇒ mapping_insert ⇒ tlsf_fls
  [Calls]
  - >> lv_tick_get
  - >> lv_tick_elaps
  - >> _lv_ll_get_next
  - >> _lv_ll_get_head
  - >> anim_ready_handler
  [Address Reference Count : 1]
  - lv_anim.o(i._lv_anim_core_init)

  ILI9341_WriteCommand (Thumb, 14 bytes, Stack size 8 bytes, core.o(i.ILI9341_WriteCommand))
  [Stack]

  - Max Depth = 8
  - Call Chain = ILI9341_WriteCommand
  [Calls]
  - >> Send_Data8
  [Called By]
  - >> ILI9341_setOrientation
  - >> ILI9341_setAddressWindow
  - >> ILI9341_init
  - >> ILI9341_exitStandby

  ILI9341_WriteData (Thumb, 32 bytes, Stack size 16 bytes, core.o(i.ILI9341_WriteData))
  [Stack]

  - Max Depth = 16
  - Call Chain = ILI9341_WriteData
  [Calls]
  - >> Send_Data8
  [Called By]
  - >> ILI9341_setOrientation
  - >> ILI9341_init

  ILI9341_WriteData16 (Thumb, 72 bytes, Stack size 16 bytes, core.o(i.ILI9341_WriteData16))
  [Stack]

  - Max Depth = 16
  - Call Chain = ILI9341_WriteData16
  [Calls]
  - >> LL_SPI_SetDataWidth
  [Called By]
  - >> ILI9341_setAddressWindow

  LL_DMA_DisableChannel (Thumb, 18 bytes, Stack size 0 bytes, core.o(i.LL_DMA_DisableChannel))
  [Called By]

  - >> Send_DMA_Data16
  - >> ILI9341_init

  LL_SPI_SetDataWidth (Thumb, 14 bytes, Stack size 0 bytes, core.o(i.LL_SPI_SetDataWidth))
  [Called By]

  - >> Send_DMA_Data16
  - >> ILI9341_WriteData16

  MX_DMA_Init (Thumb, 38 bytes, Stack size 8 bytes, core.o(i.MX_DMA_Init))
  [Stack]

  - Max Depth = 8
  - Call Chain = MX_DMA_Init
  [Called By]
  - >> ILI9341_init

  MX_SPI2_Init (Thumb, 202 bytes, Stack size 88 bytes, core.o(i.MX_SPI2_Init))
  [Stack]

  - Max Depth = 104
  - Call Chain = MX_SPI2_Init ⇒ LL_GPIO_Init
  [Calls]
  - >> LL_SPI_Init
  - >> LL_GPIO_Init
  - >> __aeabi_memclr4
  [Called By]
  - >> ILI9341_init

  Send_Data8 (Thumb, 24 bytes, Stack size 0 bytes, core.o(i.Send_Data8))
  [Called By]

  - >> ILI9341_WriteData
  - >> ILI9341_WriteCommand

  LL_AHB1_GRP1_EnableClock (Thumb, 18 bytes, Stack size 8 bytes, main.o(i.LL_AHB1_GRP1_EnableClock))
  [Stack]

  - Max Depth = 8
  - Call Chain = LL_AHB1_GRP1_EnableClock
  [Called By]
  - >> MX_SPI2_Init
  - >> MX_GPIO_Init
  - >> MX_DMA_Init

  ### Undefined Global Symbols

  _call_atexit_fns (ARM, 0 bytes, Stack size 0 bytes, UNDEFINED)
  [Called By]

  - >> exit