一种共用内存的方法、装置、存储介质及计算机设备制造方法及图纸

技术编号:37541952 阅读:22 留言:0更新日期:2023-05-12 16:10
本发明专利技术公开一种共用内存的方法,所述方法包括:将数据存放在flash中;设置执行代码统一访问的地址;在使用所述数据的情况下,将所述地址当做指针传给所述执行代码,所述执行代码按照指令获取第一地址的第一数据;在对获取的所述第一数据进行运算的情况下,将运算结果保存到内存里,并提供给后续使用;本实施例提供的方案属于嵌入式软件在内存资源比较紧张的情况下,编写代码时,可以采用共用内存的方法,在较少的内存情况下可以实现更大的数据处理,并且减少代码的执行时间。并且减少代码的执行时间。并且减少代码的执行时间。

【技术实现步骤摘要】
一种共用内存的方法、装置、存储介质及计算机设备


[0001]本专利技术涉及数据处理
,特别涉及一种共用内存的方法、装置、存储介质及计算机设备。

技术介绍

[0002]现在物联网应用非常广泛,需要使用很多嵌入式的硬件和软件系统,因为数量非常大,对成本也要求比较高,所以往往选择内存比较小的芯片来减少成本,但是软件功能因为应用要求又会比较多,也会对内存的需求量要求比较大,从而出现了成本和功能需求的矛盾,这就对软件设计在内存使用效率上有更高的要求。
[0003]现在已经有很多压缩内存、精简数据内容等办法来减少内存的使用。而本专利技术提出了一种共用内存的设计方法,这种共用内存是将flash(闪存)映射到RAM(内存)地址,这样可以把代码中的常量数据只保留在flash中,不用拷贝到内存里,以减少内存的使用量,还减少代码执行时间。

技术实现思路

[0004]本专利技术提供一种共用内存的方法、装置、存储介质及计算机设备,能够在较少的内存情况下可以实现更大的数据处理,并且减少代码的执行时间。其具体技术方案如下。
[0005]根据本申请的一个方面,提供一种共用内存的方法,所述方法包括:将数据存放在flash中;设置执行代码统一访问的地址;在使用所述数据的情况下,将所述地址当做指针传给所述执行代码,所述执行代码按照指令获取第一地址的第一数据;在对获取的所述第一数据进行运算的情况下,将运算结果保存到内存里,并提供给后续使用。
[0006]进一步地,所述将数据存放在flash中,包括:在写入代码的情况下,所述数据随所述代码一起写入存放在所述flash中;或,在初始化时,将所述数据写入存放在所述flash中。
[0007]进一步地,所述设置执行代码统一访问的地址,包括:设置所述数据和所述地址的对应关系;所述数据包括所述第一数据,所述地址包括所述第一地址。
[0008]进一步地,所述在使用所述数据的情况下,将所述地址当做指针传给所述执行代码,所述执行代码按照指令获取第一地址的第一数据,包括:在使用所述数据的情况下,处理器通过第一地址从所述flash中分别获取代码常量区中的代码以及数据区中的数据进行运算。
[0009]进一步地,所述处理器从所述flash中分别获取代码常量区中的代码以及数据区中的数据进行运算后,所述在对获取的所述第一数据进行运算的情况下,将运算结果保存
到内存里,并提供给后续使用,包括:将运算后的代码结果以及运算后的所述第一数据的运算结果分别存储在所述内容中。
[0010]根据本申请的另一个方面,提供一种共用内存的装置,所述装置包括:写入模块,用于将数据存放在flash中;设置模块,用于设置执行代码统一访问的地址;数据获取模块,用于在使用所述数据的情况下,将所述地址当做指针传给所述执行代码,所述执行代码按照指令获取第一地址的第一数据;运算模块,用于在对获取的所述第一数据进行运算的情况下,将运算结果保存到内存里,并提供给后续使用。
[0011]根据本申请的另一个方面,提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的共用内存的方法。
[0012]根据本申请的另一个方面,提供一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的共用内存的方法。
[0013]综上所述,本专利技术的有益技术效果为:本实施例提供的方案属于嵌入式软件在内存资源比较紧张的情况下,编写代码时,可以采用共用内存的方法,在较少的内存情况下可以实现更大的数据处理,并且减少代码的执行时间。
附图说明
[0014]附图用来提供对本专利技术的进一步理解,并且构成说明书的一部分,与本专利技术的实施例一起用于解释本专利技术,并不构成对本专利技术的限制。在附图中:图 1 示出了本申请实施例提供的共用内存的方法的流程示意图;图 2 示出了本申请实施例提供的共用内存的方法的另一流程示意图;图 3 示出了本申请实施例提供的共用内存的装置的结构示意图。
实施方式
[0015]在本专利技术的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本专利技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制。
[0016]此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本专利技术的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
[0017]在本专利技术中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机
械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本专利技术中的具体含义。
[0018]下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0019]现有代码一般都是把常量复制到内存中使用,会占用比较多的内存空间,而且在复制的过程中还额外花费较多的执行时间。本专利技术是将常量的地址直接映射到数据空间,直接使用那些常量数据,省去了复制的过程,节省了执行时间,也节约了内存空间。
[0020]如图1所示,在本专利技术提供的一些可实现的实施例中,提供一种共用内存的方法,所述方法包括:将数据存放在flash中;设置执行代码统一访问的地址;在使用所述数据的情况下,将所述地址当做指针传给所述执行代码,所述执行代码按照指令获取第一地址的第一数据;在对获取的所述第一数据进行运算的情况下,将运算结果保存到内存里,并提供给后续使用。
[0021]在本专利技术实施例中,flash是指FLASH闪存,FLASH闪存是属于内存器件的一种,"Flash"。闪存则是一种非易失性( Non

Volatile )内存,在没有电流供应的条件下也能够长久地保持数据,其存储特性相当于硬盘,这项特性正是闪存得以成为各类便携型数字设备的存储介质的基础。
[0022]在本专利技术实施例中,地址是指代码地址;指针是指内存地址。
[0023]在本专利技术实施例中,第一地址属于地址中的一种,第一数据属于数据的一种。
[0024]在本专利技术实施例中,内存(Memory)是计算机的重要部件,也称内存储器和主存储器,它用于暂时存放处理器中的运算数据,以及与硬盘等外部存储器交换的数据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种共用内存的方法,其特征在于,所述方法包括:将数据存放在flash中;设置执行代码统一访问的地址;在使用所述数据的情况下,将所述地址当做指针传给所述执行代码,所述执行代码按照指令获取第一地址的第一数据;在对获取的所述第一数据进行运算的情况下,将运算结果保存到内存里,并提供给后续使用。2.根据权利要求1所述的共用内存的方法,其特征在于,所述将数据存放在flash中,包括:在写入代码的情况下,所述数据随所述代码一起写入存放在所述flash中;或,在初始化时,将所述数据写入存放在所述flash中。3.根据权利要求1所述的共用内存的方法,其特征在于,所述设置执行代码统一访问的地址,包括:设置所述数据和所述地址的对应关系;所述数据包括所述第一数据,所述地址包括所述第一地址。4.根据权利要求1所述的共用内存的方法,其特征在于,所述在使用所述数据的情况下,将所述地址当做指针传给所述执行代码,所述执行代码按照指令获取第一地址的第一数据,包括:在使用所述数据的情况下,处理器通过第一地址从所述flash中分别获取代码常量区中的代码以及数据区中的数据进行运算。5.根据...

【专利技术属性】
技术研发人员:张向涛张德创苏胡双何鹏许明伟
申请(专利权)人:深圳亿万商网络科技有限公司
类型:发明
国别省市:

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

1