CN116737601B - 将外设寄存器扩展为系统ram的方法、装置及存储介质 - Google Patents
将外设寄存器扩展为系统ram的方法、装置及存储介质 Download PDFInfo
- Publication number
- CN116737601B CN116737601B CN202311007681.XA CN202311007681A CN116737601B CN 116737601 B CN116737601 B CN 116737601B CN 202311007681 A CN202311007681 A CN 202311007681A CN 116737601 B CN116737601 B CN 116737601B
- Authority
- CN
- China
- Prior art keywords
- ram
- peripheral
- address
- space
- register
- 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
Links
- 230000002093 peripheral effect Effects 0.000 title claims abstract description 145
- 238000000034 method Methods 0.000 title claims abstract description 45
- 239000012634 fragment Substances 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 238000007599 discharging Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
- G06F12/0623—Address space extension for memory modules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microcomputers (AREA)
Abstract
本申请公开了一种将外设寄存器扩展为系统RAM的方法、装置及存储介质。本申请可以在微控制器芯片中识别外设模块的至少一个空闲寄存器,将识别到的至少一个空闲寄存器整理为可连续访问的地址空间,并设置地址空间的空间参数,将地址空间配置为扩展RAM,根据原始的系统RAM的结束逻辑地址设置扩展RAM的起始逻辑地址。本申请实施例通过将空闲寄存器集中起来,提供连续的访问地址,从而在一定程度上扩展MCU的RAM空间并且提高了空闲寄存器的利用率。
Description
技术领域
本申请涉及芯片设计领域,具体涉及一种将外设寄存器扩展为系统RAM的方法、装置及存储介质。
背景技术
随着物联网技术的不断发展,MCU(Microcontroller Unit;微控制器)芯片和传感器的系统应用范围广泛。其中,MCU又称单片微型计算机或者单片机。MCU中有些外设拥有自己的寄存器,外设寄存器一般指的是主板上除了CPU外其他位置上分部的能够让CPU直接操作以方便CPU对外部设备进行访问的寄存器,我们常说的端口Port本质上就是指这些外设寄存器。
现在的低成本的MCU芯片上, RAM存储空间通常比较紧张。同时, 我们一般情况下不会将通用MCU的所有外设全部使用,在使用一个外设的时候, 很多情况下, 只用到这个外设的一部分功能,这样就会有很多外设的寄存器空闲下来,造成了一定资源浪费,另外在现有技术当中,针对系统RAM空间不足也是通过更换MCU或者外部扩展RAM的方式来解决该问题,成本较高。
发明内容
本申请提供一种将外设寄存器扩展为系统RAM的方法、装置及存储介质,可以将空闲寄存器集中起来, 提供连续的访问地址,从而在一定程度上扩展MCU的RAM空间。
为实现上述有益效果,本申请实施例提供以下技术方案:
第一方面,本申请提供一种将外设寄存器扩展为系统RAM的方法,所述方法包括:
在微控制器芯片中识别外设模块的至少一个空闲寄存器;
将识别到的至少一个空闲寄存器整理为可连续访问的地址空间,并设置所述地址空间的空间参数;
将所述地址空间配置为扩展RAM;
根据原始的系统RAM的结束逻辑地址设置所述扩展RAM的起始逻辑地址。
第二方面,本申请提供一种将外设寄存器扩展为系统RAM的装置,包括:
识别单元,用于在微控制器芯片中识别外设模块的至少一个空闲寄存器;
整理单元,用于将识别到的至少一个空闲寄存器整理为可连续访问的地址空间,并设置所述地址空间的空间参数;
配置单元,用于将所述地址空间配置为扩展RAM;
设置单元,用于根据原始的系统RAM的结束逻辑地址设置所述扩展RAM的起始逻辑地址。
第三方面,本申请提供一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述将外设寄存器扩展为系统RAM的方法中的步骤。
第四方面,本申请提供一种存储介质,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行上述将外设寄存器扩展为系统RAM的方法中的步骤。
本申请提供的实施例提供的方法可以在微控制器芯片中识别外设模块的至少一个空闲寄存器,将识别到的至少一个空闲寄存器整理为可连续访问的地址空间,并设置地址空间的空间参数,将地址空间配置为扩展RAM,根据原始的系统RAM的结束逻辑地址设置扩展RAM的起始逻辑地址。本申请实施例通过将空闲寄存器集中起来, 提供连续的访问地址,从而在一定程度上扩展MCU的RAM空间并且提高了空闲寄存器的利用率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的将外设寄存器扩展为系统RAM的方法的一种流程示意图;
图2是本申请实施例提供的微控制器芯片的逻辑结构示意图;
图3是本申请实施例提供的将外设寄存器扩展为系统RAM的方法的另一流程示意图;
图4为本申请实施例提供的将外设寄存器扩展为系统RAM的装置的结构示意图;
图5是本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请实施例提供一种将外设寄存器扩展为系统RAM的方法,该将外设寄存器扩展为系统RAM的方法的执行主体可以是本申请实施例提供的将外设寄存器扩展为系统RAM的装置,或者集成了该将外设寄存器扩展为系统RAM的装置的服务器,其中该将外设寄存器扩展为系统RAM的装置可以采用硬件或者软件的方式实现。
在本实施例中,将从将外设寄存器扩展为系统RAM的装置的角度进行描述,该将外设寄存器扩展为系统RAM的装置具体可以集成在电子设备中,电子设备为在具备储存单元并能够运行应用程序的电子设备。
本申请实施例提供一种将外设寄存器扩展为系统RAM的方法,所述方法包括:
在微控制器芯片中识别外设模块的至少一个空闲寄存器;
将识别到的至少一个空闲寄存器整理为可连续访问的地址空间,并设置所述地址空间的空间参数;
将所述地址空间配置为扩展RAM;
根据原始的系统RAM的结束逻辑地址设置所述扩展RAM的起始逻辑地址。
在描述本申请的技术方案之前,先对相关的技术术语进行简单解释:
SOC:是System On Chip单词的首字母缩写,即片上系统芯片。SoC芯片主要由CPU内核、总线系统、片内存储器和多种数字及模拟功能外设组成。SoC芯片的特点是通过运行在其上的嵌入式软件,配合芯片的硬件资源实现目标应用。
MCU:微控制器,是把中央处理器(Central Process Unit;CPU)的频率与规格做适当缩减,并将内存(memory)、计数器(Timer)、USB、A/D转换、UART、PLC、DMA等周边接口,甚至LCD驱动电路都整合在单一芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。
寄存器,通常包括内部寄存器和外设寄存器,其中内部寄存器指的是CPU内核里的寄存器,如r0,r1等;外设寄存器一般是指一些某一特殊功能的物理地址,外设寄存器的物理地址都在0x4800_0000~0x5FFF_FFFF,比如STM32中,GPIO、I²C、SPI、CAN都叫做外设寄存器。
请参阅图1,图1是本申请实施例提供的将外设寄存器扩展为系统RAM的方法的一种流程示意图。该将外设寄存器扩展为系统RAM的方法包括:
步骤101,在微控制器芯片中识别外设模块的至少一个空闲寄存器。
在一实施例中,可以在微控制器芯片中的每一个外设模块当中设置一个外设寄存器空间管理模块,该外设寄存器空间管理模块可以用于识别当前外设中空闲寄存器并将这些空闲寄存器管理起来, 形成一个可连续访问的地址空间的作用。可选地,还可以仅在包含寄存器的外设模块当中设置上述外设寄存器空间管理模块,而针对不包含寄存器的外设模块则无需设置,从而降低资源的消耗。
在一实施例中,可以通过判断当前外设模块是否为工作状态的方式来确定其对应的寄存器状态,比如针对外设A,其上总共包括3个寄存器,若该外设A当前未处于工作模式,则其对应的寄存器1、寄存器2以及寄存器3均可以确定为空闲寄存器,本实施例可以通过判断外审模块的工作状态来确定其包含的寄存器是否为空闲寄存器。
在一实施例中,在确定当前外设模块为工作状态后,还可以进一步筛选该外设模块中的多个寄存器中处于空闲状态的寄存器。比如,针对处于工作状态的外设A,可以分别判断上述寄存器1、寄存器2以及寄存器3是否空闲,当寄存器1的最高位为零,表示空闲;当寄存器2的最高位为1,表示暂时被占用;当寄存器3的最高位为零,表示空闲。综上可以判断外设A的三个寄存器中处于空闲状态的寄存器为寄存器1和寄存器3。
步骤102,将识别到的至少一个空闲寄存器整理为可连续访问的地址空间,并设置地址空间的空间参数。
在一实施例中,MCU中还可以设置扩展RAM管理器,该扩展RAM管理器接连到系统总线,并与每一个外设模块中的寄存器空间管理模块进行连接,以进行总的信息整合。具体的,在每个外设模块中的寄存器空间管理模块识别到当前外设模块中的空闲寄存器后,便可以由扩展RAM管理器管理所有外设空间管理模块提交的空闲寄存器信息,将其整理成可连接访问的地址空间, 并提供相关的空间参数, 该空间参数可以包括比如由空闲寄存器扩展而得到的空间大小和该空间的读写速度等参数。
步骤103,将地址空间配置为扩展RAM。
举例来说,请参阅图2,图2是本申请实施例提供的微控制器芯片的逻辑结构示意图,其中外设A包括5个寄存器分别为PR1、PR2、PR3、PR4以及PR5,当我们当前的应用系统中没有使用到外设A时, 这5个处于空闲状态的寄存器就可以通过配置变成一段连续的RAM空间。其他的外设(外设B、外设C以及外设D)在扩展RAM这一方面来说, 结构与外设A一致, 不同的地方在于根据不同外设实际的寄存器数量不同最终扩展得到的RAM容量大小有一定差异。
进一步的,在这些空闲寄存器被当作RAM扩展时, MCU系统便可以以连续地址访问这些空闲寄存器,具体的,在访问时都可以通过系统总线自动访问扩展RAM管理器得到。
步骤104,根据原始的系统RAM的结束逻辑地址设置扩展RAM的起始逻辑地址。
在一实施例中,在通过总线访问这些由寄存器扩展得到的新RAM区时, 与访问常规RAM一致, 直接对指定地址进行读写即可。需要说明的是,在进行RAM扩展后, 自MCU原有RAM空间起始地址起至扩展得到的RAM空间结束地址是一整段可以连续访问的空间。
在一个嵌入式系统中, 很多外设功能的使用都是有条件的。例如我们可以通过串口发送命令设置网络功能的开启与关闭。当遇到一个外设在某些情况下可以被关闭时, 这个外设的寄存器可以被利用起来。这样空闲寄存器的利用率更高, MCU可以开发更加灵活多变的应用。出于对应用数据安全的考量, 动态利用空闲外设寄存器扩展得到的RAM空间直接使用外设寄存器空间管理模块得到的实际空间地址及大小, 外设寄存器空间管理模块会将其管理的最低物理地址寄存器的地址作为扩展得到的最小物理地址。
按照上述设计后,当用户程序不使用某个外设或不使用外设中的某个功能子模块的时候,可以直接使用扩展RAM管理器将零散外设寄存器空间组合成连续可访问地址空间,并且扩展得到的RAM起始地址直接从该MCU实际RAM的最大地址之后开始, 使得芯片原有RAM空间与扩展得到的RAM空间连成一片, 便于访问。
由上可知,本申请实施例提供的将外设寄存器扩展为系统RAM的方法可以在微控制器芯片中识别外设模块的至少一个空闲寄存器,将识别到的至少一个空闲寄存器整理为可连续访问的地址空间,并设置地址空间的空间参数,将地址空间配置为扩展RAM,根据原始的系统RAM的结束逻辑地址设置扩展RAM的起始逻辑地址。本申请实施例通过将空闲寄存器集中起来, 提供连续的访问地址,从而在一定程度上扩展MCU的RAM空间并且提高了空闲寄存器的利用率。
根据上一实施例中所描述的将外设寄存器扩展为系统RAM的方法,以下将举例作进一步详细说明。
在本实施例中,将以该将外设寄存器扩展为系统RAM的装置具体集成在电子设备中为例进行说明。
请参阅图3,图3为本申请实施例提供的将外设寄存器扩展为系统RAM的方法的另一流程示意图。该方法流程可以包括:
步骤201,在微控制器芯片中识别外设模块的至少一个空闲寄存器。
在一实施例中,可以通过判断当前外设模块是否为工作状态的方式来确定其对应的寄存器状态,从而获取该外设模块中的空闲寄存器,具体的,可以在微控制器芯片中获取外设模块的工作状态,将工作状态为空闲状态的外设模块所包含的至少一个寄存器确定为空闲寄存器。
在一实施例中,在确定当前外设模块为工作状态后,还可以进一步筛选该外设模块中的多个寄存器中处于空闲状态的寄存器,具体的,可以在微控制器芯片中获取外设模块中的至少一个功能子模块各自对应的工作状态,将工作状态为空闲状态的功能子模块所关联的寄存器确定为空闲寄存器。
步骤202,将外设模块中的至少一个空闲寄存器整理为该外设模块对应的空间碎片。
步骤203,将微控制器芯片中的全部外设模块分别对应的空间碎片整理为可连续访问的地址空间,并设置地址空间的空间参数。
在一实施例中,MCU中还可以设置扩展RAM管理器,该扩展RAM管理器接连到系统总线,并与每一个外设模块中的寄存器空间管理模块进行连接,以进行总的信息整合。
具体的,MCU中的扩展RAM管理器可以用于管理所有外设空间管理模块提交的空间碎片, 并将其整理成可连接访问的地址空间, 并提供相关的空间参数。
步骤204,从非易失性存储器中获取扩展RAM的配置参数,将微控制器芯片进行复位,并在复位后基于配置参数和空间参数对扩展RAM进行配置。
在嵌入式设计中, 要求尽可能早的规划好系统的存储空间(RAM和ROM)。这样开发人员可以在项目配置阶段就对系统存储资源进行合理的分配, 对目前的集成开发环境来说也更要合理。因此在本申请实施例中可以使用一个非易失存储区间来存储扩展RAM的配置。用户提前在该区域填入对应参数后, 给器件复位或重新上电, 目标器件会其复位完成之前组织分配好这些扩展得到的RAM。
步骤205,配置完成后对微控制器芯片再次进行复位。
为了避免扩展RAM空间动态变化导致数据错误, 因此使用外设寄存器扩展RAM遵循先配置再使用的原则来进行, 先使用非易失性存储器存储外设寄存器RAM扩展的参数,MCU复位后先完成所有被选中外设的寄存器到RAM的扩展再执行复位中断函数(也即执行用户应用代码)。MCU再次复位后便可以使用空闲寄存器扩展RAM。
步骤206,将原始的系统RAM空间最大的地址加1,并作为扩展RAM的起始逻辑地址。
具体的,扩展得到的RAM空间起始地址等于MCU原RAM空间最大的地址加1,即进行RAM扩展后, 自MCU原有RAM空间起始地址起至扩展得到的RAM空间结束地址是一整段可以连续访问的空间,从而保证使用的连续性。
在一实施例中,当通过数据总线访问由寄存器扩展得到的RAM空间时, 扩展RAM管理器检查到地址位于扩展得到的RAM空间的逻辑地址中的地址时,会将目标地址发给所有使能了空闲寄存器扩展RAM功能的外设。包含目标逻辑地址的外设寄存器空间管理模块将响应总线对逻辑RAM地址的操作。当扩展RAM管理器收到不在扩展得到的RAM空间的逻辑地址范围的地址时, 扩展RAM管理器不执行任何操作。也即所述方法还可以包括:当所述微控制器芯片通过数据总线访问所述扩展RAM时, 查找位于所述扩展RAM中的目标逻辑地址,包含所述目标逻辑地址的外设模块响应所述数据总线的访问操作。
由上可知,本申请实施例提供的将外设寄存器扩展为系统RAM的方法可以在微控制器芯片中识别外设模块的至少一个空闲寄存器,将外设模块中的至少一个空闲寄存器整理为该外设模块对应的空间碎片,将微控制器芯片中的全部外设模块分别对应的空间碎片整理为可连续访问的地址空间,并设置地址空间的空间参数,从非易失性存储器中获取扩展RAM的配置参数,将微控制器芯片进行复位,并在复位后基于配置参数和空间参数对扩展RAM进行配置,配置完成后对微控制器芯片再次进行复位,将原始的系统RAM空间最大的地址加1,并作为扩展RAM的起始逻辑地址。本申请实施例通过将空闲寄存器集中起来, 提供连续的访问地址,从而在一定程度上扩展MCU的RAM空间并且提高了空闲寄存器的利用率。
为便于更好的实施本申请实施例提供的将外设寄存器扩展为系统RAM的方法,本申请实施例还提供一种基于上述将外设寄存器扩展为系统RAM的方法的装置。其中名词的含义与上述将外设寄存器扩展为系统RAM的方法中相同,具体实现细节可以参考方法实施例中的说明。
在本实施例中,将从将外设寄存器扩展为系统RAM的装置的角度进行描述,该将外设寄存器扩展为系统RAM的装置具体可以集成由多个终端装置组成的系统中。
请参阅图4,图4为本申请实施例提供的将外设寄存器扩展为系统RAM的装置300的一种结构示意图。其中,上述将外设寄存器扩展为系统RAM的装置300可以包括:
识别单元301,用于在微控制器芯片中识别外设模块的至少一个空闲寄存器;
整理单元302,用于将识别到的至少一个空闲寄存器整理为可连续访问的地址空间,并设置所述地址空间的空间参数;
配置单元303,用于将所述地址空间配置为扩展RAM;
设置单元304,用于根据原始的系统RAM的结束逻辑地址设置所述扩展RAM的起始逻辑地址。
由上述可知,本申请实施例提供的将外设寄存器扩展为系统RAM的装置可以在微控制器芯片中识别外设模块的至少一个空闲寄存器,将识别到的至少一个空闲寄存器整理为可连续访问的地址空间,并设置地址空间的空间参数,将地址空间配置为扩展RAM,根据原始的系统RAM的结束逻辑地址设置扩展RAM的起始逻辑地址。本申请实施例通过将空闲寄存器集中起来, 提供连续的访问地址,从而在一定程度上扩展MCU的RAM空间并且提高了空闲寄存器的利用率。
本申请实施例还提供一种电子设备600,如图5所示,该电子设备600可以包括射频(RF,Radio Frequency)电路601、包括有一个或一个以上计算机可读存储介质的存储器602、输入单元603、显示单元604、传感器605、音频电路606、无线保真(WiFi,WirelessFidelity)模块607、包括有一个或者一个以上处理核心的处理器608、以及电源609等部件。本领域技术人员可以理解,图5中示出的电子设备600结构并不构成对电子设备600的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路601可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器608处理;另外,将涉及上行的数据发送给基站。通常,RF电路601包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM,Subscriber Identity Module)卡、收发信机、耦合器、低噪声放大器(LNA,Low Noise Amplifier)、双工器等。此外,RF电路601还可以通过无线通信与网络和其他设备通信。无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GSM,Global System of Mobile communication)、通用分组无线服务(GPRS ,GeneralPacket Radio Service)、码分多址(CDMA,Code Division Multiple Access)、宽带码分多址(WCDMA,Wideband Code Division Multiple Access)、长期演进(LTE,Long TermEvolution)、电子邮件、短消息服务(SMS,Short Messaging Service)等。
存储器602可用于存储软件程序以及模块,处理器608通过运行存储在存储器602的软件程序以及模块,从而执行各种功能应用以及信息处理。存储器602可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、目标数据播放功能等)等;存储数据区可存储根据电子设备600的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器602还可以包括存储器控制器,以提供处理器608和输入单元603对存储器602的访问。
输入单元603可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元603可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器608,并能接收处理器608发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元603还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元604可用于显示由用户输入的信息或提供给用户的信息以及电子设备600的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元604可包括显示面板,可选的,可以采用液晶显示器(LCD,Liquid CrystalDisplay)、有机发光二极管(OLED,Organic Light-Emitting Diode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器608以确定触摸事件的类型,随后处理器608根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图5中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。
电子设备600还可包括至少一种传感器605,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板的亮度,接近传感器可在电子设备600移动到耳边时,关闭显示面板和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于电子设备600还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路606、扬声器、传声器可提供用户与电子设备600之间的音频接口。音频电路606可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路606接收后转换为音频数据,再将音频数据输出处理器608处理后,经RF电路601以发送给比如另一电子设备600,或者将音频数据输出至存储器602以便进一步处理。音频电路606还可能包括耳塞插孔,以提供外设耳机与电子设备600的通信。
WiFi属于短距离无线传输技术,电子设备600通过WiFi模块607可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图5示出了WiFi模块607,但是可以理解的是,其并不属于电子设备600的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器608是电子设备600的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器602内的软件程序和/或模块,以及调用存储在存储器602内的数据,执行电子设备600的各种功能和处理数据,从而对电子设备600进行整体监控。可选的,处理器608可包括一个或多个处理核心;优选的,处理器608可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器608中。
电子设备600还包括给各个部件供电的电源609(比如电池),优选的,电源可以通过电源管理系统与处理器608逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源609还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源数据指示器等任意组件。
尽管未示出,电子设备600还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,电子设备600中的处理器608会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器602中,并由处理器608来运行存储在存储器602中的应用程序,从而实现各种功能:
在微控制器芯片中识别外设模块的至少一个空闲寄存器;
将识别到的至少一个空闲寄存器整理为可连续访问的地址空间,并设置所述地址空间的空间参数;
将所述地址空间配置为扩展RAM;
根据原始的系统RAM的结束逻辑地址设置所述扩展RAM的起始逻辑地址。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对将外设寄存器扩展为系统RAM的方法的详细描述,此处不再赘述。
由上可知,本申请实施例的电子设备600可以在微控制器芯片中识别外设模块的至少一个空闲寄存器,将识别到的至少一个空闲寄存器整理为可连续访问的地址空间,并设置地址空间的空间参数,将地址空间配置为扩展RAM,根据原始的系统RAM的结束逻辑地址设置扩展RAM的起始逻辑地址。本申请实施例通过将空闲寄存器集中起来, 提供连续的访问地址,从而在一定程度上扩展MCU的RAM空间并且提高了空闲寄存器的利用率。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例还提供一种存储介质,其上存储有多条指令,所述指令适于处理器进行加载,以执行上述将外设寄存器扩展为系统RAM的方法中的步骤。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本申请实施例所提供的任一种将外设寄存器扩展为系统RAM的方法中的步骤,因此,可以实现本申请实施例所提供的任一种将外设寄存器扩展为系统RAM的方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的将外设寄存器扩展为系统RAM的方法、装置及存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (7)
1.一种将外设寄存器扩展为系统RAM的方法,其特征在于,所述方法包括:
在微控制器芯片中识别外设模块的至少一个空闲寄存器;
将所述外设模块中的至少一个空闲寄存器整理为该外设模块对应的空间碎片,通过系统总线将所述微控制器芯片中的全部外设模块分别对应的空间碎片整理为可连续访问的地址空间,并设置所述地址空间的空间参数,其中,所述系统总线与每个外设模块中的寄存器空间管理模块进行连接;
将所述地址空间配置为扩展RAM,所述将所述地址空间配置为扩展RAM,包括:从非易失性存储器中获取扩展RAM的配置参数,将所述微控制器芯片进行复位,并在复位后基于所述配置参数和空间参数对扩展RAM进行配置,配置完成后对所述微控制器芯片再次进行复位;
根据原始的系统RAM的结束逻辑地址设置所述扩展RAM的起始逻辑地址,所述根据原始的系统RAM的结束逻辑地址设置所述扩展RAM的起始逻辑地址,包括:将原始的系统RAM空间最大的地址加1,并作为所述扩展RAM的起始逻辑地址,以使原始的系统RAM的起始逻辑地址至所述扩展RAM的结束逻辑地址为连续可访问空间。
2.根据权利要求1所述的将外设寄存器扩展为系统RAM的方法,其特征在于,所述在微控制器芯片中识别外设模块的至少一个空闲寄存器,包括:
在微控制器芯片中获取所述外设模块的工作状态;
将工作状态为空闲状态的外设模块所包含的至少一个寄存器确定为所述空闲寄存器。
3.根据权利要求1所述的将外设寄存器扩展为系统RAM的方法,其特征在于,所述在微控制器芯片中识别外设模块的至少一个空闲寄存器,包括:
在微控制器芯片中获取所述外设模块中的至少一个功能子模块各自对应的工作状态;
将工作状态为空闲状态的功能子模块所关联的寄存器确定为所述空闲寄存器。
4.根据权利要求1-3任一项所述的将外设寄存器扩展为系统RAM的方法,其特征在于,所述方法还包括:
当所述微控制器芯片通过数据总线访问所述扩展RAM时, 查找位于所述扩展RAM中的目标逻辑地址;
包含所述目标逻辑地址的外设模块响应所述数据总线的访问操作。
5.一种将外设寄存器扩展为系统RAM的装置,其特征在于,包括:
识别单元,用于在微控制器芯片中识别外设模块的至少一个空闲寄存器;
整理单元,用于将所述外设模块中的至少一个空闲寄存器整理为该外设模块对应的空间碎片,通过系统总线将所述微控制器芯片中的全部外设模块分别对应的空间碎片整理为可连续访问的地址空间,并设置所述地址空间的空间参数,其中,所述系统总线与每个外设模块中的寄存器空间管理模块进行连接;
配置单元,用于将所述地址空间配置为扩展RAM,所述配置单元具体用于从非易失性存储器中获取扩展RAM的配置参数,将所述微控制器芯片进行复位,并在复位后基于所述配置参数和空间参数对扩展RAM进行配置,配置完成后对所述微控制器芯片再次进行复位;
设置单元,用于根据原始的系统RAM的结束逻辑地址设置所述扩展RAM的起始逻辑地址,所述设置单元具体用于将原始的系统RAM空间最大的地址加1,并作为所述扩展RAM的起始逻辑地址,以使原始的系统RAM的起始逻辑地址至所述扩展RAM的结束逻辑地址为连续可访问空间。
6.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4中任一项所述的将外设寄存器扩展为系统RAM的方法中的步骤。
7.一种存储介质,其特征在于,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至4任一项所述的将外设寄存器扩展为系统RAM的方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311007681.XA CN116737601B (zh) | 2023-08-11 | 2023-08-11 | 将外设寄存器扩展为系统ram的方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311007681.XA CN116737601B (zh) | 2023-08-11 | 2023-08-11 | 将外设寄存器扩展为系统ram的方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116737601A CN116737601A (zh) | 2023-09-12 |
CN116737601B true CN116737601B (zh) | 2023-11-17 |
Family
ID=87918933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311007681.XA Active CN116737601B (zh) | 2023-08-11 | 2023-08-11 | 将外设寄存器扩展为系统ram的方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116737601B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4878174A (en) * | 1987-11-03 | 1989-10-31 | Lsi Logic Corporation | Flexible ASIC microcomputer permitting the modular modification of dedicated functions and macroinstructions |
JPH02113354A (ja) * | 1988-10-24 | 1990-04-25 | Hitachi Ltd | データ処理用半導体集積回路 |
US5835925A (en) * | 1996-03-13 | 1998-11-10 | Cray Research, Inc. | Using external registers to extend memory reference capabilities of a microprocessor |
JP2000047940A (ja) * | 1998-07-30 | 2000-02-18 | Toshiba Corp | キャッシュ制御装置とキャッシュ制御方法 |
CN104915301A (zh) * | 2015-06-01 | 2015-09-16 | 浪潮集团有限公司 | 一种基于8051单片机的外挂ram接口数据访问系统 |
CN112015522A (zh) * | 2020-11-02 | 2020-12-01 | 鹏城实验室 | 系统功能扩展方法、装置及计算机可读存储介质 |
CN112527197A (zh) * | 2020-12-09 | 2021-03-19 | 北京握奇智能科技有限公司 | 一种智能卡碎片存储空间整理方法、智能卡及系统 |
CN116010297A (zh) * | 2021-10-22 | 2023-04-25 | 华为技术有限公司 | 文件系统部署及扩展方法、装置、设备及存储介质 |
-
2023
- 2023-08-11 CN CN202311007681.XA patent/CN116737601B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4878174A (en) * | 1987-11-03 | 1989-10-31 | Lsi Logic Corporation | Flexible ASIC microcomputer permitting the modular modification of dedicated functions and macroinstructions |
JPH02113354A (ja) * | 1988-10-24 | 1990-04-25 | Hitachi Ltd | データ処理用半導体集積回路 |
US5835925A (en) * | 1996-03-13 | 1998-11-10 | Cray Research, Inc. | Using external registers to extend memory reference capabilities of a microprocessor |
JP2000047940A (ja) * | 1998-07-30 | 2000-02-18 | Toshiba Corp | キャッシュ制御装置とキャッシュ制御方法 |
CN104915301A (zh) * | 2015-06-01 | 2015-09-16 | 浪潮集团有限公司 | 一种基于8051单片机的外挂ram接口数据访问系统 |
CN112015522A (zh) * | 2020-11-02 | 2020-12-01 | 鹏城实验室 | 系统功能扩展方法、装置及计算机可读存储介质 |
CN112527197A (zh) * | 2020-12-09 | 2021-03-19 | 北京握奇智能科技有限公司 | 一种智能卡碎片存储空间整理方法、智能卡及系统 |
CN116010297A (zh) * | 2021-10-22 | 2023-04-25 | 华为技术有限公司 | 文件系统部署及扩展方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116737601A (zh) | 2023-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3402160B1 (en) | Service processing method and apparatus | |
CN106786962B (zh) | 充电控制方法、装置及终端 | |
CN110888821B (zh) | 一种内存管理方法及装置 | |
CN110046497B (zh) | 一种函数挂钩实现方法、装置和存储介质 | |
CN106775833B (zh) | 设备驱动程序加载方法、终端及系统 | |
CN106502703B (zh) | 一种函数调用方法和装置 | |
US10754684B2 (en) | Method for controlling process and related device | |
US11099898B2 (en) | Method for allocating memory resources and terminal device | |
CN109992399B (zh) | 资源管理方法、装置、移动终端及计算机可读存储介质 | |
EP2869604B1 (en) | Method, apparatus and device for processing a mobile terminal resource | |
CN108984374B (zh) | 一种数据库性能的测试方法和系统 | |
WO2020134899A1 (zh) | 一种搜网列表生成方法、搜网方法及相应装置 | |
CN111309325A (zh) | 一种第三方库引用的方法、装置及移动终端 | |
CN110677456A (zh) | 一种资源配置的方法及设备 | |
CN113741971A (zh) | 微控制芯片上的程序运行方法、装置及存储介质 | |
CN106775745B (zh) | 合并程序代码的方法及装置 | |
CN111026457B (zh) | 一种硬件配置方法、装置、存储介质及终端设备 | |
CN110109788B (zh) | 多按键检测方法、装置、电子设备及存储介质 | |
CN116737601B (zh) | 将外设寄存器扩展为系统ram的方法、装置及存储介质 | |
CN112261634B (zh) | 一种蓝牙传输控制方法、装置、终端设备和存储介质 | |
WO2018219117A1 (zh) | 组件显示方法及相关产品 | |
CN107122204B (zh) | 应用的卸载状态检测方法及装置 | |
CN106155733B (zh) | 一种运行应用程序的方法和装置 | |
CN115269517A (zh) | 一种文件管理方法、装置、存储介质及终端 | |
CN116737602B (zh) | 将外设ram共享为系统ram的方法、装置及存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |