回覆列表
  • 1 # 我是阿嘛

    1.方案分析ARM-Linux啟動時會先在LCD左上角顯示一個ARMLINUX的小企鵝圖案,也就是我們所說的bootlogo。

    首先分析一下Logo的顯示程式碼:

    不難發現Logo顯示是在載入顯示驅動fb後由kernel/drivers/video/fbcon.c中的fbcon_show_logo函式來完成的。

    fbcon_show_logo函式中有很多相容性程式碼,不是都會用到的!我們用的是SHARP(夏普)的TFT真彩屏.

    再仔細看一下,這裡用到的顯示資料均來自kernel/include/linux/linux_logo.h。這裡同樣也有一些相容性的資料,其中對我們有用的是:

    linux_logo_red[] —— 調色盤中的紅色分量

    linux_logo_green[] —— 調色盤中的綠色分量

    linux_logo_blue[] —— 調色盤中的藍色分量

    linux_logo[] —— Logo圖案的點陣

    以上資料都是不需要你修改的 在fbcon_show_logo裡只做了256色的顯示,所以要先設定一個RGB調色盤。這裡的調色盤是從0x20色開始編的,所以實際好象只有最多224色的顯示。linux_logo.h裡預設是做了一個214級的灰度調色盤,如果想要更多色彩的話可以自已修改(注意調色盤的顏色不能超過224種)

    再看linux_logo[],這是Logo圖案的點陣。因為是256色的圖,所以每點為一個Byte。Logo圖案是80*80大小,所以這裡總共有6400 Byte。一共是800行,每行8 Byte即8 Point,每10行資料對應Logo圖案中一行。可以先自己試試放一些簡單圖形進去顯示看看。(同樣注意顏色要從0x20開始,0-0x1f的32種顏色是不確定的)。

  • 中秋節和大豐收的關聯?
  • 用藥酒泡腳有什麼好處?