最近需要更改im6 uboot的开机logo,使用10.1inch, 1024x600,18bit的LCD,期间遇到了很多的问题,记录于此。

参考链接

  https://community.nxp.com/message/650120?commentID=650120#comment-650120

  https://community.nxp.com/thread/375767

  https://sites.google.com/site/myembededlife/Home/u-boot/splashscreen

1. 生成24bit的bmp图片

  使用linux的gimp可以完成。gimp的使用可以参考我另一篇文章:GIMP 使用

  更改图片大小为1024x600,并另存为24bit的bmp图片。

  经过尝试,一定要是24bit的bmp文件。

2. 将图片转为.h文件

使用freescale的bin2txt工具进行转换。

  • 下载地址

  https://community.nxp.com/docs/DOC-93833

  • 生成方法

  python ./bin2txt tmp.bmp   //tmp.bmp是图片的名称

3. 将生成的.h文件添加到uboot中

  将生成的.h文件中数组中的内容替换board/freescale/common/fsl_bmp_reversed_600x400.c替换掉fsl_bmp_reversed_600x400数组中的内容。

4. 更改uboot参数

  board/freescale/mx6q_sabresd/mx6q_sabresd.c

//更改10.1寸屏幕参数。
static struct fb_videomode lvds_xgc = {
"XGA", 60, 1024, 600, 19531, 150, 150, 15, 15, 20, 5,
FB_SYNC_EXT,
FB_VMODE_NONINTERLACED,
0,
} void lcd_enable(void)
{
//18Bit
ret = ipuv3_fb_init(&lvds_xga, di, IPU_PIX_FMT_RGB666, DI_PCLK_LDB, 65000000);
//24Bit
//ret = ipuv3_fb_init(&lvds_xga, di, IPU_PIX_FMT_RGB24, DI_PCLK_LDB, 65000000);
...... if (di == 1)
{
//18bit
writel(0x40C, IOMUXC_BASE_ADDR + 0x8);
//24bit
//writel(0x48C, IOMUXC_BASE_ADDR + 0x8);
}
else
{
//18bit
writel(0x201, IOMUXC_BASE_ADDR + 0x8);//18BIT
//24bit
//writel(0x221, IOMUXC_BASE_ADDR + 0x8);//24BIT
}
}

Author

Tony Liu

2016-8-10, Shenzhen

imx6 uboot logo 更改的更多相关文章

  1. imx6 uboot lcd

    本文记录imx6 uboot中关于lcd初始化的过程. uboot中相关的文件: cpu/arm_cortexa8/start.S lib_arm/board.c board/freescale/mx ...

  2. uboot 下更改NAND的分区 fdisk

    uboot 下更改NAND的分区 fdisk 分类: S5PXX(三星)2012-07-01 18:59 8946人阅读 评论(7) 收藏 举报 flash平台cacheandroid三星null 关 ...

  3. imx6 uboot lvds clock

    在uboot中添加logo,lvds接口的lcd显示不正常,出现波动.网上说是lvds时钟频率的问题. 使用示波器测量之后,发现频率是60M,而lcd最大频率才46.8M. 因此就需要更改uboot中 ...

  4. imx6 uboot saveenv fail

    uboot设置环境变量之后,不能保存在EMMC中,出现错误. MX6SDL SABRESD U-Boot > saveenv Saving Environment to SPI Flash... ...

  5. imx6 uboot splash image

    跟踪uboot代码,了解imx6 splash image的生成过程. 涉及文件: ./cpu/arm_cortexa8/start.S ./board/freescale/mx6q_sabresd/ ...

  6. imx6 uboot启动流程分析

    参考http://blog.csdn.net/skyflying2012/article/details/25804209 这里以imx6平台为例,分析uboot启动流程对于任何程序,入口函数是在链接 ...

  7. imx6 u-boot.bin 和 u-boot.imx

    有些MFG TOOL烧录工具使用了u-boot.imx,而不是原来的u-boot.bin文件进行烧录. 这两个镜像的区别是,u-boot.bin文件编译后,会在u-boot.bin的开头添加一个大小为 ...

  8. Magento 前台的logo更改

    进入后台: 系统-配置, 然后选择左栏的“设计”, 选择右栏的“页眉”里面, 一般logo的路径在: skin/frontend/base/default/images/media/logo.png ...

  9. 从U-Boot显示Logo到Android

    /******************************************************************************* * 从U-Boot显示Logo到And ...

随机推荐

  1. Java程序员的C++回归路(二)

    接前: 之前记录的笔记,终于想起来上传完整. 第7章: 类 定义抽象数据类型 任何对成员对象的访问都可以解释为使用this来访问,即this->member. =default :默认构造函数. ...

  2. react-keeper

    通过 react-keeper 替换掉 react-router 解决 页面缓存问题.

  3. vue computed 可以使用getter和setter

    var vm = new Vue({ data: { a: 1 }, computed: { // 仅读取 aDouble: function () { return this.a * 2 }, // ...

  4. sqlserver2008 R2中查找未使用过的索引

    转自:http://blog.csdn.net/yangzhawen/article/details/7247393 sqlserver2008 R2中查找未使用过的索引: o.name AS 表名 ...

  5. 〖Android〗/system/etc/fallback_fonts.xml

    <?xml version="1.0" encoding="utf-8"?> <!-- Fallback Fonts This file sp ...

  6. JDBC 事务(一) 隔离级别

    public class TxTest { public static void main(String[] args) throws SQLException {         test();   ...

  7. 用sqldevelop进行连接linux中ret Hat 6.2 中的oracle步骤

    1.下载Oracle Instant Client (32-bit) 因为PL/SQL只支持32位的Oracle,所以必须下载对应的32位的才可以. 只需要下载instantclient-basic- ...

  8. 摘:C/C++中时间类time.h

    摘要:本文从介绍基础概念入手,探讨了在C/C++中对日期和时间操作所用到的数据结构和函数,并对计时.时间的获取.时间的计算和显示格式等方面进行了阐述.本文还通过大量的实例向你展示了time.h头文件中 ...

  9. 你觉得你非常了解Javascript?

    (翻译不当之处请谅解) 来源:http://www.ido321.com/914.html 这里有5个小脚本,有助于你真正理解JavaScript核心–闭包和作用域.没有在控制台执行之前,尝试回答每一 ...

  10. 连接SQLServer的增删改查方法代码

    在Visual C++中用ADO进行数据库编程 1. 生成应用程序框架并初始化OLE/COM库环境 创建一个标准的MFC AppWizard(exe)应用程序CADOConnection,然后在使用A ...