存储器定位方法、装置、计算机装置及计算机可读存储介质制造方法及图纸

技术编号:20655029 阅读:23 留言:0更新日期:2019-03-23 06:45
本发明专利技术涉及存储器技术领域,公开了一种存储器定位方法、装置、计算机装置及计算机存储介质。所述存储器定位方法,包括:定义结构体,将待存储数据输入到所述结构体中;确定存储器的起始存储地址;根据所述存储器的起始存储地址,获取所述待存储数据在所述结构体中的偏移位置;利用所述待存储数据在所述结构体中偏移位置,确认所述待存储数据的实际存储地址,以根据所述实际存储地址执行所述待存储数据的读出或者写入操作。本发明专利技术实施例中的存储器定位方法有效提高了存储地址计算的准确率,同时提高了存储器操作的准确度。

【技术实现步骤摘要】
存储器定位方法、装置、计算机装置及计算机可读存储介质
本专利技术涉及存储器
,尤其涉及一种存储器定位方法、装置、计算机装置及计算机可读存储介质
技术介绍
存储器(Memory)是现代信息技术中用于保存信息的记忆设备,在实际的项目应用中,我们经常用到存储器,比如EEPROM(E2)、FLASH、RAM等。目前有些存储器是MCU自带的,也有一些是需要外扩的。在进行存储器的读写操作过程时,就会涉及到具体的地址空间规划和计算。现有技术中,存储器在进行数据存储时,需要用户预先知道存储器的地址,并通过该地址读出或者写入该存储数据,由于需要用户预先知道地址,需要进行人工计算出地址,然而,实施本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:手动计算容易出错,导致存储地址错误,并且当变量较多时,即存储数据的字节较多时,目标地址不易计算,且存在内存对齐的问题,导致容易操作存储器出错。
技术实现思路
本专利技术提供一种存储器定位方法,旨在解决现有技术中手动计算容易出错,导致存储地址错误,并且当变量较多时,即存储数据的字节较多时,目标地址不易计算,且存在内存对齐的问题,导致容易操作存储器出错的技术问题。本专利技术是这样实现的,一种存储器定位方法,所述方法包括:定义结构体,将待存储数据输入到所述结构体中;确定存储器的起始存储地址;根据所述存储器的起始存储地址,获取所述待存储数据在所述结构体中的偏移位置;利用所述待存储数据在所述结构体中偏移位置,确认所述待存储数据的实际存储地址,以根据所述实际存储地址执行所述待存储数据的读出或者写入操作。本专利技术还提供一种存储器定位装置,所述装置包括:结构体定义单元,用于定义结构体,将待存储数据输入到所述结构体中;起始存储地址确定单元,用于确定存储器的起始存储地址;偏移位置获取单元,用于根据所述存储器的起始存储地址,获取所述待存储数据在所述结构体中的偏移位置;实际存储地址确认单元,用于利用所述待存储数据在所述结构体中偏移位置,确认所述待存储数据的实际存储地址,以根据所述实际存储地址执行所述待存储数据的读出或者写入操作。本专利技术还提供一种计算机装置,所述服务器包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如上所述方法的步骤。本专利技术还提供一种计算机可读存储介质,其上存储有计算机程序(指令),其特征在于,所述计算机程序(指令)被处理器执行时实现如上所述方法的步骤。本专利技术实施例中的一种存储器定位方法,通过所述存储器的起始存储地址,获取待存储数据在结构体中的偏移位置;再利用待存储数据在结构体中偏移位置,确认待存储数据的实际存储地址,以进行后续的读写操作。本专利技术实施例只需要把想要存储到存储器的存储数据输入到结构体中,再利用存储器的宏定义,就能自动的计算出该存储数据在存储器中的实际存储地址,以进行后续的读写操作,有效提高了存储地址计算的准确率,同时提高了存储器操作的准确度。附图说明图1是本专利技术实施例提供的一种存储器定位方法的流程示意图;图2是本专利技术实施例提供的结构体地址映射到存储器地址空间的示意图;图3是本专利技术实施例提供的结构体地址用软件分配的地址的示意图;图4是本专利技术实施例提供的一种存储器定位装置的结构示意图。具体实施方式下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。以下实施例用于说明本专利技术,但不用来限制本专利技术的范围。本专利技术实施例中的一种存储器定位方法,通过所述存储器的起始存储地址,获取待存储数据在结构体中的偏移位置;再利用待存储数据在结构体中偏移位置,确认待存储数据的实际存储地址,以进行后续的读写操作。本专利技术实施例只需要把想要存储到存储器的存储数据输入到结构体中,再利用存储器的宏定义,就能自动的计算出该存储数据在存储器中的实际存储地址,以进行后续的读写操作,有效提高了存储地址计算的准确率,同时提高了存储器操作的准确度。在本专利技术实施例中,优选的存储器为E2存储器,且在下文中针对E2存储器阐述如何用结构体偏移的方法来计算E2存储器的地址,当然,可以理解的是,所述存储器计算方法同样适用于其他存储器,例如半导体存储器、磁表面存储器、随机存储器、顺序存储器、只读存储器(ROM)随机读写存储器(RAM)、半导体存储器、非永久记忆的存储器、永久记忆性存储器、主存储器、辅助存储器、高速缓冲存储器、控制存储器等,具体不做限定。图1示出了本专利技术实施例中的一种存储器定位方法的流程示意图,为了便于说明,仅示出了与本专利技术有关的部分。所述存储器定位方法,包括:步骤S11,定义结构体,将待存储数据输入到所述结构体中;在本专利技术实施例中,所述待存储数据可为待存储变量或者结构体。在本专利技术实施例中,所述结构体只是用来计算所述结构体中的待存储数据的地址偏移,不需要实例化,例如可以采用以下方式构建:typedefstruct{uint32_tapp_addr;uint8_tmd5[16];uint16_tcrc;}tsOTAProp;typedefstruc;{uint32_tvalue;tsOTAPropota_prop;}E2MAP;S12,确定存储器的起始存储地址;在本专利技术实施例中,所述存储器的起始存储地址可以是0,当然,可以理解的是,所述起始存储地址也可以是其他地址,具体不做限定。具体,可以通过如下形式获取起始存储地址:#defineOffsetOfStruct(StructType,member)(uint32_t)(&(((StructType*)0)->member))。S13,根据所述存储器的起始存储地址,获取所述待存储数据在所述结构体中的偏移位置;在本专利技术实施例中,所述根据所述存储器的起始存储地址,获取所述待存储数据在所述结构体中的偏移位置具体为:根据所述待存储数据在所述结构体中的地址与所述存储器的起始地址之间的差值获取所述偏移位置。在本专利技术实施例中,定义结构体后,只需要把想要存储到存储器的存储数据输入到结构体中,再利用存储器的宏定义E2_ADDR,就能自动的计算出位置偏移,有效提高了存储地址计算的准确率,同时提高了存储器操作的准确度。S14,利用所述待存储数据在所述结构体中偏移位置,确认所述待存储数据的实际存储地址,以根据所述实际存储地址执行所述待存储数据的读出或者写入操作。在本专利技术实施例中,具体可通过如下方式对实际地址获取进行说明:首先,获取变量在存储器中的起始存储地址#defineE2_ADDR(x)OffsetOfStruct(E2MAP,x)然后,获取变量在存储器中的实际存储地址,如下:1、获取变量value在存储器中的实际存储地址:Uint32_taddr=E2_ADDR(value);2、获取结构体变量ota_prop在存储器中的实际存储地址:Uint32_taddr=E2_ADDR(ota_prop);3、获取结构体变量ota_prop.crc在存储器中的实际存储地址:Uint32_taddr=E2_ADDR(ota_prop.crc)。如图2所示,作为本专利技术的一个优选实施例,所述待存储数据在所述结构体中的地址为所述存储器的地址的镜像映射,所述实际存储地址为所述偏移位置。作为本专利技术的一个实际应用,首先,通过定义一个结构体,然后,将结构体映射到存储器的起始地址,再根据本文档来自技高网...

