CN106354657B - 寄存器访问方法、装置及*** - Google Patents

寄存器访问方法、装置及*** Download PDF

Info

Publication number
CN106354657B
CN106354657B CN201610711765.5A CN201610711765A CN106354657B CN 106354657 B CN106354657 B CN 106354657B CN 201610711765 A CN201610711765 A CN 201610711765A CN 106354657 B CN106354657 B CN 106354657B
Authority
CN
China
Prior art keywords
register
variable
bit
accessed
accessing
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
CN201610711765.5A
Other languages
English (en)
Other versions
CN106354657A (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.)
Beijing Xiaomi Mobile Software Co Ltd
Original Assignee
Beijing Xiaomi Mobile Software Co 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 Beijing Xiaomi Mobile Software Co Ltd filed Critical Beijing Xiaomi Mobile Software Co Ltd
Priority to CN201610711765.5A priority Critical patent/CN106354657B/zh
Publication of CN106354657A publication Critical patent/CN106354657A/zh
Application granted granted Critical
Publication of CN106354657B publication Critical patent/CN106354657B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本公开是关于一种寄存器访问方法、装置及***。该方法包括:获取待访问位域的起始地址和终止地址;根据所述待访问位域的起始地址和所述终止地址,确定所述待访问位域对应一个第一变量;通过访问对应的一个第一变量访问所述待访问位域,其中,寄存器包括N个位域,所述N个位域中的每个位域对应一个第一变量,N为大于或者等于2的正整数。由于每个位域对应一个第一变量,因此寄存器访问装置可以直接通过确定的第一变量访问待访问位域,无需通过寄存器对应的固定的地址和偏移量访问对应的位域,从而提高寄存器访问效率。

Description

