CN101256501A - 软件解压缩启动方法 - Google Patents
软件解压缩启动方法 Download PDFInfo
- Publication number
- CN101256501A CN101256501A CNA2008103011854A CN200810301185A CN101256501A CN 101256501 A CN101256501 A CN 101256501A CN A2008103011854 A CNA2008103011854 A CN A2008103011854A CN 200810301185 A CN200810301185 A CN 200810301185A CN 101256501 A CN101256501 A CN 101256501A
- Authority
- CN
- China
- Prior art keywords
- application program
- primary application
- software
- memory
- main application
- 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.)
- Pending
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明涉及嵌入式技术。本发明针对在增加机顶盒的应用软件的软件功能会导致硬件成本的提升的问题,公开了一种软件解压缩启动方法。本发明的技术方案包括下列步骤:a、压缩主应用程序并写入FLASH存储器;b、执行装载程序第一条指令;c、从FLASH存储器中读取的所述主应用程序;d、解压主应用程序到内存,跳转到内存的主应用程序第一条指令;e、拷贝主应用程序和数据到内存;f、跳转到内存的主应用程序和数据,执行主应用程序。本发明用于嵌入式产品,本发明的有益效果是,在不增加FLASH存储器资源、内存资源的前提下,增加了嵌入式产品的应用软件功能。
Description
技术领域
本发明涉及嵌入式技术,特别涉及一种通过软件压缩解压缩技术实现数字机顶盒主应用软件启动的方法。
背景技术
随着嵌入式产品的广泛使用,如现在常用的机顶盒。由于人们对嵌入式产品的软件应用功能不断增加,而且越来越复杂,使得其应用软件越来越庞大,需要更大的FLASH存储器资源来存贮相应的应用软件。而采用现有的嵌入式产品的软件启动的方法,在增加嵌入式产品的应用软件的软件功能的同时提升了其硬件成本。如机顶盒的软件在FLASH存储器中的划分主要包括装载软件和主应用软件两大软件模块,装载软件主要是实现下载新软件和启动主应用软件的功能;主应用软件实现客户的应用需求。其中大部分FLASH存储器空间分配给主应用软件。现有的机顶盒软件启动方法为:首先加电,然后执行装载程序第一条指令,再跳转到FLASH存储器中主应用程序第一条指令,拷贝主应用程序和数据到内存,跳转到内存的主应用程序和数据,执行主应用程序。
发明内容
本发明所要解决的技术问题是,针对在增加机顶盒的应用软件的软件功能会导致硬件成本的提升的问题,提供一种软件解压缩启动方法。
本发明解决所述技术问题采用的技术方案是,软件解压缩启动方法,其特征在于,包括下列步骤;
a、压缩主应用程序并写入FLASH存储器;
b、执行装载程序第一条指令;
b、从FLASH存储器中读取的所述主应用程序;
c、解压主应用程序到内存,跳转到内存的主应用程序第一条指令;
d、拷贝主应用程序和数据到内存;
e、跳转到内存的主应用程序和数据,执行主应用程序;
进一步的,所述步骤a中,压缩后的主应用程序写入FLASH存储器的指定位置。
本发明的有益效果是,在不增加FLASH存储器资源、内存资源的前提下,增加了嵌入式产品的应用软件功能。
具体实施方式
以下结合具体实施方式对本发明作进一步说明。
将本发明应用在机顶盒软件启动上。在计算机上生成一个用于压缩二进制文件的压缩软件,对主应用程序进行压缩。修改主应用程序的makefile和配置文件,为了达到压缩的目的,在内存(RAM)位置虚拟为ROM内存,用于存放主程序的代码段和数据段,即把编译生成的机顶盒的主应用程序的代码段和数据段在FLASH存储器的ROM位置定义在内存(RAM)位置。通过压缩软件对编译成功后的主应用程序的二进制文件进行压缩,生成压缩后的主应用程序的二进制文件。压缩后的主应用程序的二进制文件写入FLASH存储器的指定位置,具体的指定位置在FLASH存储器使用规划时指定。在装载程序中有对应压缩主应用程式的解压缩算法。机顶盒软件启动流程如下:
加电后,执行装载程序的第一条指令;然后从FLASH存储器中读取压缩后的主应用程序的二进制文件数据;装载程序中的解压缩算法对从FLASH存储器中读取的主应用程序进行解压,将解压的主应用程序的代码段和数据段存放到相应的内存位置,同时跳转到主应用程序代码段和数据段存放内存位置的第一条指令;拷贝主应用程序和数据到指定内存;跳转到内存的主应用程序和数据,执行主应用程序。
Claims (2)
1. 软件解压缩启动方法,其特征在于,包括下列步骤;
a、压缩主应用程序并写入FLASH存储器;
b、执行装载程序第一条指令;
b、从FLASH存储器中读取的所述主应用程序;
c、解压主应用程序到内存,跳转到内存的主应用程序第一条指令;
d、拷贝主应用程序和数据到内存;
e、跳转到内存的主应用程序和数据,执行主应用程序。
2. 如权利要求1所述的软件解压缩启动方法,其特征在于,所述步骤
a中,压缩后的主应用程序写入FLASH存储器的指定位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008103011854A CN101256501A (zh) | 2008-04-18 | 2008-04-18 | 软件解压缩启动方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008103011854A CN101256501A (zh) | 2008-04-18 | 2008-04-18 | 软件解压缩启动方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101256501A true CN101256501A (zh) | 2008-09-03 |
Family
ID=39891347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008103011854A Pending CN101256501A (zh) | 2008-04-18 | 2008-04-18 | 软件解压缩启动方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101256501A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102131120A (zh) * | 2011-01-27 | 2011-07-20 | 广东九联科技股份有限公司 | 一种机顶盒启动方法及其系统 |
CN102609274A (zh) * | 2011-01-21 | 2012-07-25 | 青岛海信电器股份有限公司 | 一种系统快速启动运行方法及电视机 |
CN104679592A (zh) * | 2013-12-02 | 2015-06-03 | 北京兆易创新科技股份有限公司 | 一种微控制单元mcu中资源动态分配的方法和系统 |
CN105677348A (zh) * | 2016-01-04 | 2016-06-15 | 青岛海信信芯科技有限公司 | 一种boot程序的存储方法及装置、启动方法及装置 |
-
2008
- 2008-04-18 CN CNA2008103011854A patent/CN101256501A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609274A (zh) * | 2011-01-21 | 2012-07-25 | 青岛海信电器股份有限公司 | 一种系统快速启动运行方法及电视机 |
CN102131120A (zh) * | 2011-01-27 | 2011-07-20 | 广东九联科技股份有限公司 | 一种机顶盒启动方法及其系统 |
CN104679592A (zh) * | 2013-12-02 | 2015-06-03 | 北京兆易创新科技股份有限公司 | 一种微控制单元mcu中资源动态分配的方法和系统 |
CN105677348A (zh) * | 2016-01-04 | 2016-06-15 | 青岛海信信芯科技有限公司 | 一种boot程序的存储方法及装置、启动方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102479098B (zh) | 使用快照图像的引导设备和方法 | |
CN103077043B (zh) | 一种快速启动及运行Linux的方法 | |
CN102708064A (zh) | 从休眠中多阶段恢复 | |
CN101639782A (zh) | 基于嵌入式操作系统的系统引导载入方法 | |
CN103177077B (zh) | 一种apk文件的存储及输出方法 | |
CN103645920A (zh) | 一种嵌入式系统程序烧录方法及系统 | |
CN105975311A (zh) | 一种应用启动方法及装置 | |
CN110673853A (zh) | 一种编译方法、装置及系统 | |
CN101256501A (zh) | 软件解压缩启动方法 | |
CN102141923A (zh) | 内存文件系统加载方法及装置 | |
CN105677348A (zh) | 一种boot程序的存储方法及装置、启动方法及装置 | |
CN103761107A (zh) | 软件包定制的装置及方法 | |
CN102314365A (zh) | 一种安装包制作方法和工具 | |
CN111045686A (zh) | 一种提高应用反编译速度的方法、智能终端及存储介质 | |
CN112783558B (zh) | 一种加快Linux内核启动的自解压阶段的方法 | |
CN105159716A (zh) | 一种存储器件初始化方法和电子设备 | |
CN102419753A (zh) | 信息处理设备、信息处理方法和信息处理系统 | |
CN105573796A (zh) | 用于fpga的功能切换的方法及装置 | |
CN109313562A (zh) | 用于nand存储设备的抢占式解压调度 | |
CN107124446A (zh) | 应用程序下载方法、服务器及终端 | |
CN104598278A (zh) | 一种数据处理方法及电子设备 | |
CN101140521A (zh) | Boot软件引导app软件的方法和装置 | |
CN103942051A (zh) | 基于paas平台的应用部署方法和装置 | |
CN101577143A (zh) | 文件存储方法、装置及系统 | |
CN101482825A (zh) | 自启动模块及其实现方法,单板和单板自启动方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20080903 |