【技术保护点】
1.一种存储器定位方法,其特征在于,所述方法包括:定义结构体,将待存储数据输入到所述结构体中;确定存储器的起始存储地址;根据所述存储器的起始存储地址,获取所述待存储数据在所述结构体中的偏移位置;利用所述待存储数据在所述结构体中偏移位置,确认所述待存储数据的实际存储地址,以根据所述实际存储地址执行所述待存储数据的读出或者写入操作。

【技术特征摘要】
1.一种存储器定位方法,其特征在于,所述方法包括:定义结构体,将待存储数据输入到所述结构体中;确定存储器的起始存储地址;根据所述存储器的起始存储地址,获取所述待存储数据在所述结构体中的偏移位置;利用所述待存储数据在所述结构体中偏移位置,确认所述待存储数据的实际存储地址,以根据所述实际存储地址执行所述待存储数据的读出或者写入操作。2.如权利要求1所述的存储器定位方法,其特征在于,所述待存储数据为待存储变量或者结构体。3.如权利要求1所述的存储器定位方法,其特征在于,所述根据所述存储器的起始存储地址,获取所述待存储数据在所述结构体中的偏移位置,包括:根据所述待存储数据在所述结构体中的地址与所述存储器的起始地址之间的差值获取所述偏移位置。4.如权利要求1所述的存储器定位方法,其特征在于,所述待存储数据在所述结构体中的地址为计算机软件自动分配的,所述利用所述待存储数据在所述结构体中偏移位置,确认所述待存储数据的实际存储地址,包括根据所述偏移位置以及所述存储器的起始地址之间的和值,获取所述实际存储地址。5.如权利要求1所述的存储器定位方法,其特征在于,所述待存储数据在所述结构体中的地址为所述存储器的地址的镜像映射,所述实际存储地址为所述偏移位置。6.一种存储器定位装置,其特征在于,所述装置包括:结构体定义单元,用于定义结构体,将待存储数据输入到所述结构体中;起始存储地址确定单元,...

【专利技术属性】
技术研发人员:许静芬
申请(专利权)人:深圳拓邦股份有限公司
类型:发明
国别省市:广东,44

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

1