一种基于uboot的界面架构实现方法技术

技术编号:14191952 阅读:322 留言:0更新日期:2016-12-15 11:07
本发明专利技术属于界面架构技术领域,具体地说是一种基于uboot的界面架构实现方法。该方法包括以下步骤:A.进入菜单设置界面;B.画一级菜单界面图形及各级菜单公共部分图形;C.创建初始化菜单数据;创建menu,具体的根据bootmenu内容配置menu链表及item链表;在第一个while中,如果menu存在的情况,做相应的显示、按键捕捉、按键选择、选中item反显操作,若按ENTER键则根据选中item设置菜单标志,进行后续二级菜单创建。与现有技术相比,本发明专利技术实现方法中,通过简单参数修改和数据结构修改,即可实现对菜单界面的增加、修改或删减等维护;对于特殊菜单可通过菜单函数做相应修改。

A method for realizing interface architecture based on uboot

The invention belongs to the technical field of interface structure, in particular to a method for realizing an interface architecture based on uboot. The method comprises the following steps: A. into the menu interface; B. draw a menu interface and menu at all levels of the public part of C. graphics; create the initialization menu data; to create menu, depending on the configuration of menu and BootMenu contents list item list; in the first while, if menu exists, the corresponding display, button capture button to select, select the item reverse display operation, if press the ENTER button according to the settings menu select the item logo, the subsequent two level menu. Compared with the existing technology, the realization method of the invention, through a simple modification of the parameters and the data structure modifications can be realized, the menu interface modification or deletion maintenance; for the special menu can make the corresponding revision through the menu function.

【技术实现步骤摘要】

本专利技术涉及界面架构领域,具体提供一种基于uboot的界面架构实现方法
技术介绍
uboot全称为Universal Boot Loader,即通用Bootloader,是一种普遍用于嵌入式系统中的Bootloader,是运行于操作系统之前执行的一小段程序,通过它,我们可以初始化硬件设备、建立内存空间的映射表,从而建立适当的软硬件环境,为最终调用操作系统内核做好准备。系统启动之后用户可见界面是操作系统的操作界面。而在系统启动之前是基于uboot的启动界面,有基本logo显示及单级菜单界面,不能通过简单代码维护增加、修改或删减界面等级及界面数量,因此不能满足客户和开发者的需求。
技术实现思路
本专利技术的技术任务是针对上述现有技术的不足,提供一种基于uboot的界面架构实现方法,目的是创建多级菜单及同级菜单多个菜单满足用户需求,以及通过简单代码维护实现菜单界面开发维护,方便开发者二次开发及维护。本专利技术的技术任务是按以下方式实现的:一种基于uboot的界面架构实现方法,其特点是包括以下步骤:A.通过按键循环捕捉到启动键scancode,运行bootmenu命令,进入菜单设置界面;B.画一级菜单界面图形及各级菜单公共部分图形;C.创建一级菜单通过bootmenu_create()函数,创建Bootmenum初始化菜单数据,通过修改此函数调用的结构体数据实现菜单维护;通过menu_create()函数创建menu,具体的根据bootmenu内容配置menu链表及item链表;在第一个while(cur_menu)中,如果menu存在的情况,通过menu_get_choice(cur_menu,&choice)函数,分别做相应的显示、按键捕捉、按键选择、选中item反显等操作,然后根据按键,若按ESC键则退出启动界面,并根据启动选项设置进入系统或相应安装;若按ENTER键则根据选中item设置菜单标志,进行后续二级菜单创建;否则继续while循环并做相应显示;D.二级菜单创建完成后,按键若非ENTER键,则退回到while循环进行后续循环操作;若按键是ENTER键,则根据命令选择:如果创建常规菜单则根据需要按while(cur_menu)循环创建三级菜单,通过修改此过程结构体数据实现菜单维护;如果在此等级有操作命令需要执行,直接运行操作命令;如果其他命令选项,则按相应命令和需求创建特殊三级及更高级菜单。作为优选,每一级菜单可创建若干个菜单。步骤D中所述特殊三级菜单及特殊菜单包括第一启动选项、第二启动选项、pci设备显示。作为优选,对于特殊三级菜单,使用同一个bootmenu_create()函数和menu_create()函数,再分解出两个并列同级菜单,进行标志设置、链表选择、菜单指针变化、菜单释放,完成需求功能设计。对于特殊菜单,通过bootmenu_create()函数和menu_create()函数初始化特殊数据及配置menu链表和item链表,通过while循环完成需求功能设计。与现有技术相比,本专利技术基于uboot的界面架构实现方法具有以下突出的有益效果:(一)对于基本页面内容统一规范到结构体,可仅通过修改页面参数和结构体内容,无限增加页面等级及根据需要增加、删减、修改页面,特殊页面可根据需要增减修改方便维护。(二)为uboot在引导加载程序的同时具有友好启动界面,扩展了uboot功能,方便用户使用,方便维护开发,具有有效实用性。附图说明图1是本专利技术方法中启动界面架构程序框图;图2是本专利技术方法中启动界面架构具体程序流程图。具体实施方式下面将结合附图和实施例,对本专利技术的基于uboot的界面架构实现方法作进一步详细说明。如图1、2所示,本专利技术的基于uboot的界面架构实现方法包括以下步骤:1)通过按键循环捕捉到F12键scancode(0x8B),运行”bootmenu”命令,进入菜单设置界面。2)画一级菜单界面图形及各级菜单公共部分图形。3)然后创建一级菜单:通过bootmenu_create()函数,创建Bootmenum初始化菜单数据。通过menu_create()函数,创建menu具体的根据bootmenu内容配置menu链表及item链表,在第一个while(cur_menu)中即如果menu存在的情况,通过menu_get_choice(cur_menu,&choice)函数,分别做相应的显示、按键捕捉、按键选择、选中item反显等操作。然后根据按键,若按ESC键则退出启动界面并根据启动选项设置进入系统或相应安装;若按ENTER键则根据选中item设置菜单标志,进行后续二级菜单创建,可根据需求创建多个;如果在此等级有操作命令需要执行,直接运行操作命令;若其他键则继续while循环并做相应显示。如果menu不存在,则释放所有菜单继续向下运行。4)二级菜单创建完成,按键若非ENTER键,则退回到while循环进行后续循环操作。若按键是ENTER键,则根据命令选择,如果创建常规菜单则根据需要按while(cur_menu)循环创建三级菜单、四级菜单……,每一级菜单也可创建多个菜单,此过程通过bootmenu_create()函数,创建Bootmenum初始化菜单数据,通过menu_create()函数,创建menu具体的根据bootmenu内容配置menu链表及item链表;如果在此等级有操作命令需要执行,直接运行操作命令;如果其他命令选项,则按相应命令和需求创建三级及更高级菜单。如特殊三级菜单1,可使用同一个bootmenu_create()函数和menu_create()函数,再分解出两个并列同级菜单,进行标志设置、链表选择、菜单指针变化、菜单释放……完成需求功能设计。或如特殊菜单2,通过bootmenu_create()函数和menu_create()函数初始化特殊数据及配置menu链表和item链表,通过while循环完成需求功能设计。本文档来自技高网...
一种基于uboot的界面架构实现方法

