一种智能嵌入式设备多操作系统切换方法

文档序号:8922460阅读:223来源:国知局
一种智能嵌入式设备多操作系统切换方法
【技术领域】
[0001]本发明涉及一种智能嵌入式设备多操作系统切换方法,属于计算机系统技术领域。
【背景技术】
[0002]智能嵌入式设备如智能手机、平板电脑等,因其具有轻薄、便携等特点获得了快速普及。通常一台智能嵌入式设备只能运行一类操作系统,而各操作系统功能偏向均有所区另lj,如Android、1S主要侧重于娱乐,Windows则更加适合办公。业界为了实现多类型操作系统在智能嵌入式设备上运行,通常采用在引导启动程序中添加用户选择菜单,获取用户选择参数后选择性启动操作系统的方法。引导加载程序为操作系统启动前负责实现操作系统引导启动的简单程序,基于此程序实现的多操作系统切换方案受到引导加载程序的制约,其可扩展性、可管理性均十分有限。

【发明内容】

[0003]为了解决现有技术的不足,本发明提供了一种智能嵌入式设备多操作系统切换方法,解决了基于引导加载程序开发的多操作系统传统切换方案可扩展性、可管理性不强的冋题。
[0004]本发明为解决其技术问题所采用的技术方案是:提供了一种智能嵌入式设备多操作系统切换方法,包括以下步骤:
[0005]步骤1:将存储器分区,存储器地址依次划分为U-Boot分区与系统分区,将各操作系统的镜像文件依次存放在系统分区内,且各操作系统的镜像文件间设有安全间隔,根据各操作系统的镜像文件的存储地址建立系统镜像文件分区表,根据该系统镜像文件分区表在U-Boot分区中为各操作系统分别建立地址映射宏定义;所述地址映射宏定义包括NandFlash地址0S_ADDR、镜像文件大小0S_LEN、镜像文件位的内存地址0S_RAM_ADDR及跳转地址 0S_RAM_B00T_0FF ;
[0006]步骤2:在U-Boot分区中添加EEPROM标志位操作函数,并定义各操作系统的标志位以及切换管理系统标志位;
[0007]步骤3:在U-Boot分区中分别添加各个操作系统的加载启动函数,各加载启动函数用于将Nand Flash地址处的镜像文件加载至内存地址0S_RAM_ADDR中,并跳转至内存地址0S_RAM_ADDR启动操作系统内核;
[0008]步骤4:在QT环境设置操作系统启动菜单,所述操作系统启动菜单用于选择不同的操作系统;
[0009]步骤5:在操作系统启动菜单中选择一个操作系统来启动,U-Boot调用EEPROM标志位操作函数读取该操作系统的标志位,调用该标志位对应的操作系统的加载启动函数,启动操作系统。
[0010]步骤5中,启动操作系统前,调用EEPROM标志位操作函数,将标志位改写为切换管理系统标志位。
[0011]本发明基于其技术方案所具有的有益效果在于:
[0012](I)本发明通过使用切换管理系统对智能嵌入式设备多类型操作系统按照启动逻辑进行统一的分区、引导操作,使得本方法能够方便的完成多类型操作系统的切换;
[0013](2)本发明将各操作系统的镜像文件依次存放在存储器的系统分区内并设置安全间隔,根据各操作系统的镜像文件的存储地址建立系统镜像文件分区表,在U-Boot分区中根据系统镜像文件分区表为各操作系统分别建立地址映射宏定义,并为各操作系统分别添加加载启动函数,定义与各操作系统对应的标志位,可以降低传统“刷机”操作过程中的故障率,保证多类型操作系统切换的稳定性;
[0014](3)本发明在QT环境设置操作系统启动菜单,可提供更加人性化交互界面以及扩展性较强的切换系统,弥补基于引导加载程序开发的选择菜单交互体验不强与可扩展性差的缺点。
【附图说明】
[0015]图1是实现本发明所述方法的系统结构示意图。
[0016]图2是本发明所述方法的流程图。
[0017]图3是本发明实施例存储器地址分区表。
[0018]图4是操作系统启动菜单界面示意图。
【具体实施方式】
[0019]下面结合附图和实施例对本发明作进一步说明。
[0020]本发明提供了一种智能嵌入式设备多操作系统切换方法,参照图2,包括以下步骤:
[0021]步骤1:将存储器分区,存储器地址依次划分为U-Boot分区与系统分区,将各操作系统的镜像文件依次存放在系统分区内,且各操作系统的镜像文件间设有安全间隔,根据各操作系统的镜像文件的存储地址建立系统镜像文件分区表,根据该系统镜像文件分区表在U-Boot分区中为各操作系统分别建立地址映射宏定义;所述地址映射宏定义包括NandFlash地址0S_ADDR、镜像文件大小0S_LEN、镜像文件位的内存地址0S_RAM_ADDR及跳转地址 0S_RAM_B00T_0FF ;
[0022]步骤2:在U-Boot分区中添加EEPROM标志位操作函数,并定义各操作系统的标志位以及切换管理系统标志位;
[0023]步骤3:在U-Boot分区中分别添加各个操作系统的加载启动函数,各加载启动函数用于将Nand Flash地址处的镜像文件加载至内存地址0S_RAM_ADDR中,并跳转至内存地址0S_RAM_ADDR启动操作系统内核;
[0024]步骤4:在QT环境设置操作系统启动菜单,所述操作系统启动菜单用于选择不同的操作系统;
[0025]步骤5:在操作系统启动菜单中选择一个操作系统来启动,U-Boot调用EEPROM标志位操作函数读取该操作系统的标志位,调用该标志位对应的操作系统的加载启动函数,启动操作系统。
[0026]步骤5中,启动操作系统前,调用EEPROM标志位操作函数,将标志位改写为切换管理系统标志位。
[0027]利用本发明的智能嵌入式设备多操作系统切换方法可以应用于如图1所示的基于Linux的智能嵌入式设备。智能嵌入式设备硬件配置为:FriendlyARM公司Mini6410开发板(Samsung S3C6410 处理器,ARM1176JZF-S 内核,主频 533MHz/667MHz,IGB Nand Flash存储器,256B IIC接口 EEPROM存储器)
[0028]智能嵌入式设备软件配置:
[0029]Linux QT (内核版本:2.6.38,文件系统使用VFS) ,Android 2.3.4 (文件系统使用VFS), Windows CE 6.0, U-Boot 1.1.5。
[0030]第一步,将存储器分区,如图3所示,从Nand Flash地址O开始的256KB存储区域存放U-Boot程序,在U-Boot分区后存储空间为系统分区,以安全间隔存储Windows CE、切换管理系统、Linux、Android系统内核及文件系统镜像文
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1