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

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

Info

Publication number
CN107145333B
CN107145333B CN201710266307.XA CN201710266307A CN107145333B CN 107145333 B CN107145333 B CN 107145333B CN 201710266307 A CN201710266307 A CN 201710266307A CN 107145333 B CN107145333 B CN 107145333B
Authority
CN
China
Prior art keywords
bank
target bank
target
storage module
memory
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.)
Active
Application number
CN201710266307.XA
Other languages
English (en)
Other versions
CN107145333A (zh
Inventor
谢鸿洋
符运河
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jian Rong semiconductor (Shenzhen) Co., Ltd.
Original Assignee
Smartech Worldwide Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Smartech Worldwide Ltd filed Critical Smartech Worldwide Ltd
Priority to CN201710266307.XA priority Critical patent/CN107145333B/zh
Publication of CN107145333A publication Critical patent/CN107145333A/zh
Application granted granted Critical
Publication of CN107145333B publication Critical patent/CN107145333B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Read Only Memory (AREA)

Abstract

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

Description

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

Claims (7)

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任一项所述的数据操作方法。
CN201710266307.XA 2017-04-21 2017-04-21 数据操作方法及其装置、应用、单片机及嵌入式系统 Active CN107145333B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710266307.XA CN107145333B (zh) 2017-04-21 2017-04-21 数据操作方法及其装置、应用、单片机及嵌入式系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710266307.XA CN107145333B (zh) 2017-04-21 2017-04-21 数据操作方法及其装置、应用、单片机及嵌入式系统

Publications (2)

Publication Number Publication Date
CN107145333A CN107145333A (zh) 2017-09-08
CN107145333B true CN107145333B (zh) 2020-04-14

Family

ID=59774951

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710266307.XA Active CN107145333B (zh) 2017-04-21 2017-04-21 数据操作方法及其装置、应用、单片机及嵌入式系统

Country Status (1)

Country Link
CN (1) CN107145333B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7055146B1 (en) * 2001-03-08 2006-05-30 Microsoft Corporation Method and system for dynamically inserting modifications for identified programs
CN101079006A (zh) * 2007-07-31 2007-11-28 华为技术有限公司 一种数据存储和读取的方法及数据存储装置
CN101552840A (zh) * 2009-03-09 2009-10-07 北京天碁科技有限公司 一种降低移动终端功耗的方法及移动终端
CN102662913A (zh) * 2012-03-29 2012-09-12 佛山华芯微特科技有限公司 用于提高mcu存储性能的方法及其对应的mcu芯片
CN103329112A (zh) * 2010-10-22 2013-09-25 意法爱立信有限公司 用于减少页面错误发生时压缩页面加载时间的方法和装置
CN105431831A (zh) * 2014-02-17 2016-03-23 联发科技股份有限公司 数据存取方法和利用相同方法的数据存取装置
CN105912476A (zh) * 2016-04-06 2016-08-31 中国科学院计算技术研究所 片上重复寻址的方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100866627B1 (ko) * 2007-01-29 2008-11-03 삼성전자주식회사 컨트롤 플로우를 이용한 페이지 프리로드 방법 및 그시스템

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7055146B1 (en) * 2001-03-08 2006-05-30 Microsoft Corporation Method and system for dynamically inserting modifications for identified programs
CN101079006A (zh) * 2007-07-31 2007-11-28 华为技术有限公司 一种数据存储和读取的方法及数据存储装置
CN101552840A (zh) * 2009-03-09 2009-10-07 北京天碁科技有限公司 一种降低移动终端功耗的方法及移动终端
CN103329112A (zh) * 2010-10-22 2013-09-25 意法爱立信有限公司 用于减少页面错误发生时压缩页面加载时间的方法和装置
CN102662913A (zh) * 2012-03-29 2012-09-12 佛山华芯微特科技有限公司 用于提高mcu存储性能的方法及其对应的mcu芯片
CN105431831A (zh) * 2014-02-17 2016-03-23 联发科技股份有限公司 数据存取方法和利用相同方法的数据存取装置
CN105912476A (zh) * 2016-04-06 2016-08-31 中国科学院计算技术研究所 片上重复寻址的方法及装置

Also Published As

Publication number Publication date
CN107145333A (zh) 2017-09-08

Similar Documents

Publication Publication Date Title
US11042297B2 (en) Techniques to configure a solid state drive to operate in a storage mode or a memory mode
KR100867900B1 (ko) 내장 nand 플래시 컨트롤러를 구비한 sdram메모리 디바이스
CN106354524B (zh) 实时更新固件的系统和方法
US7398383B2 (en) Method and system for using internal FIFO RAM to improve system boot times
CN109901890B (zh) 一种控制器加载多核固件的方法、装置、计算机设备及存储介质
US20210157718A1 (en) Reduction of page migration between different types of memory
CN112988616A (zh) 使用枢纽表从存储器读取顺序数据
CN110941395A (zh) 动态随机存取存储器、内存管理方法、系统及存储介质
US10114561B2 (en) Memory controllers, memory systems, and methods relating to wear-leveling
CN107145333B (zh) 数据操作方法及其装置、应用、单片机及嵌入式系统
JP4665760B2 (ja) 電子計算機、半導体集積回路、制御方法、プログラムの生成方法、及びプログラム
JP2007299227A (ja) 情報処理装置及び情報処理装置のブート方法
US6981109B2 (en) Digital signal processor system having programmable random access memory that executes processing during downloading of a program
CN102270181B (zh) 一种内存访问方法和装置
US6182207B1 (en) Microcontroller with register system for the indirect accessing of internal memory via auxiliary register
CN115421902A (zh) 一种芯片中应用程序的管理方法和装置
US20170131946A1 (en) Method and device for formatting storage of mobile terminal
JPS5827253A (ja) デ−タ処理装置
JP3032207B2 (ja) マイクロ・コンピュータ
US20170344260A1 (en) Electronic device and operating method thereof
KR20150027391A (ko) Fpga 데이터 구성 시스템 및 그 방법
KR19980070351A (ko) 프로그래머블 컨트롤러
JP3388518B2 (ja) プログラム制御装置
JPH0231265A (ja) Dma制御装置
KR20050097212A (ko) 내부 메모리 영역을 확장하기 위한 마이크로컨트롤러유닛

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20191220

Address after: 518000 District 652, district a, huameiju business center, Xinhu Road, Haiyu community, Xin'an street, Bao'an District, Shenzhen City, Guangdong Province

Applicant after: Jian Rong semiconductor (Shenzhen) Co., Ltd.

Address before: 518000 Guangdong city of Shenzhen province Nanshan District Gao Xin Road No. 013 Fu technology building B block 5 layer 505

Applicant before: Jian Rong semiconductor (Shenzhen) Co., Ltd.

Applicant before: Jianrong Integrated Circuit Technology (Zhuhai) Co., Ltd.

Applicant before: ZHUHAI HUANGRONG INTEGRATED CIRCUIT TECHNOLOGY CO., LTD.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant