CN101354660B - 嵌入式软件程序的运行方法、装置及其*** - Google Patents
嵌入式软件程序的运行方法、装置及其*** Download PDFInfo
- Publication number
- CN101354660B CN101354660B CN 200810222250 CN200810222250A CN101354660B CN 101354660 B CN101354660 B CN 101354660B CN 200810222250 CN200810222250 CN 200810222250 CN 200810222250 A CN200810222250 A CN 200810222250A CN 101354660 B CN101354660 B CN 101354660B
- Authority
- CN
- China
- Prior art keywords
- data
- storage space
- storing
- data identification
- identification
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000010586 diagram Methods 0.000 description 9
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种嵌入式软件程序的运行方法,包括:在嵌入式软件程序运行过程中,当需加载数据时,根据需加载的数据的数据标识,在存储有需加载的数据的存储空间中获取与该数据标识对应的数据,所述存储空间与存储所述程序的存储空间为物理上独立的存储空间;将获取的所述数据加载到所述程序中。本发明实施例还提供了一种嵌入式软件程序的运行装置及其***。采用本发明提供的方案能够解决现有技术中将程序运行时需要加载的数据直接写入到程序中,从而导致程序占用运行程序的***的存储空间较大的问题。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种嵌入式软件程序的运行方法、装置及其***。
背景技术
在进行嵌入式软件程序的开发时,除了涉及到程序本身的数据外,还会涉及到大量在程序运行时需要加载的数据,由于一般的嵌入式软件程序不提供动态加载数据的运行模式,所以在程序的运行过程中,就不能按照动态加载数据的方式来运行加载的数据,而是只能按照把程序运行时需要加载的数据直接写入到程序中的方式,以实现对数据的加载。
由于运行嵌入式软件程序的***自身的存储空间较小,从而采用上述将程序运行时需要使用的加载数据直接写入到程序中的方式,编写出的程序将会占用运行嵌入式软件程序的***较大比例的存储空间,因此会导致运行嵌入式软件程序的***自身的存储资源比较紧张。
发明内容
本发明实施例提供一种嵌入式软件程序的运行方法,用以解决现有技术中将程序运行时需要加载的数据直接写入到程序中,从而导致程序占用运行程序的***的存储空间较大的问题。
对应的,本发明实施例还提供一种嵌入式软件程序的运行装置及其***。
为此,本发明实施例采用以下技术方案:
一种嵌入式软件程序的运行方法,包括:
在嵌入式软件程序运行过程中,当需加载数据时,根据所述数据的数据标识,在存储有需加载的数据的存储空间中获取与该数据标识对应的数据,所述存储空间与存储所述程序的存储空间为物理上独立的存储空间,其中,根据需加载的数据的数据标识时,在数据标识与需加载的数据的存储地址的对应关系中,查找与所述数据标识对应的存储地址,根据查找到的存储地址,在存储有需加载的数据的存储空间中,获取与该数据标识对应的数据;将获取的所述数据加载到所述程序中。
一种嵌入式软件程序的运行装置,包括获取单元,用于在嵌入式软件程序运行过程中,当需加载数据时,根据需加载的数据的数据标识,在存储有需加载的数据的存储空间中获取与该数据标识对应的数据,所述存储空间与存储所述程序的存储空间为物理上独立的存储空间,其中,根据需加载的数据的数据标识时,在数据标识与需加载的数据的存储地址的对应关系中,查找与所述数据标识对应的存储地址,根据查找到的存储地址,在存储有需加载的数据的存储空间中,获取与该数据标识对应的数据;加载单元,用于将获取单元获取的所述数据加载到所述程序中。
一种嵌入式软件程序的运行***,包括嵌入式软件程序的运行装置以及存储有所述程序需加载的数据的存储空间,所述存储空间与存储所述程序的存储空间为物理上独立的存储空间,其中所述装置包括获取单元,用于在嵌入式软件程序运行过程中,当需加载数据时,根据需加载的数据的数据标识,在所述存储有需加载的数据的存储空间中获取与该数据标识对应的数据,其中,根据需加载的数据的数据标识时,在数据标识与需加载的数据的存储地址的对应关系中,查找与所述数据标识对应的存储地址,根据查找到的存储地址,在存储有需加载的数据的存储空间中,获取与该数据标识对应的数据;加载单元,用于将获取单元获取的所述数据加载到所述程序中。
本发明实施例提供的嵌入式软件程序的运行方案,通过程序在运行过程中需加载数据时,根据需加载的数据对应的数据标识,在和存储有程序的存储空间物理上相互独立的存储空间中获取与数据标识对应的需加载的数据,并将获取的所述数据加载到所述程序中,从而避免了将程序中需加载的数据写入到程序中,而是在程序需要运行该需加载的数据时,才从对应的存储空间中获取并加载所述数据,从而使得程序本身占用的存储空间变得较小。
附图说明
图1为本发明实施例提供的一种嵌入式软件程序的运行方法的具体流程示意图;
图2为本发明实施例中根据数据标识在存储有需加载的数据的存储空间中,获取与该数据标识对应的数据的具体流程示意图;
图3为本发明实施例中根据查找到的存储地址,在存储有需加载的数据的存储空间中,获取与该数据标识对应的数据的具体流程示意图;
图4为本发明实施例提供的一种嵌入式软件程序的运行装置具体结构示意图;
图5为本发明实施例提供的一种嵌入式软件程序的运行***的具体结构示意图。
具体实施方式
本发明实施例提供一种嵌入式软件程序的运行方法,当需加载数据时,根据需加载的数据的数据标识,从与存储所述程序的存储空间物理上独立的存储空间中获取与该数据标识对应的数据,并将获取的数据加载到所述程序中,从而避免了现有技术中需加载的数据是直接写入到嵌入式软件程序中,从而导致程序占用运行程序的***的存储空间较大的问题。
下面结合各个附图对本发明实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细的阐述。
如图1所示,为本发明实施例提供的一种嵌入式软件程序的运行方法的具体流程示意图,包括:
步骤11,在嵌入式软件程序运行过程中,当需加载数据时,根据需加载的数据的数据标识,在存储有需加载的数据的存储空间中获取与该数据标识对应的数据,其中存储空间与存储所述程序的存储空间为物理上独立的存储空间;
步骤12,将获取的所述数据加载到所述程序中。
在步骤11中,以用于开发便携式多媒体播放器(PMP,Portable MultimediaPlayer)项目的嵌入式软件程序为例,其中存储该嵌入式软件程序的存储空间与存储该程序所需加载的数据的存储空间在物理上是相互独立的。其中,嵌入式软件程序是存储在嵌入式***内部的存储空间中,而存储所述需加载的数据的存储空间则可以为嵌入式***外部的非易失闪存存储器(NAND Flash)。
当需加载的数据要存储到NAND Flash中时,首先判断NAND Flash中各个存储块是否都能使用,如果判断发现有的存储块为不能使用的坏存储块,则后续不再将需加载的数据存储到被判断为不能使用的存储块中。在判断结果确定出所有能使用的好的存储块后,考虑到如果长期读写NAND Flash中的同一块存储块会减少NAND Flash的使用寿命的问题,因此,可以进一步确定各个好的存储块的使用次数,并根据确定的次数,优先选择使用次数较少的存储块对需加载的数据进行存储。
在上述步骤11中根据该数据标识,在存储有需加载的数据的存储空间中获取与该数据标识对应的数据的具体流程示意图如图2所示,包括:
步骤21,根据所述数据标识,在数据标识与需加载的数据的存储地址的对应关系中,查找与所述数据标识对应的存储地址;
步骤22,根据查找到的存储地址,在存储有需加载的数据的存储空间中,获取与该数据标识对应的数据。
在上述的步骤22中,数据标识与需加载的数据的存储地址的对应关系可由下表表示,该表中除了存储数据标识与需加载的数据的存储地址外,还可以存储需加载的数据所占用的存储空间的大小等信息:
表1:
数据标识 | 存储地址 | 存储空间的大小 |
... | ... | ... |
... | ... | ... |
以用于开发便携式多媒体播放器PMP项目的嵌入式软件程序为例,该表在所述程序中占用的空间非常小,一般在1kB以内,因此,在程序中增加如表1这样的用于指示所述对应关系的存储结构,对整个程序占用存储空间的大小基本上不会造成什么影响。需要说明的是,如果需加载的数据的数据标识被设置为与该数据的存储空间直接对应,也可以直接根据该数据标识确定该数据的存储空间,而不需要从上述的对应关系中查找存储地址。
在上述步骤22中根据查找到的存储地址,在存储有需加载的数据的存储空间中,获取与该数据标识对应的数据的具体流程示意图如图3所示,包括:
步骤31,根据查找到的存储地址,在存储有需加载的数据的存储空间中,获取与该数据标识对应的第一部分数据和地址偏移值;
步骤32,根据所述获取的地址偏移值指示的下一存储地址,在存储有需加载的数据的存储空间中,获取与该数据标识对应的第二部分数据,以此类推直至获取到与该数据标识对应的所有数据。
具体地,同样以用于开发PMP项目的嵌入式软件程序为例,当数据存储到NAND Flash中时,如果需加载的数据的数据量较大,则NAND Flash中一块存储块的存储空间大小不能满足需加载的数据的存储空间需求,因此,存储该需加载的数据至少需要两个存储块,且这两个存储块有可能不相邻。在这种情况下,由于需加载的数据的数据标识只与存储第一部分数据的存储空间相对应,因此,就需要在存储第一部分数据的存储空间中,存储第二部分数据的存储块的地址偏移值,比如,可以在NAND Flash的存储块中的最后64个字节中记录该地址偏移值,这样,后续就能够根据获取到的地址偏移值指示的下一存储地址,在存储有第二部分数据的存储块中的对应位置上,获取与所述数据标识对应的第二部分数据,以此类推,直至获取到与该数据标识对应的所有需加载的数据。
相应地,本发明实施例提供一种嵌入式软件程序的运行装置,用以解决现有技术中将需加载的数据直接写入到嵌入式软件程序中,而导致的程序占用运行程序的***的存储空间较大的问题。本发明实施例提供的该装置的具体结构示意图如图4所示,包括:
获取单元41,用于在嵌入式软件程序运行过程中,当需加载数据时,根据需加载的数据的数据标识,在存储有需加载的数据的存储空间中获取与该数据标识对应的数据,所述存储空间与存储所述程序的存储空间为物理上独立的存储空间;
加载单元42,用于将获取单元41获取的所述数据加载到所述程序中。
其中,获取单元41可以具体包括:
查找模块411,用于在嵌入式软件程序运行过程中,当需加载数据时,根据需加载的数据的数据标识,在数据标识与需加载的数据的存储地址的对应关系中,查找与所述数据标识对应的存储地址;获取模块412,用于根据查找模块411查找到的存储地址,在存储有需加载的数据的存储空间中,获取与该数据标识对应的数据。如果需加载的数据的数据标识被设置为与该数据的存储空间直接对应,也可以直接根据该数据标识确定该数据的存储空间,而不需要对存储地址进行查找。
较佳地,获取模块412可以根据查找到的存储地址,在存储有需加载的数据的存储空间中,获取与该数据标识对应的第一部分数据和地址偏移值;以及根据所述获取的地址偏移值指示的下一存储地址,在存储有需加载的数据的存储空间中,获取与该数据标识对应的第二部分数据,以此类推直至获取到与该数据标识对应的所有数据。
此外,本发明实施例还提供一种嵌入式软件程序的运行***,其具体结构如图5所示,包括嵌入式软件程序的运行装置51,以及存储有所述程序需加载的数据的存储空间52,存储空间52与存储所述程序的存储空间为物理上独立的存储空间。
其中,嵌入式软件程序的运行装置51具体包括:获取单元511,用于在嵌入式软件程序运行过程中,当需加载数据时,根据需加载的数据的数据标识,在存储空间52中获取与该数据标识对应的数据;加载单元512,用于将获取单元511获取的数据加载到所述程序中。
以用于PMP项目的嵌入式软件程序为例,上述的存储空间52可以为嵌入式***外部的NAND Flash,当需加载的数据要存储到NAND Flash中时,首先判断NAND Flash中各个存储块是否都能使用,如果判断发现有的存储块为不能使用的坏存储块,则后续不再将需加载的数据存储到被判断为不能使用的存储块中。在判断结果确定出所有能使用的好的存储块后,考虑到如果长期读写NAND Flash中的同一块存储块会减少NAND Flash的使用寿命的问题,因此,可以进一步确定各个好的存储块的使用次数,并根据确定的次数,优先选择使用次数较少的存储块,对需加载的数据进行存储。
较佳地,上述的获取单元511具体包括:查找模块5111,用于在嵌入式软件程序运行过程中,当需加载数据时,根据需加载的数据的数据标识,在数据标识与需加载的数据的存储地址的对应关系中,查找与所述数据标识对应的存储地址;
获取模块5112,用于根据查找模块5111查找到的存储地址,在存储有需加载的数据的存储空间52中,获取与该数据标识对应的数据。
其中,获取模块5112根据查找到的存储地址,在存储有需加载的数据的存储空间52中,获取与该数据标识对应的第一部分数据和地址偏移值;以及根据所述获取的地址偏移值指示的下一存储地址,在存储有需加载的数据的存储空间52中,获取与该数据标识对应的第二部分数据,以此类推直至获取到与该数据标识对应的所有数据。
具体地,同样以用于开发PMP项目的嵌入式软件程序为例,当需加载的数据存储到NAND Flash中时,如果该数据的数据量较大,则NAND Flash中一块存储块的存储空间大小不能满足需加载的数据的存储空间需求,因此,存储该需加载的数据至少需要两个存储块,且这两个存储块有可能不相邻。在这种情况下,由于需加载的数据的数据标识只与存储第一部分数据的存储空间相对应,因此,就需要在存储第一部分数据的存储空间中,存储第二部分数据的存储块的地址偏移值,比如,可以在NAND Flash的存储块中的最后64个字节中记录该地址偏移值,这样,后续就能够据获取到的地址偏移值指示的下一存储地址,在存储有第二部分数据的存储块中的对应位置上,获取与所述数据标识对应的第二部分数据,以此类推,直至获取到与该数据标识对应的所有需加载的数据。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (6)
1.一种嵌入式软件程序的运行方法,其特征在于,包括:
在嵌入式软件程序运行过程中,当需加载数据时,根据所述数据的数据标识,在存储有需加载的数据的存储空间中获取与该数据标识对应的数据,所述存储空间与存储所述程序的存储空间为物理上独立的存储空间,其中,根据所述数据标识,在数据标识与需加载的数据的存储地址的对应关系中,查找与所述数据标识对应的存储地址,根据查找到的存储地址,在存储有需加载的数据的存储空间中,获取与该数据标识对应的数据;
将获取的所述数据加载到所述程序中。
2.如权利要求1所述的方法,其特征在于,根据查找到的存储地址,在存储有需加载的数据的存储空间中获取与该数据标识对应的数据,具体包括:
根据查找到的存储地址,在存储有需加载的数据的存储空间中,获取与该数据标识对应的第一部分数据和地址偏移值;
根据所述获取的地址偏移值指示的下一存储地址,在存储有需加载的数据的存储空间中,获取与该数据标识对应的第二部分数据,以此类推直至获取到与该数据标识对应的所有数据。
3.一种嵌入式软件程序的运行装置,其特征在于,包括:
获取单元,用于在嵌入式软件程序运行过程中,当需加载数据时,根据需加载的数据的数据标识,在存储有需加载的数据的存储空间中获取与该数据标识对应的数据,所述存储空间与存储所述程序的存储空间为物理上独立的存储空间,其中,根据需加载的数据的数据标识,在数据标识与需加载的数据的存储地址的对应关系中,查找与所述数据标识对应的存储地址,根据查找到的存储地址,在存储有需加载的数据的存储空间中,获取与该数据标识对应的数据;
加载单元,用于将获取单元获取的所述数据加载到所述程序中。
4.如权利要求3所述的装置,其特征在于,所述获取单元根据查找到的存储地址,在存储有需加载的数据的存储空间中,获取与该数据标识对应的第一部分数据和地址偏移值;以及根据所述获取的地址偏移值指示的下一存储地址,在存储有需加载的数据的存储空间中,获取与该数据标识对应的第二部分数据,以此类推直至获取到与该数据标识对应的所有数据。
5.一种嵌入式软件程序的运行***,其特征在于,包括嵌入式软件程序的运行装置以及存储有所述程序需加载的数据的存储空间,所述存储空间与存储所述程序的存储空间为物理上独立的存储空间,其中所述装置包括:
获取单元,用于在嵌入式软件程序运行过程中,当需加载数据时,根据需加载的数据的数据标识,在所述存储有需加载的数据的存储空间中获取与该数据标识对应的数据,其中,根据需加载的数据的数据标识时,在数据标识与需加载的数据的存储地址的对应关系中,查找与所述数据标识对应的存储地址,根据查找到的存储地址,在存储有需加载的数据的存储空间中,获取与该数据标识对应的数据;
加载单元,用于将获取单元获取的所述数据加载到所述程序中。
6.如权利要求5所述的***,其特征在于,所述获取单元根据查找到的存储地址,在存储有需加载的数据的存储空间中,获取与该数据标识对应的第一部分数据和地址偏移值;以及根据所述获取的地址偏移值指示的下一存储地址,在存储有需加载的数据的存储空间中,获取与该数据标识对应的第二部分数据,以此类推直至获取到与该数据标识对应的所有数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810222250 CN101354660B (zh) | 2008-09-12 | 2008-09-12 | 嵌入式软件程序的运行方法、装置及其*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810222250 CN101354660B (zh) | 2008-09-12 | 2008-09-12 | 嵌入式软件程序的运行方法、装置及其*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101354660A CN101354660A (zh) | 2009-01-28 |
CN101354660B true CN101354660B (zh) | 2013-07-24 |
Family
ID=40307479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200810222250 Expired - Fee Related CN101354660B (zh) | 2008-09-12 | 2008-09-12 | 嵌入式软件程序的运行方法、装置及其*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101354660B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102135892B (zh) * | 2010-01-22 | 2015-03-04 | 广州华多网络科技有限公司 | 应用程序运行方法、装置及*** |
JP6223001B2 (ja) | 2013-06-06 | 2017-11-01 | キヤノン株式会社 | 画像処理装置、その制御方法、及びプログラム |
CN104202442A (zh) * | 2014-09-12 | 2014-12-10 | 北京奇虎科技有限公司 | 加载数据的方法、设备及*** |
CN113031996A (zh) * | 2021-03-17 | 2021-06-25 | 歌尔科技有限公司 | 一种电子设备的ota升级方法、装置、控制终端及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6421824B1 (en) * | 1999-04-23 | 2002-07-16 | Sun Microsystems, Inc. | Method and apparatus for producing a sparse interference graph |
CN1403918A (zh) * | 2001-09-05 | 2003-03-19 | 联想(北京)有限公司 | 在线帮助的实现方法 |
CN1622057A (zh) * | 2004-12-31 | 2005-06-01 | 北京中星微电子有限公司 | 扩展存储空间的存取方法及其存取装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100589104C (zh) * | 2008-01-25 | 2010-02-10 | 中兴通讯股份有限公司 | 一种嵌入式***中图片资源加载的方法及装置 |
-
2008
- 2008-09-12 CN CN 200810222250 patent/CN101354660B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6421824B1 (en) * | 1999-04-23 | 2002-07-16 | Sun Microsystems, Inc. | Method and apparatus for producing a sparse interference graph |
CN1403918A (zh) * | 2001-09-05 | 2003-03-19 | 联想(北京)有限公司 | 在线帮助的实现方法 |
CN1622057A (zh) * | 2004-12-31 | 2005-06-01 | 北京中星微电子有限公司 | 扩展存储空间的存取方法及其存取装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101354660A (zh) | 2009-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190138445A1 (en) | Mapping table updating method, memory control circuit unit and memory storage device | |
US8417872B2 (en) | Write and merge methods in memory card systems for reducing the number of page copies | |
US20170322727A1 (en) | Trim command processing method, memory control circuit unit and memory storage apparatus | |
US20060106984A1 (en) | Methods and apparatus for efficient memory usage | |
CN106776359B (zh) | 一种NAND Flash坏块管理方法及*** | |
US8892812B2 (en) | Flash memory device and data writing method for a flash memory | |
CN105242871A (zh) | 一种数据写入方法及装置 | |
CN101908023A (zh) | NandFlash存储器中数据存储方法 | |
US20100050007A1 (en) | Solid state disk and method of managing power supply thereof and terminal including the same | |
CN102508787A (zh) | 混合结构内存的内存分配***及方法 | |
CN110489052B (zh) | 数据储存装置 | |
CN101625897B (zh) | 用于快闪存储器的数据写入方法、储存***与控制器 | |
CN103942159A (zh) | 一种基于混合存储设备的数据读写方法与装置 | |
CN101556555B (zh) | 用于闪存的区块管理方法、其控制器与储存*** | |
CN104317739A (zh) | 一种混合内存页面调度方法及装置 | |
CN103823642A (zh) | 用于Flash均衡存储的方法及*** | |
US20110264847A1 (en) | Data Writing Method and Data Storage Device | |
CN101354660B (zh) | 嵌入式软件程序的运行方法、装置及其*** | |
CN112596668A (zh) | 一种存储器的坏块处理方法及*** | |
CN101105752A (zh) | 嵌入式***利用nand闪存记忆体储存及启动的处理方法 | |
CN102135943A (zh) | 闪存数据的存储、访问方法及装置 | |
CN114036079B (zh) | 映射表压缩方法、***、存储器控制器、固态硬盘及数据读取方法 | |
CN108733576B (zh) | 一种固态硬盘及其内存转换层对映方法 | |
US8209464B2 (en) | Management method, management apparatus, and controller for memory data access | |
US8966159B2 (en) | Flash storage device and data writing method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130724 Termination date: 20140912 |
|
EXPY | Termination of patent right or utility model |