请选择 进入手机版 | 继续访问电脑版
搜索

121

主题

128

帖子

665

积分

网站编辑

Rank: 8Rank: 8

积分
665
发表于 2021-8-17 13:58:45 6309 浏览 0 回复

i.MX6ULL终结者Uboot-Logo修改文档

本帖最后由 翠花儿 于 2021-8-17 14:03 编辑

本章节介绍的是在uboot下logo显示和修改步骤。本章节使用的资料已经放到了开发板网盘资料中,路径为“11_Linux系统开发进阶\72_章节_Uboot-Logo修改文档使用资料”。
1 Uboot修改
首先我们在home目录下新建一个文件夹imx6ull,然后打开i.MX6ULL终结者光盘资料\05_uboot linux源码,在window下解压下图箭头所指的压缩包,解压后分别得到linux-imx-rel_imx_4.1.15_2.1.0_ga_20200323.tar.gz和uboot-imx-rel_imx_4.1.15_2.1.0_ga_20200323.tar.gz  
最后把俩压缩包通过SSH拷贝到imx6ull文件夹里。
使用命令“tar -xvf uboot-imx-rel_imx_4.1.15_2.1.0_ga_20200323.tar.gz ”解压uboot。
要修改uboot配置的屏幕信息,使用命令“vi ./board/freescale/mx6ul_topeet/mx6ul_topeet.c”。如下图所示。
打开文件后,查找“qn_output”。将最后一个的值修改为“qn_enable”,如下图所示。
查找“displays”。
将对应配置修改为使用的屏幕配置。
//7.0塑胶屏
{
        .bus    = MX6UL_LCDIF1_BASE_ADDR,
        .addr   = 0,
        .pixfmt = 24,
        .detect = NULL,
        .enable = do_enable_parallel_lcd,
        .mode   = {
                .name           = "7.0",
                .xres           = 800,
                .yres           = 1280,
                .pixclock       = 13518,
                .left_margin    = 20,
              .right_margin   = 20,
                .upper_margin   = 4,
                .lower_margin   = 4,
                .hsync_len      = 10,
                .vsync_len      = 4,
                .sync           = 0,
                .vmode          = FB_VMODE_NONINTERLACED
} },
//10.1寸铁壳屏
{
        .bus    = MX6UL_LCDIF1_BASE_ADDR,
        .addr   = 0,
        .pixfmt = 24,
        .detect = NULL,
        .enable = do_enable_parallel_lcd,
        .mode   = {
                .name           = "10.1",
                .xres           = 1024,
                .yres           = 600,
                .pixclock       = 15385,
                .left_margin    = 220,
                .right_margin   = 40,
                .upper_margin   = 21,
                .lower_margin   = 7,
                .hsync_len      = 60,
                .vsync_len      = 10,
                .sync           = 0,
                .vmode          = FB_VMODE_NONINTERLACED,
                //.flag         = FB_MODE_IS_DETAILED
} },
//7.0寸铁壳屏
{
        .bus    = MX6UL_LCDIF1_BASE_ADDR,
        .addr   = 0,
        .pixfmt = 24,
        .detect = NULL,
        .enable = do_enable_parallel_lcd,
        .mode   = {
                .name           = "1024x600",
                .xres           = 1024,
                .yres           = 600,
                .pixclock       = 17531,
                .left_margin    = 120,
                .right_margin   = 130,
                .upper_margin   = 15,
                .lower_margin   = 17,
                .hsync_len      = 70,
                .vsync_len      = 3,
                .sync           = 0,
                .vmode          = FB_VMODE_NONINTERLACED
} },
//5寸屏
{
        .bus    = MX6UL_LCDIF1_BASE_ADDR,
        .addr   = 0,
        .pixfmt = 24,
        .detect = NULL,
        .enable = do_enable_parallel_lcd,
        .mode   = {
                .name           = "5.0",
                .xres           = 800,
                .yres           = 480,
                .pixclock       = 17531,
                .left_margin    = 120,
                .right_margin   = 130,
                .upper_margin   = 15,
                .lower_margin   = 17,
                .hsync_len      = 70,
                .vsync_len      = 3,
                .sync           = 0,
                .vmode          = FB_VMODE_NONINTERLACED
} },
//4.3寸屏
{
        .bus    = MX6UL_LCDIF1_BASE_ADDR,
        .addr   = 0,
        .pixfmt = 24,
        .detect = NULL,
        .enable = do_enable_parallel_lcd,
        .mode   = {
                .name           = "4.3",
                .xres           = 480,
                .yres           = 272,
                .pixclock       = 128570,//62170,
                .left_margin    = 89,
                .right_margin   = 164,
                .upper_margin   = 23,
                .lower_margin   = 10,
                .hsync_len      = 10,
                .vsync_len      = 10,
                .sync           = 0,
                .vmode          = FB_VMODE_NONITERLACED
} },
//9.7寸屏
{
        .bus    = MX6UL_LCDIF1_BASE_ADDR,
        .addr   = 0,
        .pixfmt = 24,
        .detect = NULL,
        .enable = do_enable_parallel_lcd,
        .mode   = {
                .name           = "9.7",//Hannstar-XGA
                .xres           = 1024,
                .yres           = 768,
                .pixclock       = 15385,
                .left_margin    = 220,
                .right_margin   = 40,
                .upper_margin   = 21,
                .lower_margin   = 7,
                .hsync_len      = 60,
                .vsync_len      = 10,
                .sync           = FB_SYNC_EXT,
                    .vmode          = FB_VMODE_NONINTERLACED
} },
笔者测试9.7寸屏幕,所以修改为9.7的配置。如下图所示。
保存退出。
使用命令“vi ./drivers/video/cfb_console.c”,如下图
跳转至1986行。将
if (len > space) {
                int xx = VIDEO_INFO_X, yy = VIDEO_INFO_Y;
                uchar *p = (uchar *) info;
                while (len) {
                        if (len > space) {
                                video_drawchars(xx, yy, p, space);
                                len -= space;
                                p = (uchar *) p + space;
                                if (!y_off) {
                                        xx += VIDEO_FONT_WIDTH;
                                        space--;
                                }
                                yy += VIDEO_FONT_HEIGHT;
                                y_off++;
                        } else {
                                video_drawchars(xx, yy, p, len);
                                len = 0;
                        }
                }
        } else               
                    video_drawstring(VIDEO_INFO_X, VIDEO_INFO_Y, (uchar *) info);
这部分注释掉。如下图。
logo图片要求Bmp格式,8位色深。
这里作者提供了一种修改位深度为 8 位的方法:
1. 在百度上下载 ps 软件。
2. 在 ps 中打开软件,点击图像——模式——索引,设置为下图所示。
3.点击文件——储存为.BMP 格式,设置为下图所示,点击保存。
将准备好的“.bmp”格式的图片拷贝到uboot的“/tools/logos”目录下,作者拷贝的文件为“xunwei.bmp”。
将图片名称修改为“freescale.bmp”。
保存退出。编译uboot,生成u-boot.imx。编译uboot请参考i.MX6ULL 终结者-开发板使用手册28.2章节
2 Uboot测试
重新烧写镜像,参考i.MX6ULL 终结者-开发板使用手册第六章I.MX6ULL镜像烧写,启动即可看到logo显示。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

返回列表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

登录或注册

官方客服

QQ:2551456065

官方QQ群

195631883

扫一扫关注迅为公众号

群号652692981

 
快速回复 返回顶部 返回列表