一种合理利用显示缓冲区内存的方法及其系统技术方案

技术编号:11982300 阅读:154 留言:0更新日期:2015-09-02 12:37
本发明专利技术提供一种合理利用显示缓冲区内存的方法,所述方法包括如下步骤:1、bootloader根据所需显示图片的大小申请一内存一,保存图片数据在该内存一中;2、将内存一的地址标记为不可使用,操作系统在内存初始化阶段,将被bootloader标记为不可被使用的内存一剔除出操作系统的内存池;3、操行系统的LCD控制器驱动按屏幕分辨率获得当前帧显示缓冲所需要的内存二,通知操作系统的内存管理器;4、内存管理器按照所需要的内存二与所述的内存一进行比较,来执行追加或者回收内存。本发明专利技术高弹性的可回收、可追加的显示帧数据缓冲内存,提高了操作系统内存的利用率。

【技术实现步骤摘要】
一种合理利用显示缓冲区内存的方法及其系统
本专利技术涉及嵌入式设备
,尤其涉及一种合理利用显示缓冲区内存的方法及其系统。
技术介绍
目前的嵌入式设备很多需要在bootloader引导阶段显示一个图片,并且该图片还需要在操作系统初始化阶段继续显示。bootloader会将一个保存有该图片数据的内存地址,赋于LCD控制器的显示帧缓存区地址,LCD控制器从该地址中获取图片数据用于显示。那么就存在操作系统初始化的时候,错误的将bootloader用于保存显示图片的内存挪为他用,导致操作系统初始化阶段LCD输出数据被修改,表现为界面花屏。为了应对这种问题,目前共用几种技术。第一种是在操作系统初始化阶段关闭背光,在操作系统的LCD控制器驱动完成初始化之后再打开背光进行图片显示,此种做法会导致图片显示不连续,用户体验差。第二种做法是修改操作选题的内存映射关系,让操作系统在初始化阶段不去使用被bootloader用于保存图片数据的内存区域,此类做法虽能解决问题,但是操作十分复杂,需要针对初始化阶段和非初始化阶段配置两份MMU表,分别配置,很容易导致系统异常。第三种是见中国专利“一种启动程序时等待信息的显示控制方法和移动终端”,公开号为:101776986A,公开日为:2010-07-14;该专利技术去除了内核初始化LCD的步骤,并在将bootloader显存中的等待信息数据复制到内核的显存中后,再初始化LCD控制器,这样,LCD即可直接根据LCD控制器中的显存首地址,读取内核的显存中的等待信息数据,而bootloader显存中的等待信息数据已经预先复制到内核的显存中,所以对于用户来讲,显示的内容完全没有改变,同时由于去除了初始化LCD的步骤,所以完全避免了LCD屏幕显示的扭曲、闪动、花屏等现象,提高了程序启动时的显示质量,带给用户较好的视觉感受。但是该专利技术中所提到的bootloader与操作系统分别开辟不同的显示帧缓区内存,进行图片数据的拷贝;此方法无法解决我们所提出的问题(因为操作系统初始化阶段仍然有可能将bootloader准备的第一显示内存挪为他用,导致花屏)。第四种技术就是开辟一个独立的物理内存控制,此空间在bootloader和操作系统的生命周期内,只配置给LCD使用,但是这样就产生一个问题,操作系统系统需才要针对不同的屏幕和分辨率开辟不同大小的显示帧缓冲区内存,如果bootloader中显示的图片很大(它需要开辟很大的内存用于保存该图片),但是操作系统中需要显示的图片很小,那么这段内存就浪费了(操作系统无法使用多余的部分)。
技术实现思路
本专利技术要解决的技术问题之一,在于提供一种合理利用显示缓冲区内存的方法,高弹性的可回收、可追加的显示帧数据缓冲内存,提高了操作系统内存的利用率。本专利技术问题之一是这样实现的:一种合理利用显示缓冲区内存的方法,所述方法包括如下步骤:步骤1、bootloader根据所需显示图片的大小申请一内存一,保存图片数据在该内存一中;步骤2、将内存一的地址标记为不可使用,操作系统在内存初始化阶段,将被bootloader标记为不可被使用的内存一剔除出操作系统的内存池;步骤3、操作系统的LCD控制器驱动按屏幕分辨率获得当前帧显示缓冲所需要的内存二,通知操作系统的内存管理器;步骤4、内存管理器按照所需要的内存二与所述的内存一进行比较,来执行追加或者回收内存。进一步地,所述步骤1进一步包括:bootloader将图片数据拷贝到内存一的位置,让LCD控制器从内存一中取出图片数据用于输出显示。进一步地,所述步骤2进一步包括:bootloader传递内存一初始化的地址数值利用参数传递给操作系统,将此段内存一的地址标记为不可使用,操作系统在内存初始化阶段,提取bootloader传递来的所述参数,将被bootloader标记为不可被使用的内存一剔除出操作系统的内存池。进一步地,所述步骤4具体为:内存管理器判断如果内存一大于内存二,则内存管理器回收内存一减去内存二后多余的内存;如果内存一小于内存二,则在内存一的基础上再追加内存二减去内存一后的内存,补足内存给LCD控制器来使用。本专利技术要解决的技术问题之二,在于提供一种合理利用显示缓冲区内存的系统,高弹性的可回收、可追加的显示帧数据缓冲内存,提高了操作系统内存的利用率。本专利技术问题之二是这样实现的:一种合理利用显示缓冲区内存的系统,所述系统包括内存申请模块、标记模块、获取模块以及内存处理模块;所述内存申请模块用于:通过bootloader根据所需显示图片的大小申请一内存一,保存图片数据在该内存一中;标记模块用于:将内存一的地址标记为不可使用,操作系统在内存初始化阶段,将被bootloader标记为不可被使用的内存一剔除出操作系统的内存池;获取模块用于:通过操作系统的LCD控制器驱动按屏幕分辨率获得当前帧显示缓冲所需要的内存二,通知操作系统的内存管理器;内存处理模块用于:通过内存管理器按照所需要的内存二与所述的内存一进行比较,来执行追加或者回收内存。进一步地,所述内存申请模块进一步包括:bootloader将图片数据拷贝到内存一的位置,让LCD控制器从内存一中取出图片数据用于输出显示。进一步地,所述标记模块进一步包括:bootloader传递内存一初始化的地址数值利用参数传递给操作系统,将此段内存一的地址标记为不可使用,操作系统在内存初始化阶段,提取bootloader传递来的所述参数,将被bootloader标记为不可被使用的内存一剔除出操作系统的内存池。进一步地,所述内存处理模块具体为:内存管理器判断如果内存一大于内存二,则内存管理器回收内存一减去内存二后多余的内存;如果内存一小于内存二,则在内存一的基础上再追加内存二减去内存一后的内存,补足内存给LCD控制器来使用。本专利技术具有如下优点:本专利技术高弹性的可回收、可追加的显示帧数据缓冲内存,提高了操作系统内存的利用率;避免了LCD屏幕显示的扭曲、闪动、花屏等现象,提高了程序启动时的显示质量,带给用户较好的视觉感受。附图说明图1为本专利技术方法流程示意图。图2为本专利技术系统的原理图。具体实施方式请参阅图1所示,本专利技术的一种合理利用显示缓冲区内存的方法,所述方法包括如下步骤:步骤1、bootloader根据所需显示图片的大小申请一内存一,保存图片数据在该内存一中;所述步骤1进一步包括:bootloader将图片数据拷贝到内存一的位置,让LCD控制器从内存一中取出图片数据用于输出显示。步骤2、将内存一的地址标记为不可使用,操作系统在内存初始化阶段,将被bootloader标记为不可被使用的内存一剔除出操作系统的内存池;所述步骤2进一步包括:bootloader传递内存一初始化的地址数值利用参数传递给操作系统,将此段内存一的地址标记为不可使用,操作系统在内存初始化阶段,提取bootloader传递来的所述参数,将被bootloader标记为不可被使用的内存一剔除出操作系统的内存池。此时操作系统不会再使用该段内存。步骤3、操作系统的LCD控制器驱动按屏幕分辨率获得当前帧显示缓冲所需要的内存二,通知操作系统的内存管理器;这样操作系统中初始化初期,LCD控制器已经由bootloader阶段初始化好了,且bootloader为本文档来自技高网
...
一种合理利用显示缓冲区内存的方法及其系统

