将外设寄存器扩展为系统RAM的方法、装置及存储介质与流程
未命名
09-17
阅读:115
评论:0

将外设寄存器扩展为系统ram的方法、装置及存储介质
技术领域
1.本技术涉及芯片设计领域,具体涉及一种将外设寄存器扩展为系统ram的方法、装置及存储介质。
背景技术:
2.随着物联网技术的不断发展,mcu(microcontroller unit;微控制器)芯片和传感器的系统应用范围广泛。其中,mcu又称单片微型计算机或者单片机。mcu中有些外设拥有自己的寄存器,外设寄存器一般指的是主板上除了cpu外其他位置上分部的能够让cpu直接操作以方便cpu对外部设备进行访问的寄存器,我们常说的端口port本质上就是指这些外设寄存器。
3.现在的低成本的mcu芯片上, ram存储空间通常比较紧张。同时, 我们一般情况下不会将通用mcu的所有外设全部使用,在使用一个外设的时候, 很多情况下, 只用到这个外设的一部分功能,这样就会有很多外设的寄存器空闲下来,造成了一定资源浪费,另外在现有技术当中,针对系统ram空间不足也是通过更换mcu或者外部扩展ram的方式来解决该问题,成本较高。
技术实现要素:
4.本技术提供一种将外设寄存器扩展为系统ram的方法、装置及存储介质,可以将空闲寄存器集中起来, 提供连续的访问地址,从而在一定程度上扩展mcu的ram空间。
5.为实现上述有益效果,本技术实施例提供以下技术方案:第一方面,本技术提供一种将外设寄存器扩展为系统ram的方法,所述方法包括:在微控制器芯片中识别外设模块的至少一个空闲寄存器;将识别到的至少一个空闲寄存器整理为可连续访问的地址空间,并设置所述地址空间的空间参数;将所述地址空间配置为扩展ram;根据原始的系统ram的结束逻辑地址设置所述扩展ram的起始逻辑地址。
6.第二方面,本技术提供一种将外设寄存器扩展为系统ram的装置,包括:识别单元,用于在微控制器芯片中识别外设模块的至少一个空闲寄存器;整理单元,用于将识别到的至少一个空闲寄存器整理为可连续访问的地址空间,并设置所述地址空间的空间参数;配置单元,用于将所述地址空间配置为扩展ram;设置单元,用于根据原始的系统ram的结束逻辑地址设置所述扩展ram的起始逻辑地址。
7.第三方面,本技术提供一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述将外设寄存器扩展为系统ram的方法中的步骤。
8.第四方面,本技术提供一种存储介质,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行上述将外设寄存器扩展为系统ram的方法中的步骤。
9.本技术提供的实施例提供的方法可以在微控制器芯片中识别外设模块的至少一个空闲寄存器,将识别到的至少一个空闲寄存器整理为可连续访问的地址空间,并设置地址空间的空间参数,将地址空间配置为扩展ram,根据原始的系统ram的结束逻辑地址设置扩展ram的起始逻辑地址。本技术实施例通过将空闲寄存器集中起来, 提供连续的访问地址,从而在一定程度上扩展mcu的ram空间并且提高了空闲寄存器的利用率。
附图说明
10.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
11.图1是本技术实施例提供的将外设寄存器扩展为系统ram的方法的一种流程示意图;图2是本技术实施例提供的微控制器芯片的逻辑结构示意图;图3是本技术实施例提供的将外设寄存器扩展为系统ram的方法的另一流程示意图;图4为本技术实施例提供的将外设寄存器扩展为系统ram的装置的结构示意图;图5是本技术实施例提供的电子设备的结构示意图。
具体实施方式
12.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
13.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
14.本技术实施例提供一种将外设寄存器扩展为系统ram的方法,该将外设寄存器扩展为系统ram的方法的执行主体可以是本技术实施例提供的将外设寄存器扩展为系统ram的装置,或者集成了该将外设寄存器扩展为系统ram的装置的服务器,其中该将外设寄存器扩展为系统ram的装置可以采用硬件或者软件的方式实现。
15.在本实施例中,将从将外设寄存器扩展为系统ram的装置的角度进行描述,该将外设寄存器扩展为系统ram的装置具体可以集成在电子设备中,电子设备为在具备储存单元并能够运行应用程序的电子设备。
16.本技术实施例提供一种将外设寄存器扩展为系统ram的方法,所述方法包括:在微控制器芯片中识别外设模块的至少一个空闲寄存器;
将识别到的至少一个空闲寄存器整理为可连续访问的地址空间,并设置所述地址空间的空间参数;将所述地址空间配置为扩展ram;根据原始的系统ram的结束逻辑地址设置所述扩展ram的起始逻辑地址。
17.在描述本技术的技术方案之前,先对相关的技术术语进行简单解释:soc:是system on chip单词的首字母缩写,即片上系统芯片。soc芯片主要由cpu内核、总线系统、片内存储器和多种数字及模拟功能外设组成。soc芯片的特点是通过运行在其上的嵌入式软件,配合芯片的硬件资源实现目标应用。
18.mcu:微控制器,是把中央处理器(central process unit;cpu)的频率与规格做适当缩减,并将内存(memory)、计数器(timer)、usb、a/d转换、uart、plc、dma等周边接口,甚至lcd驱动电路都整合在单一芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。
19.寄存器,通常包括内部寄存器和外设寄存器,其中内部寄存器指的是cpu内核里的寄存器,如r0,r1等;外设寄存器一般是指一些某一特殊功能的物理地址,外设寄存器的物理地址都在0x4800_0000~0x5fff_ffff,比如stm32中,gpio、i
²
c、spi、can都叫做外设寄存器。
20.请参阅图1,图1是本技术实施例提供的将外设寄存器扩展为系统ram的方法的一种流程示意图。该将外设寄存器扩展为系统ram的方法包括:步骤101,在微控制器芯片中识别外设模块的至少一个空闲寄存器。
21.在一实施例中,可以在微控制器芯片中的每一个外设模块当中设置一个外设寄存器空间管理模块,该外设寄存器空间管理模块可以用于识别当前外设中空闲寄存器并将这些空闲寄存器管理起来, 形成一个可连续访问的地址空间的作用。可选地,还可以仅在包含寄存器的外设模块当中设置上述外设寄存器空间管理模块,而针对不包含寄存器的外设模块则无需设置,从而降低资源的消耗。
22.在一实施例中,可以通过判断当前外设模块是否为工作状态的方式来确定其对应的寄存器状态,比如针对外设a,其上总共包括3个寄存器,若该外设a当前未处于工作模式,则其对应的寄存器1、寄存器2以及寄存器3均可以确定为空闲寄存器,本实施例可以通过判断外审模块的工作状态来确定其包含的寄存器是否为空闲寄存器。
23.在一实施例中,在确定当前外设模块为工作状态后,还可以进一步筛选该外设模块中的多个寄存器中处于空闲状态的寄存器。比如,针对处于工作状态的外设a,可以分别判断上述寄存器1、寄存器2以及寄存器3是否空闲,当寄存器1的最高位为零,表示空闲;当寄存器2的最高位为1,表示暂时被占用;当寄存器3的最高位为零,表示空闲。综上可以判断外设a的三个寄存器中处于空闲状态的寄存器为寄存器1和寄存器3。
24.步骤102,将识别到的至少一个空闲寄存器整理为可连续访问的地址空间,并设置地址空间的空间参数。
25.在一实施例中,mcu中还可以设置扩展ram管理器,该扩展ram管理器接连到系统总线,并与每一个外设模块中的寄存器空间管理模块进行连接,以进行总的信息整合。具体的,在每个外设模块中的寄存器空间管理模块识别到当前外设模块中的空闲寄存器后,便可以由扩展ram管理器管理所有外设空间管理模块提交的空闲寄存器信息,将其整理成可
连接访问的地址空间, 并提供相关的空间参数, 该空间参数可以包括比如由空闲寄存器扩展而得到的空间大小和该空间的读写速度等参数。
26.步骤103,将地址空间配置为扩展ram。
27.举例来说,请参阅图2,图2是本技术实施例提供的微控制器芯片的逻辑结构示意图,其中外设a包括5个寄存器分别为pr1、pr2、pr3、pr4以及pr5,当我们当前的应用系统中没有使用到外设a时, 这5个处于空闲状态的寄存器就可以通过配置变成一段连续的ram空间。其他的外设(外设b、外设c以及外设d)在扩展ram这一方面来说, 结构与外设a一致, 不同的地方在于根据不同外设实际的寄存器数量不同最终扩展得到的ram容量大小有一定差异。
28.进一步的,在这些空闲寄存器被当作ram扩展时, mcu系统便可以以连续地址访问这些空闲寄存器,具体的,在访问时都可以通过系统总线自动访问扩展ram管理器得到。
29.步骤104,根据原始的系统ram的结束逻辑地址设置扩展ram的起始逻辑地址。
30.在一实施例中,在通过总线访问这些由寄存器扩展得到的新ram区时, 与访问常规ram一致, 直接对指定地址进行读写即可。需要说明的是,在进行ram扩展后, 自mcu原有ram空间起始地址起至扩展得到的ram空间结束地址是一整段可以连续访问的空间。
31.在一个嵌入式系统中, 很多外设功能的使用都是有条件的。例如我们可以通过串口发送命令设置网络功能的开启与关闭。当遇到一个外设在某些情况下可以被关闭时, 这个外设的寄存器可以被利用起来。这样空闲寄存器的利用率更高, mcu可以开发更加灵活多变的应用。出于对应用数据安全的考量, 动态利用空闲外设寄存器扩展得到的ram空间直接使用外设寄存器空间管理模块得到的实际空间地址及大小, 外设寄存器空间管理模块会将其管理的最低物理地址寄存器的地址作为扩展得到的最小物理地址。
32.按照上述设计后,当用户程序不使用某个外设或不使用外设中的某个功能子模块的时候,可以直接使用扩展ram管理器将零散外设寄存器空间组合成连续可访问地址空间,并且扩展得到的ram起始地址直接从该mcu实际ram的最大地址之后开始, 使得芯片原有ram空间与扩展得到的ram空间连成一片, 便于访问。
33.由上可知,本技术实施例提供的将外设寄存器扩展为系统ram的方法可以在微控制器芯片中识别外设模块的至少一个空闲寄存器,将识别到的至少一个空闲寄存器整理为可连续访问的地址空间,并设置地址空间的空间参数,将地址空间配置为扩展ram,根据原始的系统ram的结束逻辑地址设置扩展ram的起始逻辑地址。本技术实施例通过将空闲寄存器集中起来, 提供连续的访问地址,从而在一定程度上扩展mcu的ram空间并且提高了空闲寄存器的利用率。
34.根据上一实施例中所描述的将外设寄存器扩展为系统ram的方法,以下将举例作进一步详细说明。
35.在本实施例中,将以该将外设寄存器扩展为系统ram的装置具体集成在电子设备中为例进行说明。
36.请参阅图3,图3为本技术实施例提供的将外设寄存器扩展为系统ram的方法的另一流程示意图。该方法流程可以包括:步骤201,在微控制器芯片中识别外设模块的至少一个空闲寄存器。
37.在一实施例中,可以通过判断当前外设模块是否为工作状态的方式来确定其对应
的寄存器状态,从而获取该外设模块中的空闲寄存器,具体的,可以在微控制器芯片中获取外设模块的工作状态,将工作状态为空闲状态的外设模块所包含的至少一个寄存器确定为空闲寄存器。
38.在一实施例中,在确定当前外设模块为工作状态后,还可以进一步筛选该外设模块中的多个寄存器中处于空闲状态的寄存器,具体的,可以在微控制器芯片中获取外设模块中的至少一个功能子模块各自对应的工作状态,将工作状态为空闲状态的功能子模块所关联的寄存器确定为空闲寄存器。
39.步骤202,将外设模块中的至少一个空闲寄存器整理为该外设模块对应的空间碎片。
40.步骤203,将微控制器芯片中的全部外设模块分别对应的空间碎片整理为可连续访问的地址空间,并设置地址空间的空间参数。
41.在一实施例中,mcu中还可以设置扩展ram管理器,该扩展ram管理器接连到系统总线,并与每一个外设模块中的寄存器空间管理模块进行连接,以进行总的信息整合。
42.具体的,mcu中的扩展ram管理器可以用于管理所有外设空间管理模块提交的空间碎片, 并将其整理成可连接访问的地址空间, 并提供相关的空间参数。
43.步骤204,从非易失性存储器中获取扩展ram的配置参数,将微控制器芯片进行复位,并在复位后基于配置参数和空间参数对扩展ram进行配置。
44.在嵌入式设计中, 要求尽可能早的规划好系统的存储空间(ram和rom)。这样开发人员可以在项目配置阶段就对系统存储资源进行合理的分配, 对目前的集成开发环境来说也更要合理。因此在本技术实施例中可以使用一个非易失存储区间来存储扩展ram的配置。用户提前在该区域填入对应参数后, 给器件复位或重新上电, 目标器件会其复位完成之前组织分配好这些扩展得到的ram。
45.步骤205,配置完成后对微控制器芯片再次进行复位。
46.为了避免扩展ram空间动态变化导致数据错误, 因此使用外设寄存器扩展ram遵循先配置再使用的原则来进行, 先使用非易失性存储器存储外设寄存器ram扩展的参数, mcu复位后先完成所有被选中外设的寄存器到ram的扩展再执行复位中断函数(也即执行用户应用代码)。mcu再次复位后便可以使用空闲寄存器扩展ram。
47.步骤206,将原始的系统ram空间最大的地址加1,并作为扩展ram的起始逻辑地址。
48.具体的,扩展得到的ram空间起始地址等于mcu原ram空间最大的地址加1,即进行ram扩展后, 自mcu原有ram空间起始地址起至扩展得到的ram空间结束地址是一整段可以连续访问的空间,从而保证使用的连续性。
49.在一实施例中,当通过数据总线访问由寄存器扩展得到的ram空间时, 扩展ram管理器检查到地址位于扩展得到的ram空间的逻辑地址中的地址时,会将目标地址发给所有使能了空闲寄存器扩展ram功能的外设。包含目标逻辑地址的外设寄存器空间管理模块将响应总线对逻辑ram地址的操作。当扩展ram管理器收到不在扩展得到的ram空间的逻辑地址范围的地址时, 扩展ram管理器不执行任何操作。也即所述方法还可以包括:当所述微控制器芯片通过数据总线访问所述扩展ram时, 查找位于所述扩展ram中的目标逻辑地址,包含所述目标逻辑地址的外设模块响应所述数据总线的访问操作。
50.由上可知,本技术实施例提供的将外设寄存器扩展为系统ram的方法可以在微控
制器芯片中识别外设模块的至少一个空闲寄存器,将外设模块中的至少一个空闲寄存器整理为该外设模块对应的空间碎片,将微控制器芯片中的全部外设模块分别对应的空间碎片整理为可连续访问的地址空间,并设置地址空间的空间参数,从非易失性存储器中获取扩展ram的配置参数,将微控制器芯片进行复位,并在复位后基于配置参数和空间参数对扩展ram进行配置,配置完成后对微控制器芯片再次进行复位,将原始的系统ram空间最大的地址加1,并作为扩展ram的起始逻辑地址。本技术实施例通过将空闲寄存器集中起来, 提供连续的访问地址,从而在一定程度上扩展mcu的ram空间并且提高了空闲寄存器的利用率。
51.为便于更好的实施本技术实施例提供的将外设寄存器扩展为系统ram的方法,本技术实施例还提供一种基于上述将外设寄存器扩展为系统ram的方法的装置。其中名词的含义与上述将外设寄存器扩展为系统ram的方法中相同,具体实现细节可以参考方法实施例中的说明。
52.在本实施例中,将从将外设寄存器扩展为系统ram的装置的角度进行描述,该将外设寄存器扩展为系统ram的装置具体可以集成由多个终端装置组成的系统中。
53.请参阅图4,图4为本技术实施例提供的将外设寄存器扩展为系统ram的装置300的一种结构示意图。其中,上述将外设寄存器扩展为系统ram的装置300可以包括:识别单元301,用于在微控制器芯片中识别外设模块的至少一个空闲寄存器;整理单元302,用于将识别到的至少一个空闲寄存器整理为可连续访问的地址空间,并设置所述地址空间的空间参数;配置单元303,用于将所述地址空间配置为扩展ram;设置单元304,用于根据原始的系统ram的结束逻辑地址设置所述扩展ram的起始逻辑地址。
54.由上述可知,本技术实施例提供的将外设寄存器扩展为系统ram的装置可以在微控制器芯片中识别外设模块的至少一个空闲寄存器,将识别到的至少一个空闲寄存器整理为可连续访问的地址空间,并设置地址空间的空间参数,将地址空间配置为扩展ram,根据原始的系统ram的结束逻辑地址设置扩展ram的起始逻辑地址。本技术实施例通过将空闲寄存器集中起来, 提供连续的访问地址,从而在一定程度上扩展mcu的ram空间并且提高了空闲寄存器的利用率。
55.本技术实施例还提供一种电子设备600,如图5所示,该电子设备600可以包括射频(rf,radio frequency)电路601、包括有一个或一个以上计算机可读存储介质的存储器602、输入单元603、显示单元604、传感器605、音频电路606、无线保真(wifi,wireless fidelity)模块607、包括有一个或者一个以上处理核心的处理器608、以及电源609等部件。本领域技术人员可以理解,图5中示出的电子设备600结构并不构成对电子设备600的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:rf电路601可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器608处理;另外,将涉及上行的数据发送给基站。通常,rf电路601包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(sim,subscriber identity module)卡、收发信机、耦合器、低噪声放大器(lna,low noise amplifier)、双工器等。此外,rf电路601还可以通过无线通信与网络和其他设备通信。无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统
至于电子设备600还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
60.音频电路606、扬声器、传声器可提供用户与电子设备600之间的音频接口。音频电路606可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路606接收后转换为音频数据,再将音频数据输出处理器608处理后,经rf电路601以发送给比如另一电子设备600,或者将音频数据输出至存储器602以便进一步处理。音频电路606还可能包括耳塞插孔,以提供外设耳机与电子设备600的通信。
61.wifi属于短距离无线传输技术,电子设备600通过wifi模块607可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图5示出了wifi模块607,但是可以理解的是,其并不属于电子设备600的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
62.处理器608是电子设备600的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器602内的软件程序和/或模块,以及调用存储在存储器602内的数据,执行电子设备600的各种功能和处理数据,从而对电子设备600进行整体监控。可选的,处理器608可包括一个或多个处理核心;优选的,处理器608可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器608中。
63.电子设备600还包括给各个部件供电的电源609(比如电池),优选的,电源可以通过电源管理系统与处理器608逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源609还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源数据指示器等任意组件。
64.尽管未示出,电子设备600还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,电子设备600中的处理器608会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器602中,并由处理器608来运行存储在存储器602中的应用程序,从而实现各种功能:在微控制器芯片中识别外设模块的至少一个空闲寄存器;将识别到的至少一个空闲寄存器整理为可连续访问的地址空间,并设置所述地址空间的空间参数;将所述地址空间配置为扩展ram;根据原始的系统ram的结束逻辑地址设置所述扩展ram的起始逻辑地址。
65.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对将外设寄存器扩展为系统ram的方法的详细描述,此处不再赘述。
66.由上可知,本技术实施例的电子设备600可以在微控制器芯片中识别外设模块的至少一个空闲寄存器,将识别到的至少一个空闲寄存器整理为可连续访问的地址空间,并设置地址空间的空间参数,将地址空间配置为扩展ram,根据原始的系统ram的结束逻辑地址设置扩展ram的起始逻辑地址。本技术实施例通过将空闲寄存器集中起来, 提供连续的访问地址,从而在一定程度上扩展mcu的ram空间并且提高了空闲寄存器的利用率。
67.本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
68.为此,本技术实施例还提供一种存储介质,其上存储有多条指令,所述指令适于处理器进行加载,以执行上述将外设寄存器扩展为系统ram的方法中的步骤。
69.以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
70.其中,该存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、磁盘或光盘等。
71.由于该存储介质中所存储的指令,可以执行本技术实施例所提供的任一种将外设寄存器扩展为系统ram的方法中的步骤,因此,可以实现本技术实施例所提供的任一种将外设寄存器扩展为系统ram的方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
72.以上对本技术实施例所提供的将外设寄存器扩展为系统ram的方法、装置及存储介质进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
技术特征:
1.一种将外设寄存器扩展为系统ram的方法,其特征在于,所述方法包括:在微控制器芯片中识别外设模块的至少一个空闲寄存器;将识别到的至少一个空闲寄存器整理为可连续访问的地址空间,并设置所述地址空间的空间参数;将所述地址空间配置为扩展ram;根据原始的系统ram的结束逻辑地址设置所述扩展ram的起始逻辑地址。2.根据权利要求1所述的将外设寄存器扩展为系统ram的方法,其特征在于,所述在微控制器芯片中识别外设模块的至少一个空闲寄存器,包括:在微控制器芯片中获取所述外设模块的工作状态;将工作状态为空闲状态的外设模块所包含的至少一个寄存器确定为所述空闲寄存器。3.根据权利要求1所述的将外设寄存器扩展为系统ram的方法,其特征在于,所述在微控制器芯片中识别外设模块的至少一个空闲寄存器,包括:在微控制器芯片中获取所述外设模块中的至少一个功能子模块各自对应的工作状态;将工作状态为空闲状态的功能子模块所关联的寄存器确定为所述空闲寄存器。4.根据权利要求1所述的将外设寄存器扩展为系统ram的方法,其特征在于,所述将识别到的至少一个空闲寄存器整理为可连续访问的地址空间,包括:将所述外设模块中的至少一个空闲寄存器整理为该外设模块对应的空间碎片;将所述微控制器芯片中的全部外设模块分别对应的空间碎片整理为可连续访问的地址空间。5.根据权利要求1所述的将外设寄存器扩展为系统ram的方法,其特征在于,所述将所述地址空间配置为扩展ram,包括:从非易失性存储器中获取扩展ram的配置参数;将所述微控制器芯片进行复位,并在复位后基于所述配置参数和空间参数对扩展ram进行配置;配置完成后对所述微控制器芯片再次进行复位。6.根据权利要求1-5任一项所述的将外设寄存器扩展为系统ram的方法,其特征在于,所述根据原始的系统ram的结束逻辑地址设置所述扩展ram的起始逻辑地址,包括:将原始的系统ram空间最大的地址加1,并作为所述扩展ram的起始逻辑地址,以使原始的系统ram的起始逻辑地址至所述扩展ram的结束逻辑地址为连续可访问空间。7.根据权利要求1-5任一项所述的将外设寄存器扩展为系统ram的方法,其特征在于,所述方法还包括:当所述微控制器芯片通过数据总线访问所述扩展ram时, 查找位于所述扩展ram中的目标逻辑地址;包含所述目标逻辑地址的外设模块响应所述数据总线的访问操作。8.一种将外设寄存器扩展为系统ram的装置,其特征在于,包括:识别单元,用于在微控制器芯片中识别外设模块的至少一个空闲寄存器;整理单元,用于将识别到的至少一个空闲寄存器整理为可连续访问的地址空间,并设置所述地址空间的空间参数;配置单元,用于将所述地址空间配置为扩展ram;
设置单元,用于根据原始的系统ram的结束逻辑地址设置所述扩展ram的起始逻辑地址。9.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的将外设寄存器扩展为系统ram的方法中的步骤。10.一种存储介质,其特征在于,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至7任一项所述的将外设寄存器扩展为系统ram的方法中的步骤。
技术总结
本申请公开了一种将外设寄存器扩展为系统RAM的方法、装置及存储介质。本申请可以在微控制器芯片中识别外设模块的至少一个空闲寄存器,将识别到的至少一个空闲寄存器整理为可连续访问的地址空间,并设置地址空间的空间参数,将地址空间配置为扩展RAM,根据原始的系统RAM的结束逻辑地址设置扩展RAM的起始逻辑地址。本申请实施例通过将空闲寄存器集中起来,提供连续的访问地址,从而在一定程度上扩展MCU的RAM空间并且提高了空闲寄存器的利用率。MCU的RAM空间并且提高了空闲寄存器的利用率。MCU的RAM空间并且提高了空闲寄存器的利用率。
技术研发人员:刘吉平 陈天 王翔 郑增忠
受保护的技术使用者:深圳市航顺芯片技术研发有限公司
技术研发日:2023.08.11
技术公布日:2023/9/14
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/