| 网站首页 | 新闻 | SOPC | FPGA | DSP | ARM | 嵌入式操作系统 | 下载 | 网上商城 | 芯片价格参考 | 留言 | 论坛 | 网络协议 | 驱动设计 | 购买指南-HowtoBuy | 
您现在的位置: FPGA开发板&SOPC开发板-嵌入式控制研究室 >> 嵌入式操作系统 >> Linux >> 文章正文 用户登录 新用户注册
Linux启动图标DIY(定制logo的方法)         ★★★ 【字体:
Linux启动图标DIY(定制logo的方法)
作者:佚名    文章来源:互联网    点击数:    更新时间:2006-5-6
ARM-Linux启动时会先在LCD左上角显示一个MIZI Linux的蜻蜓图案。这个也就是俗称的Logo。
    如果你很有个性,那么你一定会想把这个Logo换成自己喜欢的图案。Let's go!

    首先分析一下Logo的显示代码:
    不难发现Logo显示是在加载显示驱动fb后由kernel/drivers/video/fbcon.c中的fbcon_show_logo函数来完成的。
    fbcon_show_logo函数中有很多兼容性代码,不是都会用到的!我们用的是TFT真彩屏,估计应该是CONFIG_FBCON_CFB24之类的。
    再仔细看一下,这里用到的显示数据均来自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级的灰度调色板,想要彩色的话就自己修改吧!(注意从0x20开始,0-0x1f的32 种颜色不能用)
    再看linux_logo[],这是Logo图案的点阵。因为是256色的图,所以每点为一个Byte。Logo图案是 80*80大小,所以这里总共有6400 Byte。一共是800行,每行8 Byte即8 Point,每10行数据对应Logo图案中一行。可以先自己试试放一些简单图形进去显示看看。(同样注意颜色要从0x20开始,0-0x1f的32种颜色是不确定的)
    当然你不会只想显示一些简单图形,而是希望能把收藏的漂亮图片放上去。这个就有点难度了,因为没有现成的工具好用。建议先找个比较好用的图象编辑软件吧(我用的PhotoShop)。这里提供两个方法加工图片:
  1) 先搞一个256色调色板,前面32个颜色空着,把后面224种颜色设一下吧。注意要尽量把颜色选全一些,要能覆盖到整个颜色区域上。这样就有一个通用的调色板,可适用所有图片,但颜色的真实性稍差。然后把自己的图片打开,先将颜色设置到RGB空间里,然后裁剪/缩放到80*80象素的尺寸,再将颜色优化到先前定义好的调色板里,图片就加工好了。
  2)不用通用调色板,打开自己的图片,先将颜色设置到RGB空间,裁剪/缩放到80*80象素的尺寸,然后指定优化为224色图象。这样图片就加工好了,但其调色板就是专用的,不适合用到其他图片里。
     不管用那一种方法加工图片,最终还需要把数据放到我们的linux_logo.h里。这也是一个比较麻烦的事。调色板可以直接保存为文件,然后自己做个小程序读出来就可以了。图片的点阵比较难取,当然也可以自己做个程序去取屏幕上的点,不过比较困难。建议可以将图片保存为TIF之类的非压缩格式,然后可以从图象文件中的固定位置取点阵数据。
    再接下来就是编译kernel了。编译好用“load flash kernel x”下载到Flash里。重新启动,是不是看到你自己的图片了?祝你早日成功!
文章录入:fengfeiyi    责任编辑:fengfeiyi 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    嵌入式Linux下基于MiniGUI的…
    嵌入式操作系统定制的通用性…
    Linux 2.6 内核的嵌入式系统…
    Linux内核解读入门
    嵌入式系统开发,为什么选择…
    一个Linux学习高手写给初学者…
    嵌入式系统开发,为什么选择…
    一个Linux学习高手写给初学者…
    用U-BOOT构建嵌入式系统的引…
    打造完美Linux系统:疑难杂症…
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)