CN104881261B - 一种合理利用显示缓冲区内存的方法及其系统 - Google Patents

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

Info

Publication number
CN104881261B
CN104881261B CN201510257338.XA CN201510257338A CN104881261B CN 104881261 B CN104881261 B CN 104881261B CN 201510257338 A CN201510257338 A CN 201510257338A CN 104881261 B CN104881261 B CN 104881261B
Authority
CN
China
Prior art keywords
internal memory
memory
operating system
bootloader
internal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510257338.XA
Other languages
English (en)
Other versions
CN104881261A (zh
Inventor
蔡文忠
姚智情
陈美友
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rockchip Electronics Co Ltd
Original Assignee
Fuzhou Rockchip Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuzhou Rockchip Electronics Co Ltd filed Critical Fuzhou Rockchip Electronics Co Ltd
Priority to CN201510257338.XA priority Critical patent/CN104881261B/zh
Publication of CN104881261A publication Critical patent/CN104881261A/zh
Application granted granted Critical
Publication of CN104881261B publication Critical patent/CN104881261B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Liquid Crystal Display Device Control (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

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

Description

一种合理利用显示缓冲区内存的方法及其系统
技术领域
本发明涉及嵌入式设备技术领域,尤其涉及一种合理利用显示缓冲区内存的方法及其系统。
背景技术
目前的嵌入式设备很多需要在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为其申请的内存一不会被操作系统使用,所以图像能够继续稳定的显示在LCD屏幕上。
步骤4、内存管理器按照所需要的内存二与所述的内存一进行比较,来执行追加或者回收内存。所述步骤4具体为:内存管理器判断如果内存一大于内存二,则内存管理器回收内存一减去内存二后多余的内存(如:内存一为内存A,内存二为内存B,则内存管理器回收(A-B)多余的内存);如果内存一小于内存二,则在内存一的基础上再追加内存二减去内存一后的内存(再追加(B-A)后的内存),补足内存给LCD控制器来使用。
参阅图2所示,本发明的一种合理利用显示缓冲区内存的系统,所述系统包括内存申请模块、标记模块、获取模块以及内存处理模块;
所述内存申请模块用于:通过bootloader根据所需显示图片的大小申请一内存一,保存图片数据在该内存一中;所述内存申请模块进一步包括:bootloader将图片数据拷贝到内存一的位置,让LCD控制器从内存一中取出图片数据用于输出显示。
标记模块用于:将内存一的地址标记为不可使用,操作系统在内存初始化阶段,将被bootloader标记为不可被使用的内存一剔除出操作系统的内存池;所述标记模块进一步包括:bootloader传递内存一初始化的地址数值利用参数传递给操作系统,将此段内存一的地址标记为不可使用,操作系统在内存初始化阶段,提取bootloader传递来的所述参数,将被bootloader标记为不可被使用的内存一剔除出操作系统的内存池。此时操作系统不会再使用该段内存。
获取模块用于:通过操作系统的LCD控制器驱动按屏幕分辨率获得当前帧显示缓冲所需要的内存二,通知操作系统的内存管理器;这样操作系统中初始化初期,LCD控制器已经由bootloader阶段初始化好了,且bootloader为其申请的内存一不会被操作系统使用,所以图像能够继续稳定的显示在LCD屏幕上。
内存处理模块用于:通过内存管理器按照所需要的内存二与所述的内存一进行比较,来执行追加或者回收内存。
所述内存处理模块具体为:内存管理器判断如果内存一大于内存二,则内存管理器回收内存一减去内存二后多余的内存(如:内存一为内存A,内存二为内存B,则内存管理器回收(A-B)多余的内存);如果内存一小于内存二,则在内存一的基础上再追加内存二减去内存一后的内存(再追加(B-A)后的内存),补足内存给LCD控制器来使用。
总之,本发明高弹性的可回收、可追加的显示帧数据缓冲内存,提高了操作系统内存的利用率;避免了LCD屏幕显示的扭曲、闪动、花屏等现象,提高了程序启动时的显示质量,带给用户较好的视觉感受。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

Claims (8)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510257338.XA CN104881261B (zh) 2015-05-20 2015-05-20 一种合理利用显示缓冲区内存的方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510257338.XA CN104881261B (zh) 2015-05-20 2015-05-20 一种合理利用显示缓冲区内存的方法及其系统

Publications (2)

Publication Number Publication Date
CN104881261A CN104881261A (zh) 2015-09-02
CN104881261B true CN104881261B (zh) 2017-09-22

Family

ID=53948771

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510257338.XA Active CN104881261B (zh) 2015-05-20 2015-05-20 一种合理利用显示缓冲区内存的方法及其系统

Country Status (1)

Country Link
CN (1) CN104881261B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106547671B (zh) * 2016-10-19 2020-06-09 惠州Tcl移动通信有限公司 一种移动终端控制显示内存容量的方法及系统
CN108804223A (zh) * 2018-05-16 2018-11-13 努比亚技术有限公司 内存优化方法、移动终端及计算机可读存储介质
CN112052065B (zh) * 2020-10-12 2023-05-02 展讯半导体(南京)有限公司 标识图片的显示方法、显示系统、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101526907A (zh) * 2008-03-04 2009-09-09 深圳市爱国者嵌入式系统科技有限公司 避免电子产品开机错误的闪存管理方法
CN101980157A (zh) * 2010-10-13 2011-02-23 中兴通讯股份有限公司 移动终端开机启动方法及移动终端
CN102609231A (zh) * 2012-02-22 2012-07-25 中国人民解放军国防科学技术大学 基于飞腾处理器平台的多显示屏输出方法
CN103136105A (zh) * 2011-11-28 2013-06-05 广东新岸线计算机系统芯片有限公司 一种内存管理方法、嵌入式系统和视频数据处理系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9274742B2 (en) * 2012-10-25 2016-03-01 PixiOnCloud, Inc. Visual-symbolic control of remote devices having display-based user interfaces

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101526907A (zh) * 2008-03-04 2009-09-09 深圳市爱国者嵌入式系统科技有限公司 避免电子产品开机错误的闪存管理方法
CN101980157A (zh) * 2010-10-13 2011-02-23 中兴通讯股份有限公司 移动终端开机启动方法及移动终端
CN103136105A (zh) * 2011-11-28 2013-06-05 广东新岸线计算机系统芯片有限公司 一种内存管理方法、嵌入式系统和视频数据处理系统
CN102609231A (zh) * 2012-02-22 2012-07-25 中国人民解放军国防科学技术大学 基于飞腾处理器平台的多显示屏输出方法

Also Published As

Publication number Publication date
CN104881261A (zh) 2015-09-02

Similar Documents

Publication Publication Date Title
CN103559150B (zh) 主机外置摄像头的实现方法和装置及移动终端
CN104881261B (zh) 一种合理利用显示缓冲区内存的方法及其系统
CN103853562B (zh) 一种视频帧渲染方法及装置
CN109542382B (zh) 手写输入内容的显示方法、电子设备及计算机存储介质
US20170139824A1 (en) Memory management and image display for mobile devices
CN105187747B (zh) 一种多功能lcd显示控制器的控制方法
KR20140098009A (ko) 컨텍스트 기반 카메라 콜라주를 생성하는 방법 및 시스템
EP3822758B1 (en) Method and apparatus for setting background of ui control
WO2017076199A1 (zh) 一种相机应用的图像预览方法、装置及相机应用系统
CN109005446A (zh) 一种截屏处理方法及装置、电子设备、存储介质
CN106161991A (zh) 一种摄像头视频处理方法及终端
CN106101526A (zh) 录屏方法及装置
US20080030478A1 (en) Digital photo frame
CN106095248A (zh) 一种基于移动终端的应用程序查找启动方法及系统
KR102286015B1 (ko) 텍스트 기반 이미지 검색 방법 및 장치
CN113014804A (zh) 图像处理方法、装置、电子设备和可读存储介质
CN105450986A (zh) 一种Linux下视频处理方法
CN105446676B (zh) 进行大屏显示的方法及装置
CN107608588A (zh) 显示层、显示方法、显示系统和操作系统
US20100265261A1 (en) Video Capture Through Hardware
CN106339235A (zh) 一种界面展示方法和装置
CN111381925B (zh) 基于脏矩形机制的gui片段式渲染方法及装置
US20100223580A1 (en) Data browsing apparatus and control method therefor
CN107844244A (zh) 截图保存的控制方法、终端、计算机设备及可读存储介质
CN104918044A (zh) 图像处理方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 350000 Fuzhou Gulou District, Fujian, software Avenue, building 89, No. 18

Applicant after: FUZHOU ROCKCHIP ELECTRONICS CO., LTD.

Address before: 350000 Fuzhou Gulou District, Fujian, software Avenue, building 89, No. 18

Applicant before: Fuzhou Rockchip Semiconductor Co., Ltd.

COR Change of bibliographic data
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 350000 building, No. 89, software Avenue, Gulou District, Fujian, Fuzhou 18, China

Patentee after: Ruixin Microelectronics Co., Ltd

Address before: 350000 building, No. 89, software Avenue, Gulou District, Fujian, Fuzhou 18, China

Patentee before: Fuzhou Rockchips Electronics Co.,Ltd.