寄存器访问方法、装置及***
技术领域
本公开涉及计算机技术领域,特别涉及一种寄存器访问方法、装置及***。
背景技术
在一些硬件***应用中,常常需要用中央处理器(Central Processing Unit,简称CPU)+现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、数字信号处理器(Digital Singnal Processor,简称DSP)+FPGA、或者进阶精简指令集机器(AdvancedReduced Instruction Set Computer Machine,简称ARM)处理器+FPGA或者微控制单元(Microcontroller Unit,简称MCU)+FPGA的架构来扩展处理器接口或者外设。
目前,一个寄存器包括多个位域,如果需要访问寄存器中的位域,根据待访问位域的起始地址和终止地址确定基于寄存器的初始地址的偏移量,然后在寄存器的初始地址基础上,偏移所述偏移量得到待访问位域的初始地址,通过该初始地址可以访问对应的位域。
发明内容
为克服相关技术中存在的问题,本公开提供一种寄存器访问方法、装置及***。所述技术方案如下:
根据本公开实施例的第一方面,提供一种寄存器访问方法,包括:
获取待访问位域的起始地址和终止地址;
根据待访问位域的起始地址和终止地址,确定待访问位域对应一个第一变量;
通过访问对应的一个第一变量访问所述待访问位域,其中,寄存器包括N个位域,所述N个位域中的每个位域对应一个第一变量,N为大于或者等于2的正整数。
本公开实施例提供的技术方案可以包括以下有益效果:由于每个位域对应一个第一变量,因此寄存器访问装置可以直接通过确定的第一变量访问待访问位域,无需通过寄存器对应的固定的地址和偏移量访问对应的位域,从而提高寄存器访问效率。
可选地,所述方法还包括:获取所述寄存器的起始地址和终止地址;
根据所述寄存器的起始地址和所述终止地址确定所述寄存器对应的第二变量;
通过访问所述第二变量访问所述寄存器的所有位域,其中,所述第二变量对应所述寄存器的所有位域。从而提高寄存器访问的灵活性。
可选地,第一变量和第二变量被定义在与所述寄存器对应的联合体中;
所述N个位域对应的N个第一变量被定义在一个结构体中;
相应的,所述通过访问对应的一个第一变量访问所述待访问位域,包括:
通过联合体标识、结构体标识与第一变量的标识组合访问所述待访问位域;
所述通过访问所述第二变量访问所述寄存器的所有位域,包括:
通过联合体标识与第二变量的标识组合访问所述寄存器的所有位域。
通过将寄存器定义为一个联合体,该联合体包括:所述N个第一变量和一个第二变量;所述N个第一变量组成一个结构体,所述第二变量用于表示所述寄存器。而无需像现有技术中,仅仅定义寄存器为一个变量,只能通过寄存器对应的固定的地址和偏移量访问对应的位域,本公开实施例中,寄存器对应有第一变量,即每个位域对应一个变量,因此寄存器访问装置可以直接根据该第一变量访问待访问位域,从而提高寄存器访问效率。
可选地,通过联合体标识、结构体标识与第一变量的标识组合访问所述待访问位域,包括:
通过联合体标识、结构体标识与第一变量的标识组合读取所述待访问位域中的所述数据;或者,
在待访问位域为空时,则通过联合体标识、结构体标识与第一变量的标识组合向所述待访问位域写入数据,在待访问位域为非空时,通过联合体标识、结构体标识与第一变量的标识组合删除所述待访问位域中的原始数据,并向所述待访问位域写入新的数据。
由于可以直接根据确定的第一变量确定所述待访问位域,从而提高寄存器读取或者写入效率。
可选地,所述方法还包括:通过重新定义寄存器的N个位域中每个位域包含的位数及在寄存器中占用的位置,调整对应的第一变量。从而提高访问待访问位域的灵活性。
下面将介绍发明实施例提供一种寄存器访问装置,其中装置部分与上述方法对应,对应内容技术效果相同,在此不再赘述。
根据本公开实施例的第二方面,提供一种寄存器访问装置,包括:第一获取模块、第一确定模块和第一访问模块;
第一获取模块,被配置为获取待访问位域的起始地址和终止地址;
第一确定模块,被配置为根据待访问位域的起始地址和所述终止地址,确定所述待访问位域对应一个第一变量;
第一访问模块,被配置为通过访问对应的一个第一变量访问所述待访问位域,其中,所述寄存器包括N个位域,所述N个位域中的每个位域对应一个第一变量,N为大于或者等于2的正整数。
可选地,还包括:第二获取模块、第二确定模块和第二访问模块;
第二获取模块,被配置为获取所述寄存器的起始地址和终止地址;
第二确定模块,被配置为根据所述寄存器的起始地址和所述终止地址确定所述寄存器对应的第二变量;
第二访问模块,被配置为通过访问所述第二变量访问所述寄存器的所有位域,其中,所述第二变量对应所述寄存器的所有位域。
可选地,第一变量和第二变量被定义在与寄存器对应的联合体中;
N个位域对应的N个第一变量被定义在一个结构体中;
相应地,所述第一访问模块被配置为通过联合体标识、结构体标识与第一变量的标识组合访问所述待访问位域;
所述第二访问模块被配置为通过联合体标识与第二变量的标识组合访问所述待访问位域。
可选地,所述第一访问模块包括:读取子模块、写入子模块和删除子模块;
所述读取子模块,被配置为通过联合体标识、结构体标识与第一变量的标识组合读取所述待访问位域中的所述数据;或者
在待访问位域为空时,则所述写入子模块被配置为通过联合体标识、结构体标识与第一变量的标识组合向所述待访问位域写入数据,在待访问位域为非空时,则所述删除子模块被配置为通过联合体标识、结构体标识与第一变量的标识组合删除所述待访问位域中的原始数据,并且所述写入子模块被配置为向所述待访问位域写入新的数据。
可选地,还包括:调整模块;
所述调整模块,被配置为通过重新定义寄存器的N个位域中每个位域包含的位数及在寄存器中占用的位置,调整对应的第一变量。
根据本公开实施例的第三方面,提供一种寄存器访问***,包括:寄存器和如上述第二方面或者第二方面的可选方案的任一项所述的寄存器访问装置;
其中,所述寄存器访问装置用于访问所述寄存器中的待访问位域。
可选地,所述寄存器访问装置为以下任一项:中央处理器CPU、数字信号处理器DSP、微控制单元MCU和ARM处理器。
可选的,所述寄存器设置在现场可编程门阵列FPGA上。
本公开的实施例提供的技术方案可以包括以下有益效果:一种寄存器访问方法、装置及***。该方法包括:获取待访问位域的起始地址和终止地址;根据待访问位域的起始地址和所述终止地址确定所述待访问位域对应的一个第一变量;通过访问所述对应的一个第一变量访问所述待访问位域。由于每个位域对应一个第一变量,因此寄存器访问装置可以直接通过确定的第一变量访问待访问位域,无需通过寄存器对应的固定的地址和偏移量访问对应的位域,从而提高寄存器访问效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种寄存器访问方法的流程图;
图2是根据一示例性实施例示出的一种寄存器访问***的框图;
图3是根据另一示例性实施例示出的一种寄存器访问方法的流程图;
图4是根据再一示例性实施例示出的一种寄存器访问方法的流程图;
图5是根据一示例性实施例示出的一种寄存器访问装置的框图;
图6是根据另一示例性实施例示出的一种寄存器访问装置的框图;
图7是根据再一示例性实施例示出的一种寄存器访问装置的框图;
图8是根据一示例性实施例示出的一种寄存器访问***800的框图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种寄存器访问方法的流程图,该方法的执行主体为寄存器访问装置,该装置设置在寄存器访问***中,图2是根据一示例性实施例示出的一种寄存器访问***的框图,如图2所示,该***包括所述寄存器访问装置21和寄存器22,所述寄存器访问装置用于访问所述寄存器中的待访问位域,该寄存器访问装置21可以是CPU、DSP、MCU或者ARM处理器等,该装置可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等终端的一部分。具体地,如图1所示,该寄存器访问方法可以包括如下几个步骤:
在步骤S101中,获取待访问位域的起始地址和终止地址;
在步骤S102中,根据待访问位域的起始地址和终止地址,确定待访问位域对应一个第一变量;
在步骤S103中,通过访问对应的一个第一变量访问待访问位域。
其中,寄存器包括N个位域,N个位域中的每个位域对应一个第一变量,N为大于或者等于2的正整数,也就是说,第一变量与位域一一对应,该第一变量用于表示位域。其中,该位域通常是按照功能划分的,因此可以将位域称为功能单元。假设第一个位域对应的起始地址为A,终止地址为B,由于计算机技术中,每个变量也对应有起始地址和终止地址,因此,CPU、DSP、MCU或者ARM处理器准备访问第一个位域时,首先可以获取第一个位域的起始地址和终止地址;然后,根据起始地址和终止地址确定对应的第一变量;最后,根据该第一变量直接访问待访问位域。
本公开实施例中,由于每个位域对应一个第一变量,因此寄存器访问装置可以直接通过待访问位域对应的第一变量访问待访问位域,无需通过寄存器对应的固定的地址和偏移量访问对应的位域,从而提高寄存器访问效率。
可选地,获取寄存器的起始地址和终止地址;根据所述寄存器的起始地址和所述终止地址确定所述寄存器对应的第二变量;通过访问所述第二变量访问所述寄存器的所有位域,其中,所述第二变量对应所述寄存器的所有位域。
可选地,第一变量和第二变量被定义在与寄存器对应的联合体中;N个位域对应的N个第一变量被定义在一个结构体中;相应的,所述通过访问所述对应的一个第一变量访问所述待访问位域,包括:通过联合体标识、结构体标识与第一变量的标识组合访问所述待访问位域;所述通过访问所述第二变量访问所述寄存器的所有位域,包括:通过联合体标识与第二变量的标识组合访问所述寄存器的所有位域。
其中,在处理器一侧,首先通过FPGA中的寄存器地址定义处理器侧的寄存器名称Register1。
/*********通过FPGA中的寄存器地址定义处理器侧的寄存器名称Register1********/
#define Register1(A+B)//其中A为基地址,B为偏移地址
假设需要定义的寄存器有16位,该寄存器定义4个位域,第一个位域占用寄存器的3个bit,第二个位域占用寄存器的7个bit,第三个位域占用寄存器的1个bit,第四个位域占用寄存器的5个bit。寄存器位数和位域的个数可以根据实际需求进行调整,但所有位域所占用的位数之和要等于寄存器位数。
然后用结构体定义处理器一侧的寄存器位域,位域根据需要可以是某一位或者某几位一起定义。
Figure BDA0001088536400000061
再定义寄存器联合体,用于整体访问寄存器或者访问寄存器中的某一位或者某几位。
当需要访问寄存器的第12到第16位时,则确定第一变量为bit_d,通过联合体标识REG1、结构体标识Register1与第一变量的标识bit_d组合访问所述待访问位域,其中,联合体标识REG1、结构体标识Register1与第一变量的标识bit_d的组合为REG1.bit.bit_d,同样地,当需要访问寄存器的第11位时,则确定第一变量bit_c,通过联合体标识REG1、结构体标识Register1与第一变量的标识bit_c组合访问所述待访问位域,其中,联合体标识REG1、结构体标识Register1与第一变量的标识bit_d的组合为REG1.bit.bit_c;
当需要访问寄存器的所有位域时,则如寄存器的起始地址和终止地址确定第二变量,通过寄存器所对应的第二变量从寄存器的初始地址开始访问寄存器的所有位域。例如:REG1是联合体标识,all是第二变量的标识,通过REG1.all可以从寄存器的初始地址开始访问寄存器的所有位域。
本公开实施例中,通过将寄存器定义为一个联合体,该联合体包括:所述N个第一变量和一个第二变量;所述N个第一变量组成一个结构体,第二变量对应所述寄存器的所有位域。当通过第一变量访问待访问位域时,则无需像现有技术中,仅仅定义寄存器为一个变量,只能通过寄存器对应的固定的地址和偏移量访问对应的位域,本公开实施例中,寄存器对应有第一变量,即每个位域对应一个变量,因此寄存器访问装置可以直接根据该第一变量访问待访问位域,从而提高寄存器访问效率;还可以通过第二变量访问寄存器的所有位域。从而提高寄存器访问的灵活性。
可选地,通过重新定义寄存器的N个位域中每个位域包含的位数及在寄存器中占用的位置,调整对应的第一变量。第一变量所对应的位域位数发生变化或者在寄存器中占用的位置发生变化,即待访问位域发生变化,从而提高寄存器访问的灵活性。
下面将详细介绍通过第一变量读取待访问位域中的数据以及向待访问位域写入数据的过程。
图3是根据另一示例性实施例示出的一种寄存器访问方法的流程图,该方法的执行主体为寄存器访问装置,该寄存器访问装置可以是CPU、DSP、MCU或者ARM处理器等,如图3所示,该寄存器访问方法可以包括如下几个步骤:
在步骤S301中,获取待访问位域的起始地址和终止地址;
在步骤S302中,根据待访问位域的起始地址和终止地址,确定待访问位域对应一个第一变量;
在步骤S303中,通过联合体标识、结构体标识与第一变量的标识组合读取待访问位域中的所述数据。
其中,该过程为CPU、DSP、MCU或者ARM读取待访问位域中的数据的过程,该过程关键在于通过联合体标识、结构体标识与第一变量的标识组合读取待访问位域中的数据。由于寄存器对应多个位域,第一变量与位域一一对应,第一变量用于表示位域。假设CPU、DSP、MCU或者ARM准备从待访问位域中读取数据,则首先获取待访问位域的起始地址和终止地址,然后根据这两个地址确定对应的第一变量,最后,通过联合体标识、结构体标识与第一变量的标识组合读取待访问位域中的所述数据。
本公开实施例中,提供了读取寄存器位域中的数据的方法,获取待访问位域的起始地址和终止地址,确定待访问位域对应的一个第一变量时,通过联合体标识、结构体标识与第一变量的标识组合读取待访问位域中的所述数据,由于可以直接根据第一变量读取待访问位域中的数据,从而提高寄存器读取效率。
图4是根据再一示例性实施例示出的一种寄存器访问方法的流程图,本实施例以该寄存器访问方法应用于终端中来举例说明,该寄存器访问装置可以是CPU、DSP、MCU或者ARM处理器等,如图4所示,该寄存器访问方法可以包括如下几个步骤:
在步骤S401中,获取待访问位域的起始地址和终止地址;
在步骤S402中,根据待访问位域的起始地址和终止地址,确定待访问位域对应一个第一变量;
在步骤S403中,判断待访问位域是否为空;若是,则执行步骤S404,否则,则执行步骤S405;
在步骤S404中,通过联合体标识、结构体标识与第一变量的标识组合向待访问位域写入数据;
在步骤S405中,通过联合体标识、结构体标识与第一变量的标识组合删除待访问位域中的原始数据,并向待访问位域写入新的数据。
其中,该过程为CPU、DSP、MCU或者ARM在待访问位域中写入数据的过程,该过程关键在于通过联合体标识、结构体标识与第一变量的标识组合删除在待访问位域写入数据,由于寄存器对应多个位域,第一变量与位域一一对应,第一变量用于表示位域。假设CPU、DSP、MCU或者ARM准备在第一个位域写入数据,则首先获取第一个位域的起始地址A和终止地址B,根据该起始地址A和终止地址B确定对应的第一变量,根据确定的第一变量确定第一个位域,然后判断第一个位域是否为空,若为空则直接通过联合体标识、结构体标识与第一变量的标识组合向所述待访问位域写入数据,否则通过联合体标识、结构体标识与第一变量的标识组合删除所述待访问位域中的原始数据,并向所述待访问位域写入新的数据。
本公开实施例中,提供了在寄存器位域中写入数据的方法,根据待访问位域对应的起始地址和终止地址确定第一变量,直接通过第一变量在待访问位域中写入数据,从而提高寄存器写入效率。
通过联合体标识与第二变量的标识组合访问所述寄存器的所有位域,包括:通过联合体标识与第二变量的标识组合读取所述寄存器中的所述数据;或者,
在寄存器为空时,则通过联合体标识与第二变量的标识组合向所述寄存器写入数据,在寄存器为非空时,通过联合体标识与第二变量的标识组合删除所述寄存器中的原始数据,并向所述寄存器写入新的数据。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
图5是根据一示例性实施例示出的一种寄存器访问装置的框图,该寄存器访问装置可以通过软件、硬件或者两者的结合实现成为终端的部分。如图5所示,该寄存器访问装置可以包括:第一获取模块51、第一确定模块52和第一访问模块53;
所述第一获取模块51,被配置为获取待访问位域的起始地址和终止地址;
所述第一确定模块52,被配置为根据所述第一获取模块51所获取的所述待访问位域的起始地址和所述终止地址,确定所述待访问位域对应一个第一变量;
所述第一访问模块53,被配置为通过访问所述第一确定模块52所确定的第一变量访问所述待访问位域,其中,所述寄存器包括N个位域,所述N个位域中的每个位域对应一个第一变量,N为大于或者等于2的正整数。
本公开实施例所提供的寄存器访问装置,该装置部分与图1所示技术方案对应,对应内容技术效果相同,在此不再赘述。
可选地,图6是根据另一示例性实施例示出的一种寄存器访问装置的框图,该寄存器访问装置可以通过软件、硬件或者两者的结合实现成为终端的部分。如图6所示,所述装置还包括:第二获取模块54、第二确定模块55和第二访问模块56;
所述第二获取模块54,被配置为获取所述寄存器的起始地址和终止地址;
所述第二确定模块55,被配置为根据所述第二获取模块54所获取的所述寄存器的起始地址和所述终止地址确定所述寄存器对应的第二变量;
所述第二访问模块56,被配置为通过访问所述第二确定模块55所确定的第二变量访问所述寄存器的所有位域,其中,所述第二变量对应所述寄存器的所有位域。
可选地,所述第一变量和第二变量被定义在与所述寄存器对应的联合体中;
所述N个位域对应的N个第一变量被定义在一个结构体中;
相应地,所述第一访问模块53被配置为通过联合体标识、结构体标识与第一变量的标识组合访问所述待访问位域;
所述所述第二访问模块56被配置为通过联合体标识与第二变量的标识组合访问所述待访问位域。
可选地,所述装置还包括:调整模块57;所述调整模块57被配置为通过重新定义寄存器的N个位域中每个位域包含的位数及在寄存器中占用的位置,调整对应的第一变量。
图7是根据再一示例性实施例示出的一种寄存器访问装置的框图,该寄存器访问装置可以通过软件、硬件或者两者的结合实现成为终端的部分。如图7所示,所述第一访问模块53包括:读取子模块531、写入子模块532和删除子模块533;
所述读取子模块531,被配置为通过联合体标识、结构体标识与第一变量的标识组合读取所述待访问位域中的所述数据;或者
在待访问位域为空时,则所述写入子模块532被配置为通过联合体标识、结构体标识与第一变量的标识组合向所述待访问位域写入数据,在待访问位域为非空时,则所述删除子模块533被配置为通过联合体标识、结构体标识与第一变量的标识组合删除所述待访问位域中的原始数据,并且所述写入子模块532被配置为向所述待访问位域写入新的数据。
本公开实施例所提供的寄存器访问装置,该装置部分与图4、图5所示技术方案对应,对应内容技术效果相同,在此不再赘述。
图8是根据一示例性实施例示出的一种寄存器访问***800的框图。例如,***800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图8,***800可以包括以下一个或多个组件:处理组件802(即上述的寄存器访问装置),存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814、通信组件816以及寄存器818。
处理组件802通常控制***800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在***800的操作。这些数据的示例包括用于在***800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为***800的各种组件提供电力。电源组件806可以包括电源管理***,一个或多个电源,及其他与为***800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述***800和用户之间的提供一个输出接口的触控显示屏。在一些实施例中,触控显示屏可以包括液晶显示器(LCD)和触摸面板(TP)。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当***800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜***或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当***800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和***接口模块之间提供接口,上述***接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为***800提供各个方面的状态评估。例如,传感器组件814可以检测到***800的打开/关闭状态,组件的相对定位,例如所述组件为***800的显示器和小键盘,传感器组件814还可以检测***800或***800一个组件的位置改变,用户与***800接触的存在或不存在,***800方位或加速/减速和***800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于***800和其他设备之间有线或无线方式的通信。***800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理***的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,寄存器818可以设置在现场可编程门阵列FPGA上,处理组件802用于访问该寄存器818,例如:读取寄存器818上的数据,或者将数据写入至寄存器818中,或者修改寄存器818上的数据等。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由***800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由***800的处理器执行时,使得***800能够执行一种寄存器访问方法。
该方法包括:获取待访问位域的起始地址和终止地址;
根据所述待访问位域的起始地址和所述终止地址,确定所述待访问位域对应一个第一变量;
通过访问所述对应的一个第一变量访问所述待访问位域,其中,寄存器包括N个位域,所述N个位域中的每个位域对应一个第一变量,N为大于或者等于2的正整数。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。

