Armadilloフォーラム

Armadillo-840ブートローダー処理中の液晶表示について

tic-hirano

2017年6月23日 16時42分

平野と申します.

Armadillo-840液晶モデル開発セットを利用しています.
ユーザアプリケーションが動作するまでの間にLCDに画像を表示したいと思いアットマークテクノ様のサイトで検索をしたところ,過去にメーリングリストで「[Armadillo:08660] Armadillo-440ブートローダー処理中の液晶表示について」という内容がありました.
http://lists.atmark-techno.com/pipermail/armadillo/2013-March/008663.ht…

hermitにLCD出力をするコードを追加しているようですが,440と840はプロセッサが異なるためどのコードを参考に変更すればよいかわかりません.
「linux-3.x/drivers/video/sh_mobile_lcdcfb.c」を参考に手を加えていけばよいのでしょうか?

以上,よろしくお願いします.

コメント

KES)小西です。

表示したいタイミング(範囲)が不明なため、ブートローダー(hermit)での表示ではなく、
ブートローダからカーネルを起動してからアプリケーションが起動して
画面を更新するまでの画面表示とのことで回答します。

単純に静止画を出すのであれば、
カーネルのメニューコンフィグで指定しているCONFIG_LOGO_LINUX_XXXXを有効にして、
カーネル内のLOGOビットマップを差し替えるのが早いです。
ソースはdrivers/video/logo/logo.cですね。

起動までの進捗状況の表示が必要であれば
psplashのパッケージを使用してカスタム化するのが早いと思います。

平野です.

KES)小西さん,返信ありがとうございます.

> 表示したいタイミング(範囲)が不明なため、ブートローダー(hermit)での表示ではなく、
> ブートローダからカーネルを起動してからアプリケーションが起動して
> 画面を更新するまでの画面表示とのことで回答します。

440ではhermitに手を加えてLCDへの表示ができているようだったので,可能であれば「ブートローダ」の段階で表示ができればと思いました.

> 単純に静止画を出すのであれば、
> カーネルのメニューコンフィグで指定しているCONFIG_LOGO_LINUX_XXXXを有効にして、
> カーネル内のLOGOビットマップを差し替えるのが早いです。
> ソースはdrivers/video/logo/logo.cですね。

下記の手順で試してみましたがLCDにもHDMI出力にもペンギン ロゴもしくは置き換えたロゴが出ませんでした.
・「Device Drivers」-「Graphics support」-「Bootup logo」-「Standard black and white Linux logo」を有効にする
・「atmark-dist/linux-3.x/drivers/video/logo/logo_linux_mono.pbm」を置き換える

「System Type」-「Armadillo-840 System Configuration」の「Primary framebuffer」がLCDC1になっているためかとLCDC0に変更してみましたがLCDとHDMIが入れ替わるのみでした.

何か見直すべき場所はありますでしょうか?

#
# Graphics support
#
# CONFIG_DRM is not set
# CONFIG_VGASTATE is not set
# CONFIG_VIDEO_OUTPUT_CONTROL is not set
CONFIG_FB=y
# CONFIG_FIRMWARE_EDID is not set
# CONFIG_FB_DDC is not set
# CONFIG_FB_BOOT_VESA_SUPPORT is not set
# CONFIG_FB_CFB_FILLRECT is not set
# CONFIG_FB_CFB_COPYAREA is not set
# CONFIG_FB_CFB_IMAGEBLIT is not set
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
CONFIG_FB_SYS_FILLRECT=y
CONFIG_FB_SYS_COPYAREA=y
CONFIG_FB_SYS_IMAGEBLIT=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
CONFIG_FB_SYS_FOPS=y
# CONFIG_FB_WMT_GE_ROPS is not set
CONFIG_FB_DEFERRED_IO=y
# CONFIG_FB_SVGALIB is not set
# CONFIG_FB_MACMODES is not set
CONFIG_FB_BACKLIGHT=y
CONFIG_FB_MODE_HELPERS=y
# CONFIG_FB_TILEBLITTING is not set
 
#
# Frame buffer hardware drivers
#
# CONFIG_FB_S1D13XXX is not set
CONFIG_FB_SH_MOBILE_LCDC=y
CONFIG_FB_SH_MOBILE_HDMI=y
# CONFIG_FB_SH_MOBILE_SDENC is not set
# CONFIG_FB_SMSCUFX is not set
# CONFIG_FB_UDL is not set
# CONFIG_FB_VIRTUAL is not set
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_BROADSHEET is not set
# CONFIG_EXYNOS_VIDEO is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
# CONFIG_LCD_CLASS_DEVICE is not set
CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_GENERIC is not set
CONFIG_BACKLIGHT_PWM=y
# CONFIG_BACKLIGHT_ADP8860 is not set
# CONFIG_BACKLIGHT_ADP8870 is not set
# CONFIG_BACKLIGHT_LP855X is not set
 
#
# Console display driver support
#
CONFIG_DUMMY_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE is not set
CONFIG_LOGO=y
CONFIG_LOGO_LINUX_MONO=y
# CONFIG_LOGO_LINUX_VGA16 is not set
# CONFIG_LOGO_LINUX_CLUT224 is not set
CONFIG_FB_SH_MOBILE_MERAM=y

・開発環境
ATDE5:20161130
atmark-dist:20160927
カーネル:linux-3.4-at20