最近需要更改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. ASP.NET MVC4 Jquer 日期控件 测试范例

    <!doctype html>   <html lang="en"> <head> <meta charset="utf-8&q ...

  2. Poj-1274-The Perfect Stall-匈牙利算法

    The Perfect Stall Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 19174   Accepted: 869 ...

  3. 解决tmux在PuTTY下工作异常的问题

    ubuntu 默认系统配置文件位置/usr/share/byobu/profiles/tmux 来自 PC通过PuTTY连接到VPS,在使用VPS上安装的tmux时遇到了一些小问题.主要是因为PuTT ...

  4. Android APP安装后不在桌面显示图标的应用场景

    一般情况下是由于特殊情况下,需要隐藏app的启动入口,即在launcher界面不需要显示该入口,会由其他app跳转至.怎么设置如下代码: <activity android:name=" ...

  5. Some web Address

    1.可视化算法(Data Structure Visualizations) https://www.cs.usfca.edu/~galles/visualization/Algorithms.htm ...

  6. socket shutdown 与 close 函数 的区别

    假设server和client 已经建立了连接,server调用了close, 发送FIN 段给client(其实不一定会发送FIN段,后面再说),此时server不能再通过socket发送和接收数据 ...

  7. cocos2d-x 源代码分析 : EventDispatcher、EventListener、Event 源代码分析 (新触摸机制,新的NotificationCenter机制)

    源代码版本号来自3.x,转载请注明 cocos2d-x 源代码分析总文件夹 http://blog.csdn.net/u011225840/article/details/31743129 1.继承结 ...

  8. ref与out区别(ref有进有出,而out只出不进)

    ref与out区别(ref有进有出,而out只出不进)   C#基础:ref和out的区别 ref和out的区别在C# 中,既可以通过值也可以通过引用传递参数.通过引用传递参数允许函数成员更改参数的值 ...

  9. C#:ZedGraph画图控件(待补充)

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  10. python 多线程 示例

    import threading import Queue q = Queue.Queue() from test import * def worker1(x, y): #假设耗时 执行完毕 大于三 ...