首页 / 专利库 / 电脑零配件 / 嵌入式系统 / 数据操作方法及其装置、应用、单片机及嵌入式系统

数据操作方法及其装置、应用、单片机嵌入式系统

阅读:895发布:2020-05-11

专利汇可以提供数据操作方法及其装置、应用、单片机嵌入式系统专利检索,专利查询,专利分析的服务。并且本 发明 涉及通信技术领域,特别是涉及一种数据操作方法及其装置、应用、 单片机 及 嵌入式系统 。其中,该数据操作方法包括:在检测到Bank切换操作时,确定第一存储模 块 的第一目标Bank,第一目标Bank存储有加载入第二存储模块中任意一个第二目标Bank的程序或数据;根据第一目标Bank操作所述第二存储模块的第二目标Bank。因此,当第二存储模块重新加载bank的程序或数据时,其可以根据第一存储模块的第一目标Bank的程序或数据灵活配置第二存储模块的第二目标Bank,从而提高切Bank的效率。,下面是数据操作方法及其装置、应用、单片机嵌入式系统专利的具体信息内容。

1.一种数据操作方法,其特征在于,包括:
在检测到Bank切换操作时,确定第一存储模的第一目标Bank,所述第一目标Bank存储有加载入第二存储模块中任意一个第二目标Bank的程序或数据;
根据所述第一目标Bank操作所述第二存储模块的第二目标Bank;
在检测到Bank切换操作时,确定第一存储模块的第一目标Bank之前,所述方法还包括:
于所述第二存储模块中切分共用同一地址空间的若干第二目标Bank;
所述第一目标Bank与所述第二目标Bank的容量皆相等;
所述第二存储模块包括若干公共区与若干Bank区;
每个所述公共区用于存储公共程序及公共代码;
每个所述Bank区包括共用同一地址空间的若干第二目标Bank;
所述根据所述第一目标Bank操作所述第二存储模块的第二目标Bank,包括:
在检测到所述第一目标Bank未加载入所述第二存储模块的第二目标Bank时,将所述第一目标Bank加载入所述第二目标Bank内;
切换所述第二目标Bank 为生效状态;
所述第一存储模块包括随机存取存储器,所述随机存取存储器内置于单片机中,单片机内部的数组记录第二目标Bank 与第一目标Bank 之间的存储关系,根据所述数组是否存储所述存储关系,判断所述第一目标Bank 是否加载入第二目标Bank 。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一目标Bank操作所述第二存储模块的第二目标Bank,还包括:
在检测到所述第一目标Bank已加载入所述第二存储模块的第二目标Bank时,切换所述第二目标Bank 为生效状态。
3.根据权利要求1所述的方法,其特征在于,所述第二存储模块包括具有SPI接口的Flash存储器。
4.一种如权利要求1至3任一项所述的数据操作方法在嵌入式设备中的应用。
5.一种数据操作装置,其特征在于,包括:
确定模块,用于在检测到Bank切换操作时,确定第一存储模块的第一目标Bank,所述第一目标Bank存储有加载入第二存储模块中任意一个第二目标Bank的程序或数据;
操作模块,用于根据所述第一目标Bank操作所述第二存储模块的第二目标Bank;
所述装置还包括:切分模块,用于于所述第二存储模块中切分共用同一地址空间的若干第二目标Bank;
所述第一目标Bank与所述第二目标Bank的容量皆相等;
所述第二存储模块包括若干公共区与若干Bank区;所述公共区用于存储公共程序及公共代码;所述Bank区包括共用同一地址空间的若干第二目标Bank;
所述操作模块,具体用于:
在检测到所述第一目标Bank未加载入所述第二存储模块的第二目标Bank时,将所述第一目标Bank加载入所述第二目标Bank内;切换所述第二目标Bank 为生效状态;
所述第一存储模块包括随机存取存储器,所述随机存取存储器内置于单片机中,单片机内部的数组记录第二目标Bank 与第一目标Bank 之间的存储关系,根据所述数组是否存储所述存储关系,判断所述第一目标Bank 是否加载入第二目标Bank 。
6.一种单片机,其特征在于,包括:
至少一个处理器;以及
分别与所述至少一个处理器通信连接的片内存储器及片外存储器;其中,所述片内存储器及片外存储器皆存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够用于执行如权利要求1至3任一项所述的数据操作方法。
7.一种嵌入式系统,其特征在于,包括:
外围电路装置;
嵌入式装置,其与所述外围电路装置连接;
所述嵌入式装置包括:
至少一个处理器;以及
分别与所述至少一个处理器通信连接的片内存储器及片外存储器;其中,所述片内存储器及片外存储器皆存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够用于执行如权利要求1至3任一项所述的数据操作方法。