Claims (11)

1.一种寄存器访问方法,其特征在于,包括:
获取待访问位域的起始地址和终止地址;
根据所述待访问位域的起始地址和所述终止地址,确定所述待访问位域对应一个第一变量,所述第一变量用于表示位域;
通过访问对应的一个第一变量访问所述待访问位域,其中,寄存器包括N个位域,所述N个位域中的每个位域对应一个第一变量,N为大于或者等于2的正整数;
其中,所述方法还包括:通过重新定义寄存器的N个位域中每个位域包含的位数及在寄存器中占用的位置,调整对应的第一变量。
2.根据权利要求1所述的方法,其特征在于,还包括:
获取所述寄存器的起始地址和终止地址;
根据所述寄存器的起始地址和所述终止地址确定所述寄存器对应的第二变量;
通过访问所述第二变量访问所述寄存器的所有位域,其中,所述第二变量对应所述寄存器的所有位域。
3.根据权利要求2所述的方法,其特征在于,所述第一变量和第二变量被定义在与所述寄存器对应的联合体中;
所述N个位域对应的N个第一变量被定义在一个结构体中;
相应的,所述通过访问对应的一个第一变量访问所述待访问位域,包括:
通过联合体标识、结构体标识与第一变量的标识组合访问所述待访问位域;
所述通过访问所述第二变量访问所述寄存器的所有位域,包括:
通过联合体标识与第二变量的标识组合访问所述寄存器的所有位域。
4.根据权利要求3所述的方法,其特征在于,所述通过联合体标识、结构体标识与第一变量的标识组合访问所述待访问位域,包括:
通过联合体标识、结构体标识与第一变量的标识组合读取所述待访问位域中的数据;或者,
在待访问位域为空时,则通过联合体标识、结构体标识与第一变量的标识组合向所述待访问位域写入数据,在待访问位域为非空时,通过联合体标识、结构体标识与第一变量的标识组合删除所述待访问位域中的原始数据,并向所述待访问位域写入新的数据。
5.一种寄存器访问装置,其特征在于,包括:第一获取模块、第一确定模块和第一访问模块;
所述第一获取模块,被配置为获取待访问位域的起始地址和终止地址;
所述第一确定模块,被配置为根据所述待访问位域的起始地址和所述终止地址,确定所述待访问位域对应一个第一变量,所述第一变量用于表示位域;
所述第一访问模块,被配置为通过访问对应的一个第一变量访问所述待访问位域,其中,所述寄存器包括N个位域,所述N个位域中的每个位域对应一个第一变量,N为大于或者等于2的正整数;
其中,所述装置还包括:调整模块;
所述调整模块,被配置为通过重新定义寄存器的N个位域中每个位域包含的位数及在寄存器中占用的位置,调整对应的第一变量。
6.根据权利要求5所述的装置,其特征在于,还包括:第二获取模块、第二确定模块和第二访问模块;
所述第二获取模块,被配置为获取所述寄存器的起始地址和终止地址;
所述第二确定模块,被配置为根据所述寄存器的起始地址和所述终止地址确定所述寄存器对应的第二变量;
所述第二访问模块,被配置为通过访问所述第二变量访问所述寄存器的所有位域,其中,所述第二变量对应所述寄存器的所有位域。
7.根据权利要求6所述的装置,其特征在于,所述第一变量和第二变量被定义在与所述寄存器对应的联合体中;
所述N个位域对应的N个第一变量被定义在一个结构体中;
相应地,所述第一访问模块被配置为通过联合体标识、结构体标识与第一变量的标识组合访问所述待访问位域;
所述第二访问模块被配置为通过联合体标识与第二变量的标识组合访问所述待访问位域。
8.根据权利要求7所述的装置,其特征在于,所述第一访问模块包括:读取子模块、写入子模块和删除子模块;
所述读取子模块,被配置为通过联合体标识、结构体标识与第一变量的标识组合读取所述待访问位域中的数据;或者
在待访问位域为空时,则所述写入子模块被配置为通过联合体标识、结构体标识与第一变量的标识组合向所述待访问位域写入数据,在待访问位域为非空时,则所述删除子模块被配置为通过联合体标识、结构体标识与第一变量的标识组合删除所述待访问位域中的原始数据,并且所述写入子模块被配置为向所述待访问位域写入新的数据。
9.一种寄存器访问***,其特征在于,包括:寄存器和如权利要求5至8任一项所述的寄存器访问装置;
其中,所述寄存器访问装置用于访问所述寄存器中的待访问位域。
10.根据权利要求9所述的***,其特征在于,所述寄存器访问装置为以下任一项:中央处理器CPU、数字信号处理器DSP、微控制单元MCU和进阶精简指令集机器ARM处理器。
11.根据权利要求9或10所述的***,其特征在于,所述寄存器设置在现场可编程门阵列FPGA上。
CN201610711765.5A 2016-08-23 2016-08-23 寄存器访问方法、装置及*** Active CN106354657B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610711765.5A CN106354657B (zh) 2016-08-23 2016-08-23 寄存器访问方法、装置及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610711765.5A CN106354657B (zh) 2016-08-23 2016-08-23 寄存器访问方法、装置及***