【技术保护点】
一种合理利用显示缓冲区内存的方法,其特征在于:所述方法包括如下步骤:步骤1、bootloader根据所需显示图片的大小申请一内存一,保存图片数据在该内存一中;步骤2、将内存一的地址标记为不可使用,操作系统在内存初始化阶段,将被bootloader标记为不可被使用的内存一剔除出操作系统的内存池;步骤3、操行系统的LCD控制器驱动按屏幕分辨率获得当前帧显示缓冲所需要的内存二,通知操作系统的内存管理器;步骤4、内存管理器按照所需要的内存二与所述的内存一进行比较,来执行追加或者回收内存。

【技术特征摘要】
1.一种合理利用显示缓冲区内存的方法,其特征在于:所述方法包括如下步骤:步骤1、bootloader根据所需显示图片的大小申请一内存一,保存图片数据在该内存一中;步骤2、将内存一的地址标记为不可使用,操作系统在内存初始化阶段,将被bootloader标记为不可被使用的内存一剔除出操作系统的内存池;步骤3、操作系统的LCD控制器驱动按屏幕分辨率获得当前帧显示缓冲所需要的内存二,通知操作系统的内存管理器;步骤4、内存管理器按照所需要的内存二与所述的内存一进行比较,来执行追加或者回收内存。2.根据权利要求1所述的一种合理利用显示缓冲区内存的方法,其特征在于:所述步骤1进一步包括:bootloader将图片数据拷贝到内存一的位置,让LCD控制器从内存一中取出图片数据用于输出显示。3.根据权利要求1所述的一种合理利用显示缓冲区内存的方法,其特征在于:所述步骤2进一步包括:bootloader传递内存一初始化的地址数值利用参数传递给操作系统,将此段内存一的地址标记为不可使用,操作系统在内存初始化阶段,提取bootloader传递来的所述参数,将被bootloader标记为不可被使用的内存一剔除出操作系统的内存池。4.根据权利要求1所述的一种合理利用显示缓冲区内存的方法,其特征在于:所述步骤4具体为:内存管理器判断如果内存一大于内存二,则内存管理器回收内存一减去内存二后多余的内存;如果内存一小于内存二,则在内存一的基础上再追加内存二减去内存一后的内存,补足内存给LCD控制器来使用。5.一种合理利用显示缓冲区内存的系统,其特征在于:...

【专利技术属性】
技术研发人员:蔡文忠姚智情陈美友
申请(专利权)人:福州瑞芯微电子有限公司
类型:发明
国别省市:福建;35

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

1