当前位置: 首页 > 专利查询>中南大学专利>正文

一种基于uboot实现用户界面图形显示的方法技术

技术编号:10049876 阅读:468 留言:0更新日期:2014-05-15 20:15
本发明专利技术公开了一种基于uboot实现用户界面图形显示的方法,通过在uboot中添加LCD驱动,将用户图形界面图片与uboot源码中系统默认图片替换,并且突破uboot文件不能超过240KB的限制,来达到在uboot下通过LCD显示图形用户界面的效果,本方法为uboot提供了良好的用户交互界面,让仅仅能够引导加载程序的uboot程序能够提供图形用户界面,扩展了uboot的适用范围,具有显著的效果和很强的实用性。

【技术实现步骤摘要】

本专利技术属于计算机系统
,涉及一种基于uboot实现用户界面图形显示的方法。 
技术介绍
uboot为bootloader引导加载程序的一种,是系统启动前最开始执行的程序,作用为初始化设备硬件,引导加载系统程序。在操作系统启动之后,LCD(Liquid Crystal Display,液晶显示器)才能够显示图形图像,现有uboot无法通过LCD显示与用户交互性能良好的图形界面,限制了uboot的使用范围。 Uboot作为操作系统启动的引导程序,并未编写如LCD驱动代码,也就无法通过LCD显示图形化的用户界面,然而很多应用场合需要在系统启动前完成与用户的交互,如操作系统的选择性启动,实时性系统的实时监控与操作等都需要在操作系统启动前完成用户交互。 
技术实现思路
本专利技术提供了一种基于uboot实现用户界面图形显示的方法,其目的在于,解决现有技术中在操作系统未启动时,无法为用户提供LCD方式下uboot图形化的操作界面。 一种基于uboot实现用户界面图形显示的方法,其特征在于,包括以下几个步骤: 步骤1:扩大uboot启动大小限制参数; uboot启动大小限制参数是指启动uboot所需的可烧写文件大小参数; 步骤2:在uboot源码中添加LCD驱动代码和头文件; 步骤3:将需要显示的用户界面图形图片转化为LCD可读取的图片,并以数组存储形式存储,设定图片数组名称为imagedata[];并将图片数组imagedata[]替换/include/linux_logo.h中uboot自带的Linux系统图片数组unsigned char linux_logo[]; 步骤4:编译uboot可烧写文件,并将可烧写文件烧写至开发板上,开发板上电启动uboot,实现图像用户界面的显示; 步骤2中所述的添加LCD驱动代码和文件包括以下几个部分: 1)在待显示的图片配置头文件中指定显示图片位于LCD中的位置、大小以及支持显示图片的类型,同时将串口显示更改为LCD显示; 2)建立处理器平台帧缓冲设备寄存器的定义头文件,从Linux内核源码中直接获得; 3)如果LCD的分辨率不属于uboot源码定义了的成员,则需要注册新的分辨率成员,否则,进入下一个步骤4); 注册新的分辨率成员:在图形显示模块驱动的定义文件driver/video/videomodes.c中添加 新分辨率的Vesa模式结构体ctfb_vesa_modes与解析结构体ctfb_res_modes成员,同时在负责显示模块的videomodes.h文件中将显示模式修改为对应分辨率显示模式,修改显示模式计数(VESA_MODES_COUNT)为所有的显示模式总数、修改解析模式计数(RES_MODES_COUNT)与存在的分辨率成员数一致、增加新的分辨率的成员宏定义; 4)在处理器头文件中增加ELFIN_FB_BASE基址、LCD片选及LCD_SEL掩码的定义,ELFIN_FB_BASE基址、LCD片选及LCD_SEL掩码的定义值与2011.06版本的uboot源码中对应变量的定义值保持一致; 5)将LCD驱动实现文件存储于路径driver/下,LCD驱动实现文件完成驱动LCD显示图片。 LCD驱动实现文件可以从现有技术中获得,如s3c6410_fb.c; 所述步骤1中uboot启动大小限制参数扩大为1MB以上。 在所述步骤3中对彩色帧缓冲驱动控制台文件中图片的分辨率参数进行修改,使得图片的分辨率参数LINUX_LOGO_WIDTH、LINUX_LOGO_HEIGHT与存储器中存储的图片分辨率一致,并且图片分辨率不能够大于LCD分辨率。 有益效果 本专利技术提供了一种在uboot中实现图形用户界面的方法,通过使用添加了LCD驱动和用户图形界面图片的uboot源码,成功实现了在操作系统之前启动的uboot程序中显示图形用户界面的效果,从而解决了uboot中无法显示图形用户界面的难题,通过本方法,对于用户而言,可以在系统启动之前完成图形化的操作,达到良好的用户体验;对于uboot而言,传统的uboot仅仅用作操作系统的前端引导程序,无法与用户交互,通过本专利技术方法用户也能够使用操作系统中熟悉的图形界面来与uboot程序交互,将uboot从幕后转向台前,丰富了uboot的功能,扩展了uboot的应用范围,具有较强的实用性与创新性。 附图说明图1为本专利技术所述方法的流程图; 图2为应用本专利技术得到的实例效果图。 具体实施方式下面将结合附图和实施例对本专利技术作进一步的说明。 一种基于uboot实现用户界面图形显示的方法,其特征在于,包括以下几个步骤: 步骤1:扩大uboot启动大小限制参数; uboot启动大小限制参数是指启动uboot所需的可烧写文件大小参数; 步骤2:在uboot源码中添加LCD驱动代码和头文件; 步骤3:将需要显示的用户界面图形图片转化为LCD可读取的图片,并以数组存储形式存储,设定图片数组名称为imagedata[];并将图片数组imagedata[]替换/include/linux_logo.h中uboot自带的Linux系统图片数组unsigned char linux_logo[]; 步骤4:编译uboot可烧写文件,并将可烧写文件烧写至开发板上,开发板上电启动uboot,实现图像用户界面的显示; 步骤2中所述的添加LCD驱动代码和文件包括以下几个部分: 1)在待显示的图片配置头文件中指定显示图片位于LCD中的位置、大小以及支持显示图片的类型,同时将串口显示更改为LCD显示; 2)建立处理器平台帧缓冲设备寄存器的定义头文件,从Linux内核源码中直接获得; 3)如果LCD的分辨率不属于uboot源码定义了的成员,则需要注册新的分辨率成员,否则,进入下一个步骤4); 注册新的分辨率成员:在图形显示模块驱动的定义文件driver/video/videomodes.c中添加新分辨率的Vesa模式结构体ctfb_vesa_modes与解析结构体ctfb_res_modes成员,同时在负责显示模块的videomodes.h文件中将显示模式修改为对应分辨率显示模式,修改显示模式计数(VESA_MODES_COUNT)为所有的显示模式总数、修改解析模式计数(RES_MODES_COUNT)与存在的分辨率成员数一致、增加新的分辨率的成员宏定义; 4)在处理器头文件中增加ELFIN_FB_BASE基址、LCD片选及LCD_SEL掩码的定义,ELFIN_FB_BASE基址、LCD片选及LCD_SEL掩码的定义值与2011.06版本的uboot源码中对应变量的定义值保持一致; 5)将LCD驱动实现文件存储于路径driver/下,LCD驱动实现文件完成驱动LCD显示图片。 LCD驱动实现文件可以从现有技术中获本文档来自技高网...