说明书全文

数据操作方法及其装置、应用、单片机嵌入式系统

技术领域

[0001] 本发明涉及通信技术领域,特别是涉及一种数据操作方法及其装置、应用、单片机及嵌入式系统。

背景技术

[0002] 电子设备的程序空间往往是有限。例如,8051单片机的程序空间只有64K字节,当8051单片机的程序容量超过64K时,现有的做法是通过代码分页(Code Banking)的方式扩展程序空间,代码分页的原理是将存储空间分成不同的页,通过片选的方式实现程序在不同页的跳转。例如将扩展后的64K程序空间分成32K的公共区和32K的bank区。当需要使用某个bank的程序时,直接将32K的bank区域切换成需要的bank。
[0003] 发明人在实现本发明的过程中,发现现有相关技术至少存在以下区别:现有相关技术在处理外挂的存储器切bank的操作,并且当单个bank区的容量过大时,从外挂的存储器载入该bank需要耗费大量的时间,例如,系统只需要用到bank 3内的1K字节的代码,但是同时也要将整个bank区的32K字节代码载入到内部程序内存中,此种方式会浪费大量时间,造成切bank的效率低下。

发明内容

[0004] 本发明实施例的一个目的旨在提供一种数据操作方法及其装置、应用、单片机及嵌入式系统,其解决了现有技术切bank的效率低下的技术问题。
[0005] 为解决上述技术问题,本发明实施例提供以下技术方案:
[0006] 在第一方面,本发明实施例公开一种数据操作方法,所述方法包括:在检测到Bank切换操作时,确定第一存储模的第一目标Bank,所述第一目标Bank存储有加载入第二存储模块中任意一个第二目标Bank的程序或数据;根据所述第一目标Bank操作所述第二存储模块的第二目标Bank。
[0007] 可选的,在检测到Bank切换操作时,确定第一存储模块的第一目标Bank之前,所述方法还包括:于所述第二存储模块中切分共用同一地址空间的若干第二目标Bank。
[0008] 可选的,所述第二存储模块包括若干公共区与若干Bank区;所述公共区用于存储公共程序及公共代码;所述Bank区包括共用同一地址空间的若干第二目标Bank。
[0009] 可选的,所述第一目标Bank与所述第二目标Bank的容量皆相等。
[0010] 可选的,所述根据所述第一目标Bank操作所述第二存储模块的第二目标Bank,包括:在检测到所述第一目标Bank未加载入所述第二存储模块的第二目标Bank时,将所述第一目标Bank加载入所述第二目标Bank内;切换所述第二目标bank为生效状态。
[0011] 可选的,所述根据所述第一目标Bank操作所述第二存储模块的第二目标Bank,还包括:在检测到所述第一目标Bank已加载入所述第二存储模块的第二目标Bank时,切换所述第二目标bank为生效状态。
[0012] 可选的,所述第一存储模块包括随机存取存储器
[0013] 可选的,所述随机存取存储器内置于单片机中。
[0014] 可选的,所述第二存储模块包括具有SPI接口的Flash存储器。
[0015] 在第二方面,本发明实施例提供一种如上述的数据操作方法在嵌入式设备中的应用。
[0016] 在第三方面,本发明实施例提供一种数据操作装置,所述装置包括:确定模块,用于在检测到Bank切换操作时,确定第一存储模块的第一目标Bank,所述第一目标Bank存储有加载入第二存储模块中任意一个第二目标Bank的程序或数据;操作模块,用于根据所述第一目标Bank操作所述第二存储模块的第二目标Bank。
[0017] 可选的,所述装置还包括:切分模块,用于于所述第二存储模块中切分共用同一地址空间的若干第二目标Bank。
[0018] 可选的,所述第二存储模块包括若干公共区与若干Bank区;所述公共区用于存储公共程序及公共代码;所述Bank区包括共用同一地址空间的若干第二目标Bank。
[0019] 可选的,所述第一目标Bank与所述第二目标Bank的容量皆相等。
[0020] 可选的,所述操作模块包括:加载单元,用于在检测到所述第一目标Bank未加载入所述第二存储模块的第二目标Bank时,将所述第一目标Bank加载入所述第二目标Bank内;第一切换单元,用于切换所述第二目标bank为生效状态。
[0021] 可选的,所述操作模块包括:第二切换单元,用于在检测到所述第一目标Bank已加载入所述第二存储模块的第二目标Bank时,切换所述第二目标bank为生效状态。
[0022] 可选的,所述第一存储模块包括随机存取存储器。
[0023] 可选的,所述随机存取存储器内置于单片机中。
[0024] 可选的,所述第二存储模块包括具有SPI接口的Flash存储器。
[0025] 在第四方面,本发明实施例提供一种单片机,所述单片机包括:至少一个处理器;以及分别与所述至少一个处理器通信连接的片内存储器及片外存储器;其中,所述片内存储器及片外存储器皆存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够用于执行上述的数据操作方法。
[0026] 在第五方面,本发明实施例提供一种嵌入式系统,所述嵌入式系统包括:外围电路装置;嵌入式装置,其与所述外围电路装连接;所述嵌入式装置包括:至少一个处理器;以及分别与所述至少一个处理器通信连接的片内存储器及片外存储器;其中,所述片内存储器及片外存储器皆存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够用于执行上述的数据操作方法。
[0027] 在本发明各个实施例中,在检测到Bank切换操作时,确定第一存储模块的第一目标Bank,第一目标Bank存储有加载入第二存储模块中任意一个第二目标Bank的程序或数据,根据第一目标Bank操作第二存储模块的第二目标Bank。因此,当第二存储模块重新加载bank的程序或数据时,其可以根据第一存储模块的第一目标Bank的程序或数据灵活配置第二存储模块的第二目标Bank,从而提高切Bank的效率。附图说明
[0028] 一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
[0029] 图1是本发明实施例提供一种数据操作的应用场景示意图;
[0030] 图2是本发明实施例提供一种控制设备的结构示意图;
[0031] 图3是本发明实施例提供一种嵌入式装置的结构示意图;
[0032] 图4是本发明实施例提供一种数据操作方法中切Bank的示意图;
[0033] 图5是本发明另一实施例提供一种数据操作方法中切Bank的示意图;
[0034] 图6是本发明实施例提供一种数据操作装置的结构示意图;
[0035] 图7是本发明另一实施例提供一种数据操作装置的结构示意图;
[0036] 图8是图7中操作模块的结构示意图;
[0037] 图9是本发明实施例提供一种数据操作方法的流程示意图;
[0038] 图10是本发明另一实施例提供一种数据操作方法的流程示意图;
[0039] 图11是本发明实施例提供一种单片机的结构示意图。

