烧录进度条
Read time: 2 minute(s)
ArtInChip 平台支持 SDCard / Udisk 烧录时显示进度条和数字百分比。进度条和数字百分比通过 CPU 进行绘制。 进度条默认居中,显示蓝绿两种颜色。数字百分比通过 fb console 实现,fb console 默认支持 32x32 点阵字体,ASCII 32 - 127。

执行下列步骤,可在烧录时显示进度条和数字百分比:
-
在 Luban 根目录下执行 make uboot-menuconfig,进入 BootLoader 工程配置界面。
-
使能下列配置参数:
Device Drivers ---> Graphics support ---> [*] Artinchip Graphics support ---> [*] Support PROGRESS BAR
- 使能下列参数,编译显示接口:
Device Drivers Graphics support [*]ArtInChip Graphics ---> [*] ArtInChip display rgb support [*] ArtInChip display lvds support [*] ArtInChip display mipi-dsi support [*] ArtInChip display mipi-dbi support
配置显示子系统参数,详情参考 Display 配置 ,屏幕参数需要与项目工程保持一致 (背光除外)。注:-
可以编译所有显示接口,但只有 panel 驱动对应的显示接口能生效。
-
U-Boot 工程需要
GPIO
控制背光,不支持 PWM 调节亮度,其余屏幕参数需要与项目工程保持一致。
-
-
使能烧录进度条命令
Device Drivers ---> Graphics support ---> [*] Support a simple text console
烧录进度条支持下列场景:-
同时显示进度条和 fb console(console开启即可同时显示)
-
只显示进度条
-
- 如需,可添加自定义配置,否则可略过。
自定义配置支持修改进度条颜色、进度条宽高、进度条位置、fb console 字体颜色和 fb console 字体大小。
自定义配置
自定义配置支持修改进度条颜色、进度条宽高、进度条位置、fb console 字体颜色、fb console 字体大小和屏幕背景颜色。
自定义配置需要修改 SDK 源代码,源码路径为 source/uboot-2021.10/drivers/video/artinchip/display:
-
进度条颜色修改宏定义:
/* bar background */ #define BAR_BG_R 0x00 #define BAR_BG_G 0x0f #define BAR_BG_B 0xff /* bar fill */ #define BAR_FILL_R 0x00 #define BAR_FILL_G 0xff #define BAR_FILL_B 0x0f
-
进度条宽高
-
进度条高度宏定义,以 pixel 为单位:
#define BAR_HEIGHT 35
-
进度条宽度宏定义,进度条宽度自适应 LCD 分辨率,默认为 LCD 宽度的 5/6,配置不同的比例调整进度条宽度:
#define WIDTH_SPLIT_NUMERATOR 5 #define WIDTH_SPLIT_DENOMINATOR 6
-
-
fb console 字体颜色fb console 支持 16 种颜色,通过宏定义指定:
enum color_idx { VID_BLACK = 0, VID_RED, VID_GREEN, VID_BROWN, VID_BLUE, VID_MAGENTA, VID_CYAN, VID_LIGHT_GRAY, VID_GRAY, VID_LIGHT_RED, VID_LIGTH_GREEN, VID_YELLOW, VID_LIGHT_BLUE, VID_LIGHT_MAGENTA, VID_LIGHT_CYAN, VID_WHITE, VID_COLOR_COUNT };
字体颜色宏定义#define CONSOLE_COLOR_FG CONSOLE_LIGHT_GRAY #define CONSOLE_COLOR_BG CONSOLE_BLACK
-
fb console 显示位置
修改 fb console 逻辑,默认居中显示
void aicfb_draw_bar(unsigned int value) { ... console_x = info.width / 2; // 居中显示 console_y = bar_y + BAR_HEIGHT + 5; ... }