Publications (2)

Publication Number Publication Date
CN106354657A CN106354657A (zh) 2017-01-25
CN106354657B true CN106354657B (zh) 2020-02-04

Family

ID=57844582

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610711765.5A Active CN106354657B (zh) 2016-08-23 2016-08-23 寄存器访问方法、装置及***

Country Status (1)

Country Link
CN (1) CN106354657B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114615424B (zh) * 2020-12-21 2024-05-21 深圳市瑞立视多媒体科技有限公司 一种双目usb相机的控制sdk的生成方法及双目usb相机的控制方法
CN116360859B (zh) * 2023-03-31 2024-01-26 摩尔线程智能科技(北京)有限责任公司 电源域的访问方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1877521A (zh) * 2006-06-30 2006-12-13 浙江大学 跨操作***的嵌入式***板级支持包的实现方法
CN101344841A (zh) * 2007-07-11 2009-01-14 凌阳科技股份有限公司 一种执行指令的方法及***
CN101938566A (zh) * 2010-09-10 2011-01-05 青岛海信移动通信技术股份有限公司 一种可视化的终端调试方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1877521A (zh) * 2006-06-30 2006-12-13 浙江大学 跨操作***的嵌入式***板级支持包的实现方法
CN101344841A (zh) * 2007-07-11 2009-01-14 凌阳科技股份有限公司 一种执行指令的方法及***
CN101938566A (zh) * 2010-09-10 2011-01-05 青岛海信移动通信技术股份有限公司 一种可视化的终端调试方法和装置