具体实施方式

[0040] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0041] 存储器是维持嵌入式设备正常运转的不可或缺的部件。存储器用于存储程序或数据或代码。中央处理器在运行时,从存储器中调用相关的程序指令,以完成相关功能的配置,例如,存储器可以存储用于初始化的程序指令,中央处理器通过调用并执行该程序指令,以完成软件上或硬件上的初始化配置。然而,对于一些嵌入式设备的程序空间,其存储容量往往是有限的。出于扩展程序空间容量的需要,可以通过外挂另一存储器,并且将部分功能的程序指令存储于该外挂的另一存储器中。在执行该另一存储器中程序指令对应的功能时,首先通过该另一存储器的IO接口将对应的程序指令调取到片内的存储器中,中央处理器可以从该片内的存储器调取并且执行该程序指令。
[0042] 下面,本发明实施例提供一种数据操作的应用场景示意图。如图1所示,该应用场景为办公室室内监控场景,该应用场景100包括控制设备11、摄像头12、空调13及温湿度传感器14,控制设备11分别与摄像头12、空调13及温湿度传感器14连接。
[0043] 控制设备11分别控制摄像头12、空调13及温湿度传感器14的工作。在工作时,摄像头12实时将拍摄到办公室内部场景的图像上传至控制设备11,并且在控制设备11发送的控制命令下,实现摄像头12的拍摄度之转换。温湿度传感器14实时监控办公室内的办公环境的温度与湿度,并且将温湿度数据实时上传至控制设备11,控制设备11根据温湿度数据与控制逻辑,实时控制空调13的向及其它工作状态。
[0044] 进一步,如图2所示,该控制设备11包括外围电路装置111与嵌入式装置112,嵌入式装置112与外围电路装置111连接。
[0045] 该外围电路装置111可以为USB接口电路、LED模组电路、AD转换电路、显示模组以及等等中的任意一个或两个以上的集合,本领域技术人员可以根据产品的应用需求,选择外围电路装置111的功能类型,在此并不对外围电路装置111的功能类型作出以上例子的限定。
[0046] 嵌入式装置112根据控制逻辑,有序地控制并且响应摄像头12、空调13及温湿度传感器14。在一些实施例中,嵌入式装置112可以为通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程阵列(FPGA)、单片机、ARM(Acorn RISC Machine)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。还有,嵌入式装置112还可以是任何传统处理器、控制器微控制器或状态机。处理器也可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP核、或任何其它这种配置。
[0047] 进一步,如图3所示,该嵌入式装置112为单片机,该单片机112包括至少一个处理器1121以及分别与所述至少一个处理器1121通信连接的片内存储器1122及片外存储器1123。片内存储器1122及片外存储器1123皆存储有可被所述至少一个处理器1121执行的指令。
[0048] 在一些实施例中,处理器1121可以为不同单片机系列或不同微处理器型号的内核,例如,如图3所示,该处理器1121可以51单片机微控制器内核,或者,当该嵌入式装置为ARM处理设备时,处理器1121可以为ARM架构的内核。
[0049] 片内存储器1122或片外存储器1123可以为以下存储器集合的任意一种:RAM存储器(Random Access Memory,随机存取存储器)、ROM存储器(Read-Only Memory,只读存储器)、闪存(Flash)、PROM存储器(可编程只读存储器)、EPROM存储器(Erasable Programmable ROM,可擦除可编程ROM)、EEPROM存储器(Electrically Erasable Programmable ROM,电可擦可编程只读存储器)以及等等,其中,RAM存储器还可以为SRAM存储器(Static RAM,静态随机存储器)、DRAM存储器(Dynamic RAM,动态随机存取存储器)、SDRAM存储器(Synchronous DRAM,同步动态随机存储器)以及等等。
[0050] 在一些实施例中,片内存储器1122或片外存储器1123可以根据应用需要,选择对应的存储器类型。例如,当片内存储器1122或片外存储器1123作为程序存储器时,其可以选择ROM存储器、PROM存储器、EPROM存储器、EEPROM存储器或Flash。当片内存储器1122或片外存储器1123作为数据存储器时,其可以选择SRAM存储器、DRAM存储器、SDRAM存储器。并且,片内存储器1122或片外存储器1123作为程序存储器或数据存储器时,其容量大小可以由用户进行设计定义。但是,在一些实施例中,现有的嵌入式装置112的片内存储器1122或片外存储器1123的容量是由上游厂家预先设置好的,例如,8051单片机的程序存储器为64KB,并且其分为片内程序存储器与片外程序存储器,片内外程序存储器采用统一编制0000H—FFFFH。8051单片机的片内数据存储器为256B,片外数据存储器为64KB。
[0051] 程序存储器是用于存放是系统工作的应用程序及一些不需改变的数据常数的,程序写入程序存储器后,单片机系统只能读取程序指令使系统运行,而不能再进行改写,且系统掉电后,程序不会丢失。因此,程序存储器是ROM只读存储器,其特点是在计算机正常运行的情况下CPU对ROM存储器只能进行读操作且断电后信息不会丢失,通常用来存储固定不变的程序和数据,如引导程序、基本输入输出系统程序等。
[0052] 数据存储器是用于存放程序运行的中间处理数据的,可随程序运行而随时写入或读出数据存储器的内容,当系统掉电时,数据全部会丢失。因此,数据存储器是RAM可随机读写的存储器。
[0053] 在一些实施例中,当单片机112原先的程序存储器未能够满足程序的存放时,可以通过代码分页(Code Banking)的方式扩展程序空间。代码分页的原理是将存储空间分成不同的页,通过片选的方式实现程序在不同页的跳转。因此,单片机112可以通过外挂多片存储器以实现代码分页。外挂的存储器可以通过各类型接口与单片机连接通讯。如图3所示,片外存储器1123可以选择具有SPI接口的Flash存储器,其通过SPI接口与单片机112连接通讯。
[0054] 串行外设接口SPI(Serial Peripheral Interface)提供一个灵活的4线全双工串行总线。总线上的期间可以作为主期间,也可以作为从器件,并支持在同一总线上连接多个从器件。每个从器件接口包含一个独立的从选择信号。
[0055] 在内存系统中,Bank(存储体)是一个包含行和列的二维结构,每一个Bank有一个数据区和一个行缓存,行缓存用来存储Bank中某一行的数据,Bank中的数据只能从该Bank中的行缓存中被访问
[0056] 如图3和图4所示,当单片机112原先的程序存储器未能够满足程序的存放时,可以将片内存储器1122切分成若干个共用同一地址空间的第二目标Bank,其中,该片内存储器1122为RAM存储器。片外存储器1123被切分成若干第一目标Bank,第一目标Bank的程序指令或数据可以加载入第二目标Bank内。如图4所示,片内存储器1122的RAM空间已经切分了多个第二目标Bank,例如:RAM Bank0、RAM Bank1、RAM Bank2……RAM BankN-1,并且,多个第二目标Bank的地址空间为0x8000-0x9000,当然,其可以在片内存储器1122选择另一地址空间进行切分Bank,例如,该Bank的地址空间还可以是0xA000-0xB000。片外存储器1123的SPI Flash空间已经切分了多个第一目标Bank,例如:Flash Bank0、Flash Bank1、Flash Bank2、Flash Bank3……Flash BankM-1。
[0057] 在一些实施例中,第一目标Bank与第二目标Bank的容量皆相等,在此并不对第一目标Bank与第二目标Bank的容量进行限制,例如,其可以是4KB,或5KB。第一目标Bank或第二目标Bank存储用于控制如图1所示的摄像头12、空调13及温湿度传感器14的程序指令。
[0058] 值得注意的是:文中所述的“第一”或“第二”并不是用于限制各个存储器中Bank的存储顺序(地址顺序),只是用于区分片内存储器和片外存储器中的Bank。
[0059] 当处理器1121执行与摄像头12或空调13或温湿度传感器14相关程序指令时,在检测到单片机1121原有程序存储器未存储到该相关程序指令或者对应功能的程序指令时,处理器1121进入切换Bank的操作。例如,当处理器1121需要控制摄像头12左转时,发现原有程序存储器未存储与用于控制摄像头左转的相关程序指令时,处理器1121进入切换Bank的操作。
[0060] 或者,当温湿度传感器14分析出办公室当前的温度比较低时,需要处理器1121控制空调13调高温度,处理器1121发现原有程序存储器未存储与用于控制空调13温度的相关程序指令时,处理器1121进入切换Bank的操作。
[0061] 然而,与用于控制摄像头左转的相关程序指令或与用于控制空调13温度的相关程序指令皆存储在外挂的片外存储器1123上,因此,处理器1121通过切换Bank的操作,以将与用于控制摄像头左转的相关程序指令或与用于控制空调13温度的相关程序指令加载入片内存储器1122上,处理器1121执行时,可以从片内存储器1122调用上述的程序指令。具体的,处理器1121在检测到Bank切换操作时,确定片外存储器1123的第一目标Bank,第一目标Bank存储有加载入片内存储器1122中任意一个第二目标Bank的程序或数据。处理器1121根据第一目标Bank操作片内存储器1122的第二目标Bank。
[0062] 一方面,处理器1121在检测到第一目标Bank未加载入片内存储器1122的第二目标Bank时,将第一目标Bank加载入第二目标Bank内,并且通过内部的寄存器将第二目标bank切换至生效状态,于是,处理器1121可以调用生效的第二目标bank的程序指令或数据。在一些实施例中,当片外存储器1123的每个第一目标Bank加载入片内存储器1122的第二目标Bank时,单片机内部的数组会记录第二目标Bank与第一目标Bank之间的存储关系,当进行切换Flash Bank X操作,处理器1121访问该数组内是否预存X。例如,片内存储器1122的RAM空间切分了4个第二目标Bank,此时的数组内的4个值分别是3、1、10、0。处理器1121通过访问该数组,分析出以下关系:RAM Bank0内存储Flash Bank3的程序指令或数据,RAM Bank1内存储Flash Bank1的程序指令或数据,RAM Bank2内存储Flash Bank10的程序指令或数据,RAM Bank3内存储Flash Bank0的程序指令或数据。当处理器1121分析出该数组未能够存储有Flash Bank X与RAM Bank之间的关系时,则说明“第一目标Bank未加载入片内存储器1122的第二目标Bank”。反之同理,在此不赘述。
[0063] 进一步的,如图5所示,片内存储器1122的RAM空间各个第二目标Bank已存储有片外存储器1123的第一目标Bank,例如:RAM Bank0对应Flash Bank 7,RAM Bank1对应Flash Bank 20,RAM BankN-1对应Flash Bank 6。当处理器1121需要控制空调调节温度时,片内存储器1122的第二目标Bank未能够存储有与用于控制空调13温度的相关程序指令,然而,该与用于控制空调13温度的相关程序指令存储在片外存储器1123的第一目标Bank:Flash Bank3。因此,处理器1121需要将Flash Bank3切换至片内存储器1122的RAM空间,因此,处理器1121可以将Flash Bank 3切换至RAM Bank2。
[0064] 因此,当片内存储器1122重新加载bank的程序或数据时,其只需要将片外存储器1123的第一目标Bank的程序或数据加载入第二目标Bank即可,无需将片外存储器1123的整个Bank区重新加载入片内存储器1122,从而节约切Bank的时间和提高切Bank的效率。
[0065] 另一方面,处理器1121在检测到第一目标Bank已加载入片内存储器1122的第二目标Bank时,通过内部的寄存器件第二目标bank切换为生效状态。请再参阅图5,处理器1121需要切换到Flash Bank 20时,由于Flash Bank 20已经载入到了Ram Bank 1,因此无需再从片外存储器1123中载入,可以通过内部寄存器将Ram Bank 1切换至生效状态即可。因此,采用此种方式可以避免过度频繁切换Bank,从而提高切Bank操作和效率。
[0066] 如图5所示,片内存储器1122包括公共区11221与Bank区11222。公共区11221用于存储公共程序及公共代码,Bank区包括共用同一地址空间的若干第二目标Bank。公共区11221可以被划分在ROM类型的片内存储器上,还可以在RAM类型的片内存储器上,公共区
11221的大小及地址可以自定义。每个第二目标Bank的容量为任意大小。在一些实施例中,片内存储器1122可以划分出多个公共区11221与多个Bank区11222。
[0067] 上述各个实施例中的嵌入式装置112为单片机,在一些实施例中,该嵌入式装置112还可以为其它嵌入式架构的微型处理器,例如ARM,DSP。本领域技术人员应当明白:只要根据上述各个实施例所训导的数据操作方法的内容,并且在嵌入式设备进行任何应用,其应当落入本发明的保护范围之内。
[0068] 作为本发明实施例的另一方面,本发明实施例提供一种数据操作装置,如图6所示,该数据操作装置200包括确定模块21与操作模块22,确定模块21用于在检测到Bank切换操作时,确定第一存储模块的第一目标Bank,第一目标Bank存储有加载入第二存储模块中任意一个第二目标Bank的程序或数据。操作模块22用于根据第一目标Bank操作第二存储模块的第二目标Bank。
[0069] 一方面,确定模块21在检测到第一目标Bank未加载入第二存储模块的第二目标Bank时,将第一目标Bank加载入第二目标Bank内,并且通过内部的寄存器将第二目标bank切换至生效状态,于是,操作模块22可以调用生效的第二目标bank的程序指令或数据。在一些实施例中,当第一存储模块的每个第一目标Bank加载入第二存储模块的第二目标Bank时,单片机内部的数组会记录第二目标Bank与第一目标Bank之间的存储关系,当进行切换Flash Bank X操作,操作模块22访问该数组内是否预存X。例如,第二存储模块的RAM空间切分了4个第二目标Bank,此时的数组内的4个值分别是3、1、10、0。操作模块22通过访问该数组,分析出以下关系:RAM Bank0内存储Flash Bank3的程序指令或数据,RAM Bank1内存储Flash Bank1的程序指令或数据,RAM Bank2内存储Flash Bank10的程序指令或数据,RAM Bank3内存储Flash Bank0的程序指令或数据。当操作模块22分析出该数组未能够存储有Flash Bank X与RAM Bank之间的关系时,则说明“第一目标Bank未加载入第二存储模块的第二目标Bank”。反之同理,在此不赘述。
[0070] 进一步的,第二存储模块的RAM空间各个第二目标Bank已存储有第一存储模块的第一目标Bank,例如:RAM Bank0对应Flash Bank 7,RAM Bank1对应Flash Bank 20,RAM BankN-1对应Flash Bank 6。当操作模块22需要控制空调调节温度时,第二存储模块的第二目标Bank未能够存储有与用于控制空调13温度的相关程序指令,然而,该与用于控制空调13温度的相关程序指令存储在片外存储器1123的第一目标Bank:Flash Bank3。因此,操作模块22需要将Flash Bank3切换至第二存储模块的RAM空间,因此,操作模块22可以将Flash Bank 3切换至RAM Bank2。
[0071] 因此,当第二存储模块重新加载bank的程序或数据时,其可以根据第一存储模块的第一目标Bank的程序或数据灵活配置第二存储模块的第二目标Bank,从而提高切Bank的效率。
[0072] 另一方面,确定模块21在检测到第一目标Bank已加载入第二存储模块的第二目标Bank时,通过内部的寄存器件第二目标bank切换为生效状态。操作模块22需要切换到Flash Bank 20时,由于Flash Bank 20已经载入到了Ram Bank 1,因此无需再从第一存储模块中载入,可以通过内部寄存器将Ram Bank 1切换至生效状态即可。因此,采用此种方式可以避免过度频繁切换Bank,从而提高切Bank操作和效率。
[0073] 在一些实施例中,如图7所示,该数据操作装置200还包括切分模块23,切分模块23用于于第二存储模块中切分共用同一地址空间的若干第二目标Bank。第二存储模块包括若干公共区与若干Bank区,公共区用于存储公共程序及公共代码,Bank区包括共用同一地址空间的若干第二目标Bank。
[0074] 在一些实施例中,第一目标Bank与第二目标Bank的容量皆相等。
[0075] 在一些实施例中,如图8所示,操作模块22包括加载单元221、第一切换单元222及第二切换单元223,加载单元221用于在检测到第二存储模块的第二目标Bank未加载入第一目标Bank内时,将第一目标Bank的程序或数据加载入第二目标Bank内;第一切换单元222用于切换第二目标bank为生效状态。第二切换单元223用于在检测到第二存储模块的第二目标Bank已加载入第一目标Bank内时,切换第二目标bank为生效状态。在一些实施例中,第一存储模块包括随机存取存储器,该随机存取存储器内置于单片机中,第二存储模块包括具有SPI接口的Flash存储器。
[0076] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现数据操作装置200,当然也可以通过硬件实现。并且,由于数据操作装置200的构思与上述各个实施例所述的嵌入式装置一样,在内容不互相冲突下,数据操作装置200的实施例可以引用上述各个实施例的内容,在此不赘述。
[0077] 作为本发明实施例的又另一方面,本发明实施例提供一种数据操作方法,如图9所示,该数据操作方法300包括:
[0078] 步骤31、在检测到Bank切换操作时,确定第一存储模块的第一目标Bank,第一目标Bank存储有加载入第二存储模块中任意一个第二目标Bank的程序或数据;
[0079] 步骤32、根据第一目标Bank操作第二存储模块的第二目标Bank。
[0080] 一方面,在检测到第一目标Bank未加载入第二存储模块的第二目标Bank时,将第一目标Bank加载入第二目标Bank内,并且通过内部的寄存器将第二目标bank切换至生效状态,于是,可以调用生效的第二目标bank的程序指令或数据。在一些实施例中,当第一存储模块的每个第一目标Bank加载入第二存储模块的第二目标Bank时,单片机内部的数组会记录第二目标Bank与第一目标Bank之间的存储关系,当进行切换Flash Bank X操作,访问该数组内是否预存X。例如,第二存储模块的RAM空间切分了4个第二目标Bank,此时的数组内的4个值分别是3、1、10、0。通过访问该数组,分析出以下关系:RAM Bank0内存储Flash Bank3的程序指令或数据,RAM Bank1内存储Flash Bank1的程序指令或数据,RAM Bank2内存储Flash Bank10的程序指令或数据,RAM Bank3内存储Flash Bank0的程序指令或数据。当分析出该数组未能够存储有Flash Bank X与RAM Bank之间的关系时,则说明“第一目标Bank未加载入第二存储模块的第二目标Bank”。反之同理,在此不赘述。
[0081] 进一步的,第二存储模块的RAM空间各个第二目标Bank已存储有第一存储模块的第一目标Bank,例如:RAM Bank0对应Flash Bank 7,RAM Bank1对应Flash Bank 20,RAM BankN-1对应Flash Bank 6。当需要控制空调调节温度时,第二存储模块的第二目标Bank未能够存储有与用于控制空调13温度的相关程序指令,然而,该与用于控制空调13温度的相关程序指令存储在片外存储器1123的第一目标Bank:Flash Bank3。因此,需要将Flash Bank3切换至第二存储模块的RAM空间,因此,可以将Flash Bank 3切换至RAM Bank2。
[0082] 因此,当第二存储模块重新加载bank的程序或数据时,其可以根据第一存储模块的第一目标Bank的程序或数据灵活配置第二存储模块的第二目标Bank,从而提高切Bank的效率。
[0083] 另一方面,在检测到第一目标Bank已加载入第二存储模块的第二目标Bank时,通过内部的寄存器件第二目标bank切换为生效状态。需要切换到Flash Bank 20时,由于Flash Bank 20已经载入到了Ram Bank 1,因此无需再从第一存储模块中载入,可以通过内部寄存器将Ram Bank 1切换至生效状态即可。因此,采用此种方式可以避免过度频繁切换Bank,从而提高切Bank操作和效率。
[0084] 在一些实施例中,如图10所示,在步骤31之前,该数据操作方法300还包括:
[0085] 步骤33、于第二存储模块中切分共用同一地址空间的若干第二目标Bank。
[0086] 第二存储模块包括若干公共区与若干Bank区,每个公共区用于存储公共程序及公共代码,每个Bank区包括共用同一地址空间的若干第二目标Bank。第一目标Bank与第二目标Bank的容量皆相等。第一存储模块包括随机存取存储器,该随机存取存储器内置于单片机中,第二存储模块包括具有SPI接口的Flash存储器。
[0087] 作为本发明实施例的又一方面,本发明实施例提供一种单片机。如图11所示,该单片机400包括:一个或多个处理器41以及分别与该至少一个处理器41通信连接的片内存储器42及片外存储器存储器43。其中,图11中以一个处理器41为例。
[0088] 处理器41和片内存储器42、片外存储器存储器43可以通过总线或者其他方式连接,图7中以通过总线连接为例。
[0089] 片内存储器42与片外存储器43可以作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的数据操作方法对应的程序指令/模块。处理器41通过运行存储在片内存储器42与片外存储器存储器43中的非易失性软件程序、指令以及模块,从而执行数据操作方法的各种功能应用以及数据处理,即实现上述方法实施例的数据操作方法的各个模块的功能。
[0090] 片内存储器42与片外存储器存储器43可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。
[0091] 所述程序指令/模块存储在所述片内存储器42与片外存储器存储器43中,当被所述一个或者多个处理器41执行时,执行上述任意方法实施例中的数据操作方法,例如,执行以上描述的图9至10所示的各个步骤的功能。
[0092] 本发明实施例还提供了一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如图11中的一个处理器41,可使得上述一个或多个处理器可执行上述任意方法实施例中的数据操作方法,例如,执行上述任意方法实施例中的数据操作方法,例如,执行以上描述的图9至图10所示的各个步骤的功能。
[0093] 以上所描述的装置或设备实施例仅仅是示意性的,其中所述作为分离部件说明的单元模块可以是或者也可以不是物理上分开的,作为模块单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络模块单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0094] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0095] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