From 488f6fbf216b40ad0e0424ae4ea1cab075e7d620 Mon Sep 17 00:00:00 2001 From: super_agent_bot Date: Fri, 6 Nov 2026 00:03:33 +0800 Subject: [PATCH] =?UTF-8?q?build(mdk):=20Keil=20=E5=8F=AF=E9=80=86?= =?UTF-8?q?=E6=8E=92=E9=99=A4=20126=20=E4=B8=AA=E9=9B=B6=E4=BA=A7=E5=87=BA?= =?UTF-8?q?=20LVGL=20=E7=BC=96=E8=AF=91=E5=8D=95=E5=85=83=EF=BC=8C?= =?UTF-8?q?=E5=85=A8=E9=87=8F=E9=87=8D=E5=BB=BA=2021.5=E2=86=9218.3=20s?= =?UTF-8?q?=EF=BC=88-14.6%=EF=BC=8C#46=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 按 #46 判据「有实测收益才保留改动」执行,证据(同机同基线 c487ce42,UV4 -r 墙钟): - 基线 4 次全量重建均值 21.46 s → 排除态 4 次均值 18.33 s,-3.13 s(-14.6%); 增量最坏对照(touch lvgl.h 后 -b)9.66 s/83 单元 → 8.06 s/45 单元(-16.6%)。 - 影像等价:Program Size 四项全同(Code=254820 RO=30896 RW=2072 ZI=150104); .hex 286,084 字节两两比对仅差 0x08007C6B–6F 的 fw 时间戳横幅(基线之间同差); .map 符号表逐行比对,基线独有 126 行恰为被排除单元的 ABSOLUTE 文件记录。 - 零产出认定:3 次基线 .map 的 Image component sizes 中 Code/RO/RW/ZI 全 0, 名单一致(121 空 TU + 6 仅调试记录)。Cross Reference Table 不动点收敛得可安全 排除集:lv_circle_buf.c 因被保留的 lv_iter.o 静态引用而保留(armlink 先解析 后死删,127 全排实测 L6218E×9);净排除 126 个。 - 形态:仅加每文件 0,不删条目, GUI 可逐项恢复,revert 单笔整体回滚;FilePath 集合不变(registration-check 过)。 - 本机构建对工程文件零抖动;最终一次全量构建(18.20 s,0E0W)跑在提交字节上。 - sim/CMake 不涉及;LVGL 源码零改动。台架回归不需要:镜像与已验收基线逐字节 等价(除时间戳)。 Issue: http://100.123.83.113:3001/wandering1/STM32F4-Base/issues/46 --- MDK-ARM/STM32F407-Demo.uvprojx | 630 +++++++++++++++++++++++++++++++++ 1 file changed, 630 insertions(+) diff --git a/MDK-ARM/STM32F407-Demo.uvprojx b/MDK-ARM/STM32F407-Demo.uvprojx index 92aae0ef..01491c68 100644 --- a/MDK-ARM/STM32F407-Demo.uvprojx +++ b/MDK-ARM/STM32F407-Demo.uvprojx @@ -2520,6 +2520,11 @@ lv_obj_id_builtin.c 1 ..\Lib\lvgl\src\core\lv_obj_id_builtin.c + + + 0 + + lv_obj_pos.c @@ -2530,6 +2535,11 @@ lv_obj_property.c 1 ..\Lib\lvgl\src\core\lv_obj_property.c + + + 0 + + lv_obj_scroll.c @@ -2570,11 +2580,21 @@ lv_draw_3d.c 1 ..\Lib\lvgl\src\draw\lv_draw_3d.c + + + 0 + + lv_draw_arc.c 1 ..\Lib\lvgl\src\draw\lv_draw_arc.c + + + 0 + + lv_draw_buf.c @@ -2610,11 +2630,21 @@ lv_draw_triangle.c 1 ..\Lib\lvgl\src\draw\lv_draw_triangle.c + + + 0 + + lv_draw_vector.c 1 ..\Lib\lvgl\src\draw\lv_draw_vector.c + + + 0 + + lv_image_decoder.c @@ -2630,16 +2660,31 @@ lv_draw_sw_blend_to_al88.c 1 ..\Lib\lvgl\src\draw\sw\blend\lv_draw_sw_blend_to_al88.c + + + 0 + + lv_draw_sw_blend_to_argb8888.c 1 ..\Lib\lvgl\src\draw\sw\blend\lv_draw_sw_blend_to_argb8888.c + + + 0 + + lv_draw_sw_blend_to_argb8888_premultiplied.c 1 ..\Lib\lvgl\src\draw\sw\blend\lv_draw_sw_blend_to_argb8888_premultiplied.c + + + 0 + + lv_draw_sw_blend_to_i1.c @@ -2650,21 +2695,41 @@ lv_draw_sw_blend_to_l8.c 1 ..\Lib\lvgl\src\draw\sw\blend\lv_draw_sw_blend_to_l8.c + + + 0 + + lv_draw_sw_blend_to_rgb565.c 1 ..\Lib\lvgl\src\draw\sw\blend\lv_draw_sw_blend_to_rgb565.c + + + 0 + + lv_draw_sw_blend_to_rgb565_swapped.c 1 ..\Lib\lvgl\src\draw\sw\blend\lv_draw_sw_blend_to_rgb565_swapped.c + + + 0 + + lv_draw_sw_blend_to_rgb888.c 1 ..\Lib\lvgl\src\draw\sw\blend\lv_draw_sw_blend_to_rgb888.c + + + 0 + + lv_draw_sw.c @@ -2735,16 +2800,31 @@ lv_draw_sw_utils.c 1 ..\Lib\lvgl\src\draw\sw\lv_draw_sw_utils.c + + + 0 + + lv_draw_sw_vector.c 1 ..\Lib\lvgl\src\draw\sw\lv_draw_sw_vector.c + + + 0 + + lv_binfont_loader.c 1 ..\Lib\lvgl\src\font\lv_binfont_loader.c + + + 0 + + lv_font.c @@ -2755,6 +2835,11 @@ lv_font_dejavu_16_persian_hebrew.c 1 ..\Lib\lvgl\src\font\lv_font_dejavu_16_persian_hebrew.c + + + 0 + + lv_font_fmt_txt.c @@ -2765,146 +2850,291 @@ lv_font_montserrat_10.c 1 ..\Lib\lvgl\src\font\lv_font_montserrat_10.c + + + 0 + + lv_font_montserrat_12.c 1 ..\Lib\lvgl\src\font\lv_font_montserrat_12.c + + + 0 + + lv_font_montserrat_14.c 1 ..\Lib\lvgl\src\font\lv_font_montserrat_14.c + + + 0 + + lv_font_montserrat_14_aligned.c 1 ..\Lib\lvgl\src\font\lv_font_montserrat_14_aligned.c + + + 0 + + lv_font_montserrat_16.c 1 ..\Lib\lvgl\src\font\lv_font_montserrat_16.c + + + 0 + + lv_font_montserrat_18.c 1 ..\Lib\lvgl\src\font\lv_font_montserrat_18.c + + + 0 + + lv_font_montserrat_20.c 1 ..\Lib\lvgl\src\font\lv_font_montserrat_20.c + + + 0 + + lv_font_montserrat_22.c 1 ..\Lib\lvgl\src\font\lv_font_montserrat_22.c + + + 0 + + lv_font_montserrat_24.c 1 ..\Lib\lvgl\src\font\lv_font_montserrat_24.c + + + 0 + + lv_font_montserrat_26.c 1 ..\Lib\lvgl\src\font\lv_font_montserrat_26.c + + + 0 + + lv_font_montserrat_28.c 1 ..\Lib\lvgl\src\font\lv_font_montserrat_28.c + + + 0 + + lv_font_montserrat_28_compressed.c 1 ..\Lib\lvgl\src\font\lv_font_montserrat_28_compressed.c + + + 0 + + lv_font_montserrat_30.c 1 ..\Lib\lvgl\src\font\lv_font_montserrat_30.c + + + 0 + + lv_font_montserrat_32.c 1 ..\Lib\lvgl\src\font\lv_font_montserrat_32.c + + + 0 + + lv_font_montserrat_34.c 1 ..\Lib\lvgl\src\font\lv_font_montserrat_34.c + + + 0 + + lv_font_montserrat_36.c 1 ..\Lib\lvgl\src\font\lv_font_montserrat_36.c + + + 0 + + lv_font_montserrat_38.c 1 ..\Lib\lvgl\src\font\lv_font_montserrat_38.c + + + 0 + + lv_font_montserrat_40.c 1 ..\Lib\lvgl\src\font\lv_font_montserrat_40.c + + + 0 + + lv_font_montserrat_42.c 1 ..\Lib\lvgl\src\font\lv_font_montserrat_42.c + + + 0 + + lv_font_montserrat_44.c 1 ..\Lib\lvgl\src\font\lv_font_montserrat_44.c + + + 0 + + lv_font_montserrat_46.c 1 ..\Lib\lvgl\src\font\lv_font_montserrat_46.c + + + 0 + + lv_font_montserrat_48.c 1 ..\Lib\lvgl\src\font\lv_font_montserrat_48.c + + + 0 + + lv_font_montserrat_8.c 1 ..\Lib\lvgl\src\font\lv_font_montserrat_8.c + + + 0 + + lv_font_simsun_14_cjk.c 1 ..\Lib\lvgl\src\font\lv_font_simsun_14_cjk.c + + + 0 + + lv_font_simsun_16_cjk.c 1 ..\Lib\lvgl\src\font\lv_font_simsun_16_cjk.c + + + 0 + + lv_font_source_han_sans_sc_14_cjk.c 1 ..\Lib\lvgl\src\font\lv_font_source_han_sans_sc_14_cjk.c + + + 0 + + lv_font_source_han_sans_sc_16_cjk.c 1 ..\Lib\lvgl\src\font\lv_font_source_han_sans_sc_16_cjk.c + + + 0 + + lv_font_unscii_16.c 1 ..\Lib\lvgl\src\font\lv_font_unscii_16.c + + + 0 + + lv_font_unscii_8.c 1 ..\Lib\lvgl\src\font\lv_font_unscii_8.c + + + 0 + + lv_indev.c @@ -2915,6 +3145,11 @@ lv_indev_gesture.c 1 ..\Lib\lvgl\src\indev\lv_indev_gesture.c + + + 0 + + lv_indev_scroll.c @@ -2925,11 +3160,21 @@ lv_flex.c 1 ..\Lib\lvgl\src\layouts\flex\lv_flex.c + + + 0 + + lv_grid.c 1 ..\Lib\lvgl\src\layouts\grid\lv_grid.c + + + 0 + + lv_layout.c @@ -2950,6 +3195,11 @@ lv_cache_lru_ll.c 1 ..\Lib\lvgl\src\misc\cache\class\lv_cache_lru_ll.c + + + 0 + + lv_cache_lru_rb.c @@ -2985,6 +3235,11 @@ lv_anim_timeline.c 1 ..\Lib\lvgl\src\misc\lv_anim_timeline.c + + + 0 + + lv_area.c @@ -3005,6 +3260,11 @@ lv_bidi.c 1 ..\Lib\lvgl\src\misc\lv_bidi.c + + + 0 + + lv_circle_buf.c @@ -3035,6 +3295,11 @@ lv_grad.c 1 ..\Lib\lvgl\src\misc\lv_grad.c + + + 0 + + lv_iter.c @@ -3050,11 +3315,21 @@ lv_log.c 1 ..\Lib\lvgl\src\misc\lv_log.c + + + 0 + + lv_lru.c 1 ..\Lib\lvgl\src\misc\lv_lru.c + + + 0 + + lv_math.c @@ -3065,6 +3340,11 @@ lv_matrix.c 1 ..\Lib\lvgl\src\misc\lv_matrix.c + + + 0 + + lv_palette.c @@ -3075,6 +3355,11 @@ lv_profiler_builtin.c 1 ..\Lib\lvgl\src\misc\lv_profiler_builtin.c + + + 0 + + lv_rb.c @@ -3095,6 +3380,11 @@ lv_templ.c 1 ..\Lib\lvgl\src\misc\lv_templ.c + + + 0 + + lv_text.c @@ -3105,6 +3395,11 @@ lv_text_ap.c 1 ..\Lib\lvgl\src\misc\lv_text_ap.c + + + 0 + + lv_timer.c @@ -3115,6 +3410,11 @@ lv_tree.c 1 ..\Lib\lvgl\src\misc\lv_tree.c + + + 0 + + lv_utils.c @@ -3125,21 +3425,41 @@ lv_cmsis_rtos2.c 1 ..\Lib\lvgl\src\osal\lv_cmsis_rtos2.c + + + 0 + + lv_freertos.c 1 ..\Lib\lvgl\src\osal\lv_freertos.c + + + 0 + + lv_linux.c 1 ..\Lib\lvgl\src\osal\lv_linux.c + + + 0 + + lv_mqx.c 1 ..\Lib\lvgl\src\osal\lv_mqx.c + + + 0 + + lv_os.c @@ -3150,26 +3470,51 @@ lv_os_none.c 1 ..\Lib\lvgl\src\osal\lv_os_none.c + + + 0 + + lv_pthread.c 1 ..\Lib\lvgl\src\osal\lv_pthread.c + + + 0 + + lv_rtthread.c 1 ..\Lib\lvgl\src\osal\lv_rtthread.c + + + 0 + + lv_sdl2.c 1 ..\Lib\lvgl\src\osal\lv_sdl2.c + + + 0 + + lv_windows.c 1 ..\Lib\lvgl\src\osal\lv_windows.c + + + 0 + + lv_mem_core_builtin.c @@ -3195,16 +3540,31 @@ lv_mem_core_clib.c 1 ..\Lib\lvgl\src\stdlib\clib\lv_mem_core_clib.c + + + 0 + + lv_sprintf_clib.c 1 ..\Lib\lvgl\src\stdlib\clib\lv_sprintf_clib.c + + + 0 + + lv_string_clib.c 1 ..\Lib\lvgl\src\stdlib\clib\lv_string_clib.c + + + 0 + + lv_mem.c @@ -3215,31 +3575,61 @@ lv_mem_core_micropython.c 1 ..\Lib\lvgl\src\stdlib\micropython\lv_mem_core_micropython.c + + + 0 + + lv_mem_core_rtthread.c 1 ..\Lib\lvgl\src\stdlib\rtthread\lv_mem_core_rtthread.c + + + 0 + + lv_sprintf_rtthread.c 1 ..\Lib\lvgl\src\stdlib\rtthread\lv_sprintf_rtthread.c + + + 0 + + lv_string_rtthread.c 1 ..\Lib\lvgl\src\stdlib\rtthread\lv_string_rtthread.c + + + 0 + + lv_mem_core_uefi.c 1 ..\Lib\lvgl\src\stdlib\uefi\lv_mem_core_uefi.c + + + 0 + + lv_theme_default.c 1 ..\Lib\lvgl\src\themes\default\lv_theme_default.c + + + 0 + + lv_theme.c @@ -3255,6 +3645,11 @@ lv_theme_simple.c 1 ..\Lib\lvgl\src\themes\simple\lv_theme_simple.c + + + 0 + + lv_tick.c @@ -3265,236 +3660,471 @@ lv_3dtexture.c 1 ..\Lib\lvgl\src\widgets\3dtexture\lv_3dtexture.c + + + 0 + + lv_animimage.c 1 ..\Lib\lvgl\src\widgets\animimage\lv_animimage.c + + + 0 + + lv_arc.c 1 ..\Lib\lvgl\src\widgets\arc\lv_arc.c + + + 0 + + lv_bar.c 1 ..\Lib\lvgl\src\widgets\bar\lv_bar.c + + + 0 + + lv_button.c 1 ..\Lib\lvgl\src\widgets\button\lv_button.c + + + 0 + + lv_buttonmatrix.c 1 ..\Lib\lvgl\src\widgets\buttonmatrix\lv_buttonmatrix.c + + + 0 + + lv_calendar.c 1 ..\Lib\lvgl\src\widgets\calendar\lv_calendar.c + + + 0 + + lv_calendar_chinese.c 1 ..\Lib\lvgl\src\widgets\calendar\lv_calendar_chinese.c + + + 0 + + lv_calendar_header_arrow.c 1 ..\Lib\lvgl\src\widgets\calendar\lv_calendar_header_arrow.c + + + 0 + + lv_calendar_header_dropdown.c 1 ..\Lib\lvgl\src\widgets\calendar\lv_calendar_header_dropdown.c + + + 0 + + lv_canvas.c 1 ..\Lib\lvgl\src\widgets\canvas\lv_canvas.c + + + 0 + + lv_chart.c 1 ..\Lib\lvgl\src\widgets\chart\lv_chart.c + + + 0 + + lv_checkbox.c 1 ..\Lib\lvgl\src\widgets\checkbox\lv_checkbox.c + + + 0 + + lv_dropdown.c 1 ..\Lib\lvgl\src\widgets\dropdown\lv_dropdown.c + + + 0 + + lv_image.c 1 ..\Lib\lvgl\src\widgets\image\lv_image.c + + + 0 + + lv_imagebutton.c 1 ..\Lib\lvgl\src\widgets\imagebutton\lv_imagebutton.c + + + 0 + + lv_keyboard.c 1 ..\Lib\lvgl\src\widgets\keyboard\lv_keyboard.c + + + 0 + + lv_label.c 1 ..\Lib\lvgl\src\widgets\label\lv_label.c + + + 0 + + lv_led.c 1 ..\Lib\lvgl\src\widgets\led\lv_led.c + + + 0 + + lv_line.c 1 ..\Lib\lvgl\src\widgets\line\lv_line.c + + + 0 + + lv_list.c 1 ..\Lib\lvgl\src\widgets\list\lv_list.c + + + 0 + + lv_lottie.c 1 ..\Lib\lvgl\src\widgets\lottie\lv_lottie.c + + + 0 + + lv_menu.c 1 ..\Lib\lvgl\src\widgets\menu\lv_menu.c + + + 0 + + lv_msgbox.c 1 ..\Lib\lvgl\src\widgets\msgbox\lv_msgbox.c + + + 0 + + lv_objx_templ.c 1 ..\Lib\lvgl\src\widgets\objx_templ\lv_objx_templ.c + + + 0 + + lv_animimage_properties.c 1 ..\Lib\lvgl\src\widgets\property\lv_animimage_properties.c + + + 0 + + lv_dropdown_properties.c 1 ..\Lib\lvgl\src\widgets\property\lv_dropdown_properties.c + + + 0 + + lv_image_properties.c 1 ..\Lib\lvgl\src\widgets\property\lv_image_properties.c + + + 0 + + lv_keyboard_properties.c 1 ..\Lib\lvgl\src\widgets\property\lv_keyboard_properties.c + + + 0 + + lv_label_properties.c 1 ..\Lib\lvgl\src\widgets\property\lv_label_properties.c + + + 0 + + lv_obj_properties.c 1 ..\Lib\lvgl\src\widgets\property\lv_obj_properties.c + + + 0 + + lv_roller_properties.c 1 ..\Lib\lvgl\src\widgets\property\lv_roller_properties.c + + + 0 + + lv_slider_properties.c 1 ..\Lib\lvgl\src\widgets\property\lv_slider_properties.c + + + 0 + + lv_style_properties.c 1 ..\Lib\lvgl\src\widgets\property\lv_style_properties.c + + + 0 + + lv_textarea_properties.c 1 ..\Lib\lvgl\src\widgets\property\lv_textarea_properties.c + + + 0 + + lv_roller.c 1 ..\Lib\lvgl\src\widgets\roller\lv_roller.c + + + 0 + + lv_scale.c 1 ..\Lib\lvgl\src\widgets\scale\lv_scale.c + + + 0 + + lv_slider.c 1 ..\Lib\lvgl\src\widgets\slider\lv_slider.c + + + 0 + + lv_span.c 1 ..\Lib\lvgl\src\widgets\span\lv_span.c + + + 0 + + lv_spinbox.c 1 ..\Lib\lvgl\src\widgets\spinbox\lv_spinbox.c + + + 0 + + lv_spinner.c 1 ..\Lib\lvgl\src\widgets\spinner\lv_spinner.c + + + 0 + + lv_switch.c 1 ..\Lib\lvgl\src\widgets\switch\lv_switch.c + + + 0 + + lv_table.c 1 ..\Lib\lvgl\src\widgets\table\lv_table.c + + + 0 + + lv_tabview.c 1 ..\Lib\lvgl\src\widgets\tabview\lv_tabview.c + + + 0 + + lv_textarea.c 1 ..\Lib\lvgl\src\widgets\textarea\lv_textarea.c + + + 0 + + lv_tileview.c 1 ..\Lib\lvgl\src\widgets\tileview\lv_tileview.c + + + 0 + + lv_win.c 1 ..\Lib\lvgl\src\widgets\win\lv_win.c + + + 0 + +