【技术保护点】
一种基于uboot实现用户界面图形显示的方法,其特征在于,包括以下几个步骤:步骤1:扩大uboot启动大小限制参数;步骤2:在uboot源码中添加LCD驱动代码和头文件;步骤3:将需要显示的用户界面图形图片转化为LCD可读取的图片,并以数组存储形式存储,设定图片数组名称为imagedata[];并将图片数组imagedata[]替换/include/linux_logo.h中uboot自带的Linux系统图片数组unsigned char linux_logo[];步骤4:编译uboot可烧写文件,并将可烧写文件烧写至开发板上,开发板上电启动uboot,实现图像用户界面的显示;步骤2中所述的添加LCD驱动代码和文件包括以下几个部分:1)在待显示的图片配置头文件中指定显示图片位于LCD中的位置、大小以及支持显示图片的类型,同时将串口显示更改为LCD显示;2)建立处理器平台帧缓冲设备寄存器的定义头文件,从Linux内核源码中直接获得;3)如果LCD的分辨率不属于uboot源码定义了的成员,则需要注册新的分辨率成员,否则,进入下一个步骤4);注册新的分辨率成员:在图形显示模块驱动的定义文件driver/video/videomodes.c中添加新分辨率的Vesa模式结构体ctfb_vesa_modes与解析结构体ctfb_res_modes成员,同时在负责显示模块的videomodes.h文件中将显示模式修改为对应分辨率显示模式,修改显示模式计数(VESA_MODES_COUNT)为所有的显示模式总数、修改解析模式计数(RES_MODES_COUNT)与存在的分辨率成员数一致、增加新的分辨率的成员宏定义;4)在处理器头文件中增加ELFIN_FB_BASE基址、LCD片选及LCD_SEL掩码的定义,ELFIN_FB_BASE基址、LCD片选及LCD_SEL掩码的定义值与2011.06版本的uboot源码中对应变量的定义值保持一致;5)将LCD驱动实现文件存储于路径driver/下,LCD驱动实现文件完成驱动LCD显示图片。...

【技术特征摘要】
1.一种基于uboot实现用户界面图形显示的方法,其特征在于,包括以下几个步骤:
步骤1:扩大uboot启动大小限制参数;
步骤2:在uboot源码中添加LCD驱动代码和头文件;
步骤3:将需要显示的用户界面图形图片转化为LCD可读取的图片,并以数组存储形式
存储,设定图片数组名称为imagedata[];并将图片数组imagedata[]替换/include/linux_logo.h
中uboot自带的Linux系统图片数组unsigned char linux_logo[];
步骤4:编译uboot可烧写文件,并将可烧写文件烧写至开发板上,开发板上电启动uboot,
实现图像用户界面的显示;
步骤2中所述的添加LCD驱动代码和文件包括以下几个部分:
1)在待显示的图片配置头文件中指定显示图片位于LCD中的位置、大小以及支持显示
图片的类型,同时将串口显示更改为LCD显示;
2)建立处理器平台帧缓冲设备寄存器的定义头文件,从Linux内核源码中直接获得;
3)如果LCD的分辨率不属于uboot源码定义了的成员,则需要注册新的分辨率成员,否
则,进入下一个步骤4);
注册新的分辨率成员:在图形显示模块驱动的定义文件driver/video/videomodes.c中添加
新分辨率的Vesa模式结构体ct...

【专利技术属性】
技术研发人员:熊永华郭述帆吴敏张尧学
申请(专利权)人:中南大学
类型:发明
国别省市:湖南;43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1