【技术保护点】
一种基于uboot的界面架构实现方法,其特征在于包括以下步骤:A.通过按键循环捕捉到启动键scancode,运行bootmenu命令,进入菜单设置界面;B.画一级菜单界面图形及各级菜单公共部分图形;C.创建一级菜单通过bootmenu_create()函数,创建Bootmenum初始化菜单数据,通过修改此函数调用的结构体数据实现菜单维护;通过menu_create()函数创建menu,具体的根据bootmenu内容配置menu链表及item链表;在第一个while(cur_menu)中,如果menu存在的情况,通过menu_get_choice(cur_menu,&choice)函数,分别做相应的显示、按键捕捉、按键选择、选中item反显操作,然后根据按键,若按ESC键则退出启动界面,并根据启动选项设置进入系统或相应安装;若按ENTER键则根据选中item设置菜单标志,进行后续二级菜单创建;否则继续while循环并做相应显示;D.二级菜单创建完成后,按键若非ENTER键,则退回到while循环进行后续循环操作;若按键是ENTER键,则根据命令选择:如果创建常规菜单则根据需要按while(cur_menu)循环创建三级菜单,通过修改此过程结构体数据实现菜单维护;如果在此等级有操作命令需要执行,直接运行操作命令;如果其他命令选项,则按相应命令和需求创建特殊三级及更高级菜单。...

【技术特征摘要】
1.一种基于uboot的界面架构实现方法,其特征在于包括以下步骤:A.通过按键循环捕捉到启动键scancode,运行bootmenu命令,进入菜单设置界面;B.画一级菜单界面图形及各级菜单公共部分图形;C.创建一级菜单通过bootmenu_create()函数,创建Bootmenum初始化菜单数据,通过修改此函数调用的结构体数据实现菜单维护;通过menu_create()函数创建menu,具体的根据bootmenu内容配置menu链表及item链表;在第一个while(cur_menu)中,如果menu存在的情况,通过menu_get_choice(cur_menu,&choice)函数,分别做相应的显示、按键捕捉、按键选择、选中item反显操作,然后根据按键,若按ESC键则退出启动界面,并根据启动选项设置进入系统或相应安装;若按ENTER键则根据选中item设置菜单标志,进行后续二级菜单创建;否则继续while循环并做相应显示;D.二级菜单创建完成后,按键若非ENTER键,则退回到while循环进行后续循环操作;若按键是ENTER键,则根据命令选择:如...

【专利技术属性】
技术研发人员:于晓艳张雁鹏
申请(专利权)人:浪潮集团有限公司
类型:发明
国别省市:山东;37

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

1