|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
假如用户想使用的 LOGO 图片小于屏幕分辨率,则可以先按照前面的方法将 LOGO 图片编译到内核,然后烧写到开发板中,可以看到 LOGO 图片小于在左上角出现,这种情况需要调整 LOGO 的位置。" p( g F0 E# }9 `. e: O
接下来简单介绍一下如何修改 LOGO 的位置。
o/ y3 b+ g z0 |首先我们使用的图片是内核默认自带的 ppm 文件,“logo_linux_clut224.ppm”,也就是小企鹅图片,它的分辨率非常小,我们介绍如何修改源码将其移动到屏幕正中间。
9 F7 d: K) P" A) p4 l" h s& p: _0 T在内核源码“drivers/video/fbdev/core/fbmem.c”中的 fb_show_logo_line 函数的4 u# G( o& W. K' b- ~* V1 l+ Y
“image.height = logo->height;”行之后增加代码。% E6 [0 K( }' D$ V* k) e- E
image.dx=(info->var.xres/2)-(image.width/2);' I' c) f8 _3 p/ G7 R3 F
image.dy=(info->var.yres/2)-(image.height/2);& R# n( n3 r- A* X; `+ H( j! ?
![]()
& r2 ]1 N. N8 j/ x+ e修改之后如图 2所示。5 B. v0 m2 A" a7 J; @6 ]
' J# b4 {9 U8 Z: w
接着修改:fb_do_show_logo(info, &image, rotate, n);将 n 改成 1,修改之后,如图 73.4.3所示。8 f6 w' i2 c4 t; L4 F9 F
![]()
5 x$ D, N/ C$ p! E/ |& ?% M修改源码“drivers/video/console/fbcon.c”中的 fbcon_prepare_logo()函数
" g, D- m8 J" g5 M在代码logo_height = fb_prepare_logo(info, ops->rotate); logo_lines = DIV_ROUND_UP(logo_height, vc->vc_font.height);, _$ C6 E i& R- m+ @
之间增加:; i! q+ G! u5 H) P! {8 L
logo_height += (info->var.yres/2) - (logo_height/2);
* W% {+ Q- N G! a j( O( z如图 4所示。
/ z# I/ U6 j/ A: H$ h! T 9 q$ | }& Z- R" y
至此代码修改完成,重新编译烧写之后,再内核启动过程中,可以看到 linux 内核的小企鹅 LOGO 在屏幕的正中间。' b1 J: Y5 P% l. F- H
. I2 R) _) R9 S8 B; {. Y: n
迅为imx6ull开发板
0 |8 ], g' q, X, z5 L , [8 ^4 C6 O4 `/ e/ H) {
|
|