Also Published As

Publication number Publication date
CN106354657A (zh) 2017-01-25

Similar Documents

Publication Publication Date Title
EP3232340A1 (en) Method for operating a display device and display device for displaying pages of an application program
JP2017505966A (ja) ファームウェアアップグレード方法、装置、プログラム及び記録媒体
US9959487B2 (en) Method and device for adding font
US20170300211A1 (en) Method and apparatus for displaying status information of application
US20230292269A1 (en) Method and apparatus for determining offset indication, and method and apparatus for determining offset
EP3327548A1 (en) Method, device and terminal for processing live shows
CN109471596B (zh) 数据写入方法、装置、设备及存储介质
CN108763104B (zh) 预读取文件页的方法、装置及存储介质
CN107239351B (zh) 粘贴方法及装置
CN106775903B (zh) 安全策略文件更新方法及装置
CN109947671B (zh) 一种地址转换方法、装置、电子设备及储存介质
CN107608714B (zh) 字节对齐方法、装置及计算机可读存储介质
CN107463372B (zh) 一种数据驱动的页面更新方法和装置
CN106775210B (zh) 壁纸更换的方法和装置
US10229165B2 (en) Method and device for presenting tasks
CN106354657B (zh) 寄存器访问方法、装置及***
CN107885571B (zh) 显示页面控制方法及装置
CN107885464B (zh) 数据存储方法、装置及计算机可读存储介质
CN107368562B (zh) 页面的显示方法、装置及终端
CN112068761B (zh) 触屏数据处理方法、触屏数据处理装置及存储介质
CN114442789A (zh) 暗屏控制方法、装置、设备及存储介质
CN106604088B (zh) 缓冲区中数据的处理方法、装置及设备
CN111984423A (zh) 一种运行深度学习模型的方法、装置及介质
CN109743441B (zh) 读写权限设置方法及装置
CN114385373A (zh) 数据分享方法、数据分享装置以及计算机可读存储介质

Legal Events

Date Code Title Description
C06 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