一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

通用输入输出接口的访问方法、系统芯片及车载设备与流程

2022-12-07 17:31:38 来源:中国专利 TAG:


1.本技术实施例涉及芯片技术领域,特别涉及一种通用输入输出接口的访问方法、系统芯片及车载设备。


背景技术:

2.访问gpio(general purpose input output,通用输入输出接口)的安全机制体现在总线访问的编码传输上。具体的,master(主)端对输出信号进行编码,通过总线将编码数据传输给slave(从)端,slave端对该编码数据进行解码,得到输出信号。
3.然而,目前gpio的访问只涉及到一个安全级别,难以满足多样化的差异化权限的需求,无法应用到多安全级别的车规产品中。并且,由于缺乏对功能安全的控制,这就给非法访问带来了可能,从而影响了系统芯片的安全。


技术实现要素:

4.本技术实施例提供了一种通用输入输出接口的访问方法、系统芯片及车载设备,用于解决gpio的访问只涉及到一个安全级别时,无法应用到多安全级别的车规产品中,且影响系统芯片的安全的问题。所述技术方案如下:一方面,提供了一种通用输入输出接口的访问方法,应用于包括安全域、多个应用域和多个通用输入输出接口gpio的系统芯片中,每个gpio对应的权限寄存器中都存储有所述安全域配置的目标权限列表,所述目标权限列表包括每个应用域访问每个gpio的权限信息,所述应用域是所述系统芯片与外部的交互模块,所述方法包括:当应用域需要访问gpio时,所述应用域根据本次的访问需求生成访问信息,向所述gpio发送所述访问信息;所述gpio接收所述访问信息,从对应的权限寄存器中读取所述目标权限列表中与所述应用域对应的权限信息;所述gpio根据所述权限信息和所述访问信息判断所述应用域是否具有对所述gpio的访问权限。
5.在一种可能的实现方式中,所述gpio根据所述权限信息和所述访问信息判断所述应用域是否具有对所述gpio的访问权限,包括:所述gpio判断所述权限信息与所述访问信息是否匹配;若所述权限信息与所述访问信息相匹配,则所述gpio确定所述应用域具有对所述gpio的访问权限,根据所述访问信息对所述gpio对应的功能寄存器进行操作;若所述权限信息与所述访问信息不匹配,则所述gpio确定所述应用域不具有对所述gpio的访问权限。
6.在一种可能的实现方式中,所述方法还包括:所述安全域根据多个安全级别生成权限列表集合,所述权限列表集合包括k个列表索引和k个权限列表,每个列表索引对应于一种安全级别的权限列表,k≥2;
所述安全域将所述权限列表集合写入每个gpio对应的权限寄存器中;所述安全域从所述权限列表集合中选择一张权限列表作为所述gpio当前使用的目标权限列表。
7.在一种可能的实现方式中,在所述安全域将所述权限列表集合写入每个gpio对应的权限寄存器中之后,所述方法还包括:利用功能锁对所述权限寄存器中存储的权限列表集合进行锁定,锁定后的权限列表集合禁止被修改。
8.在一种可能的实现方式中,所述方法还包括:若所述权限信息与所述访问信息不匹配,则所述gpio向所述系统芯片中的中断模块发送中断信号。
9.在一种可能的实现方式中,所述方法还包括:所述中断模块以列表索引为维度统计所有gpio发出的中断信号,得到中断信息;或者,所述中断模块以应用域为维度统计所有gpio发出的中断信号,得到中断信息;所述中断模块向所述系统芯片上报所述中断信息。
10.在一种可能的实现方式中,所述方法还包括:若所述权限信息与所述访问信息不匹配,则所述gpio生成非法访问信息,将所述非法访问信息写入对应的状态寄存器中。
11.在一种可能的实现方式中,所述权限列表包括安全模式下的读写权限信息、非安全模式下的读写权限信息、特权模式下的读写权限信息和用户模式下的读写权限信息。
12.一方面,提供了一种系统芯片,所述系统芯片包括安全域、多个应用域和多个通用输入输出接口gpio,每个gpio对应的权限寄存器中都存储有所述安全域配置的目标权限列表,所述目标权限列表包括每个应用域访问每个gpio的权限信息,所述应用域是所述系统芯片与外部的交互模块;当应用域需要访问gpio时,所述应用域,用于根据本次的访问需求生成访问信息,向所述gpio发送所述访问信息;所述gpio,还用于接收所述访问信息,从对应的权限寄存器中读取所述目标权限列表中与所述应用域对应的权限信息;所述gpio,还用于根据所述权限信息和所述访问信息判断所述应用域是否具有对所述gpio的访问权限。
13.一方面,提供了一种车载设备,所述车载设备包括如上所述的系统芯片。
14.本技术实施例提供的技术方案的有益效果至少包括:通过安全域在每个gpio对应的权限寄存器中配置目标权限列表,该目标权限列表包括每个应用域访问每个gpio的权限信息,然后,当某一个应用域需要访问某一个gpio时,应用域可以向gpio发送访问信息;gpio接收到访问信息后,从对应的权限寄存器中读取目标权限列表中与该应用域对应的权限信息,根据权限信息和访问信息判断应用域是否具有对gpio的访问权限,从而可以根据安全级别来设置不同应用域对gpio的访问权限,避免应用域对gpio的非法访问,提高了系统芯片的安全性。
15.通过安全域生成权限列表集合,权限列表集合中的每个列表索引对应于一种安全级别的权限列表;然后,安全域将权限列表集合写入每个gpio对应的权限寄存器中,并从权
限列表集合中选择一张权限列表作为gpio当前使用的目标权限列表,这样,可以根据系统芯片的安全级别或用户需求来切换gpio所使用的目标权限列表,提高了权限控制的准确性和灵活性。
16.中断模块可以以列表索引为维度统计所有gpio发出的中断信号,或者,中断模块可以以应用域为维度统计所有gpio发出的中断信号,扩展了中断信号的统计维度,有利于优化系统芯片的数据。
附图说明
17.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
18.图1是根据部分示例性实施例示出的一种gpio、列表索引和寄存器之间的对应关系的示意图;图2是根据部分示例性实施例示出的一张权限列表的示意图;图3是本技术一个实施例提供的通用输入输出接口的访问方法的方法流程图;图4是本技术一个实施例提供的中断信息的示意图;图5是本技术一个实施例提供的系统芯片的结构示意图;图6是本技术一个实施例提供的系统芯片的结构框图;图7是本技术一个实施例提供的车载设备的结构框图。
具体实施方式
19.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
20.本技术中,可以根据安全级别的不同将系统芯片中的各个域分为安全域和应用域,其中,安全域的数量为至少一个,应用域的数量为多个。安全域可以理解为由一组具有相同安全保护需求并互相信任的系统组成的逻辑区域。应用域可以理解为系统芯片与外部交互的模块,比如usb(universal serial bus,通用串行总线)接口、蓝牙等。
21.系统芯片包括至少一个安全域、多个应用域、多个gpio和中断模块。安全域用于配置每个应用域对每个gpio的访问权限。每个gpio对应于一个权限寄存器和一个功能寄存器,权限寄存器用于存储应用域对gpio的访问权限,功能寄存器用于存储应用域需要读或写的数据。多个gpio对应于一个状态寄存器,状态寄存器用于存储应用域对gpio的非法访问信息。中断模块用于对多个gpio发出的中断信号进行统计,并将得到的中断信息上报给系统芯片,以便系统芯片基于中断信息进行后续处理。
22.下面对gpio的访问权限的配置流程进行说明。
23.在访问gpio之前,需要利用安全域配置每个应用域对每个gpio的访问权限,本技术中是利用一个权限最高的安全域来配置每个应用域对每个gpio的访问权限。其中,系统芯片中设置有至少一个安全域。当系统芯片中只设置有一个安全域时,可以直接利用该安全域来配置每个应用域对每个gpio的访问权限;当系统芯片中设置有至少两个安全域时,
可以从该至少两个安全域中选择权限最高的安全域,利用权限最高的安全域来配置每个应用域对每个gpio的访问权限。
24.首先,当系统芯片上电复位(power on reset)释放后,安全域根据多个安全级别生成权限列表集合,权限列表集合包括k个列表索引和k个权限列表,每个列表索引对应于一种安全级别的权限列表,k≥2。其中,每个安全级别对数据的读写操作有不同的要求,所以,安全域可以根据每个安全级别的要求,配置权限列表集合。
25.若每个安全级别对应于一个安全域,则列表索引可以理解成是安全域的编号。比如,系统芯片中设置有m 1个安全域,这m 1个安全域的编号分别为dgsel0~dgselm,也即权限列表集合中的列表索引为dgsel0~dgselm,此时k=m 1。
26.每张权限列表中可以定义全部gpio的访问权限,也可以定义部分gpio的权限列表。请参考图1,图1中示出了dgsel0~dgselm这m 1个安全域,且dgsel0对应的权限列表中定义了gpio0、gpio1和gpion-1的访问权限;dgsel1对应的权限列表中定义了gpio2的访问权限;dgselm对应的权限列表中定义了gpio3和gpion的访问权限。
27.本实施例中,访问权限可以从模式和操作类型这两个方面进行定义。其中,模式包括但不限于安全模式(sec)、非安全模式(ns)、特权模式(pri)和用户模式(user),操作类型包括但不限于读操作和写操作。那么,权限列表包括安全模式下的读写权限信息、非安全模式下的读写权限信息、特权模式下的读写权限信息和用户模式下的读写权限信息。请参考图2,图2中示出了dgselm_per对应的一张权限列表,该权限列表中的每个长条形框的末端划分为四个小方框,该长条形框代表对应于一个应用域的权限信息,每个小方框代表一种模式。也即,每条权限信息限定了一个gpio在sec模式下的读写权限信息、ns模式下的读写权限信息、pri模式下的读写权限信息和user模式下的读写权限信息。
28.其次,安全域将权限列表集合写入每个gpio对应的权限寄存器中。
29.具体的,安全域可以发起总线访问,通过总线向每个gpio对应的权限寄存器中写入权限列表集合。如图1所示,安全域将权限列表集合写入寄存器dom0_per~dom15_per。
30.需要说明的是,在安全域将权限列表集合写入每个gpio对应的权限寄存器中之后,还可以利用lock功能锁对权限寄存器中存储的权限列表集合进行锁定,锁定后的权限列表集合禁止被修改。这样,可以避免权限列表集合被恶意修改,能够提高系统芯片的安全性。
31.最后,安全域从权限列表集合中选择一张权限列表作为gpio当前使用的目标权限列表。
32.具体的,安全域可以确定系统芯片当前所需的安全级别,根据该安全级别确定对应的列表索引,从权限列表集合中选择与该列表索引对应的权限列表作为目标权限列表;或者,安全域可以获取用户需求,根据用户需求确定列表索引,从权限列表集合中选择与该列表索引对应的权限列表作为目标权限列表。然后,安全域可以将目标权限列表的列表索引配置到权限寄存器中的预定位置,并指示gpio预定位置处的列表索引所对应的权限列表即为gpio当前使用的目标权限列表。
33.请参考图3,其示出了本技术一个实施例提供的通用输入输出接口的访问方法的方法流程图,该通用输入输出接口的访问方法可以应用于系统芯片中。该通用输入输出接口的访问方法,可以包括:
步骤301,当应用域需要访问gpio时,应用域根据本次的访问需求生成访问信息,向gpio发送访问信息。
34.访问信息是应用域根据本次的访问需求生成的,与安全域配置的权限列表无关。本实施例中,访问需求可以从模式和操作类型这两个方面进行定义。其中,模式可以包括但不限于安全模式(sec)、非安全模式(ns)、特权模式(pri)和用户模式(user),操作类型可以包括但不限于读操作和写操作。
35.通常,一条访问信息中包括一种模式或两种模式。比如,一条访问信息定义为以特权模式进行读操作、以用户模式进行写操作。
36.在生成访问信息后,应用域可以对gpio发起访问。具体的,应用域可以将访问信息携带在总线的信号中发送给gpio。以apb(advanced peripheral bus,外围总线)总线为例,可以将访问信息放在puser信号位中,随着apb总线访问将访问信息发送给gpio。
37.步骤302,gpio接收访问信息,从对应的权限寄存器中读取目标权限列表中与应用域对应的权限信息。
38.gpio接收到访问信息后,可以确定发送该访问信息的应用域,从对应的权限寄存器中读取目标权限列表,从目标权限列表中查找与该应用域对应的权限信息。
39.步骤303,gpio根据权限信息和访问信息判断应用域是否具有对gpio的访问权限。
40.由于权限信息中定义有四种模式的读写操作,访问信息中定义有四种模式中的一种或两种模式的读写操作,所以,gpio可以判断权限信息与访问信息是否匹配,根据判断结果确定应用域是否具有对gpio的访问权限。
41.具体的,gpio根据权限信息和访问信息判断应用域是否具有对gpio的访问权限,可以包括:(1)gpio判断权限信息与访问信息是否匹配。
42.gpio可以判断权限信息中是否包含访问信息中所定义的模式和操作类型;若包含则认为权限信息与访问信息相匹配;若不包含则认为权限信息与访问信息不匹配。
43.比如,访问信息定义为以用户模式进行写操作,若权限信息包含以用户模式进行写操作,则确定访问信息与权限信息相匹配;若权限信息包含以用户模式进行读操作,而不包含以用户模式进行写操作,则确定访问信息与权限信息不匹配。
44.(2)若权限信息与访问信息相匹配,则gpio确定应用域具有对gpio的访问权限,根据访问信息对gpio对应的功能寄存器进行操作;若权限信息与访问信息相匹配,则gpio可以根据访问信息中所定义的模式和操作类型,对功能寄存器中存储的数据进行操作。比如,访问信息定义为以用户模式进行写操作,则gpio可以以用户模式向功能寄存器中写入数据,并向应用域反馈写入结果;或者,访问信息定义为以用户模式进行读操作,则gpio可以以用户模式从功能寄存器中读取数据,并向应用域反馈读取的数据。
45.(3)若权限信息与访问信息不匹配,则gpio确定应用域不具有对gpio的访问权限。
46.若权限信息与访问信息相匹配,则gpio可以确定应用域本次的访问是非法访问,不会对功能寄存器进行读写操作。
47.在确定应用域进行了非法访问后,gpio可以记录本次的非法访问,并发出中断。
48.在记录非法访问时,具体的,若权限信息与访问信息不匹配,则gpio生成非法访问
信息,将非法访问信息写入对应的状态寄存器中。由于当前只有一个应用域访问该gpio,所以,能够根据写入的非法访问信息来唯一地确定非法访问该gpio的应用域。
49.在发出中断时,具体的,若权限信息与访问信息不匹配,则gpio向系统芯片中的中断模块发送中断信号。中断模块可以在触发中断时,对所有gpio发出的中断信号进行统计,将统计得到的中断信息上报给系统芯片。
50.本实施例中,中断模块可以分别从列表索引和应用域这两个维度来统计中断信号,下面分别对这两种统计方式进行说明。
51.(1)中断模块以列表索引为维度统计所有gpio发出的中断信号,得到中断信息;中断模块向系统芯片上报中断信息。
52.即,中断模块对同一个列表索引下的所有gpio发出的中断信号进行统计,得到中断信息。
53.请参考图4,图4中示出了三个列表索引dgsel0~dgsel2,且每个列表索引用不同的阴影表示。其中,gpio_int_0中,以dgsel0为维度统计到的是gpio0_int和gpio29_int,以dgsel1为维度统计到的是gpio32_int、gpio60_int、gpio62_int和gpio63_int。gpio_int_1中,以dgsel0为维度统计到的是gpio1_int和gpio2_int,以dgsel1为维度统计到的是gpio61_int。
54.最终,以dgsel0为维度统计到的中断信息是gpio0_int、gpio3_int、gpio28_int、gpio29_int、gpio32_int、gpio60_int、gpio62_int和gpio63_int。以dgsel1为维度统计到的中断信息是gpio1_int、gpio2_int、gpio3_int、gpio28_int和gpio61_int。以dgsel2为维度统计到的中断信息是gpio3_int、gpio28_int、gpio30_int、gpio31_int、gpio33_int、gpio34_int、和gpio35_int。
55.(2)中断模块以应用域为维度统计所有gpio发出的中断信号,得到中断信息;中断模块向系统芯片上报中断信息。
56.即,中断模块对同一个应用域所访问的gpio发出的中断信号进行统计,得到中断信息。
57.比如,以应用域0为维度统计到的中断信息是gpio0_int、gpio3_int、gpio28_int、gpio29_int、gpio32_int、gpio60_int、gpio62_int和gpio63_int。以应用域1为维度统计到的中断信息是gpio1_int、gpio2_int、gpio3_int、gpio28_int和gpio61_int。以应用域2为维度统计到的中断信息是gpio3_int、gpio28_int、gpio30_int、gpio31_int、gpio33_int、gpio34_int、和gpio35_int。
58.在一个示例中,请参考图5,系统芯片包括sgpio模块,sgpio模块由apb寄存器模块(图5中未示出)和gpio控制模块(sgpio_apb_reg)构成,sgpio_apb_reg包括permission ctrl和gpio config。其中,master通过apb总线对sgpio进行权限配置和功能配置,赋予每个gpio不同的权限,gpio根据赋予的功能和权限输出相应的数据和中断信号。
59.综上所述,本技术实施例提供的通用输入输出接口的访问方法,通过安全域在每个gpio对应的权限寄存器中配置目标权限列表,该目标权限列表包括每个应用域访问每个gpio的权限信息,然后,当某一个应用域需要访问某一个gpio时,应用域可以向gpio发送访问信息;gpio接收到访问信息后,从对应的权限寄存器中读取目标权限列表中与该应用域对应的权限信息,根据权限信息和访问信息判断应用域是否具有对gpio的访问权限,从而
可以根据安全级别来设置不同应用域对gpio的访问权限,避免应用域对gpio的非法访问,提高了系统芯片的安全性。
60.通过安全域生成权限列表集合,权限列表集合中的每个列表索引对应于一种安全级别的权限列表;然后,安全域将权限列表集合写入每个gpio对应的权限寄存器中,并从权限列表集合中选择一张权限列表作为gpio当前使用的目标权限列表,这样,可以根据系统芯片的安全级别或用户需求来切换gpio所使用的目标权限列表,提高了权限控制的准确性和灵活性。
61.中断模块可以以列表索引为维度统计所有gpio发出的中断信号,或者,中断模块可以以应用域为维度统计所有gpio发出的中断信号,扩展了中断信号的统计维度,有利于优化系统芯片的数据。
62.请参考图6,其示出了本技术一个实施例提供的系统芯片的结构框图,该系统芯片可以包括安全域610、多个应用域620和多个gpio630,每个gpio630对应的权限寄存器中都存储有安全域610配置的目标权限列表,目标权限列表包括每个应用域620访问每个gpio630的权限信息,应用域620是系统芯片与外部的交互模块;当应用域620需要访问gpio630时,应用域620,用于根据本次的访问需求生成访问信息,向gpio630发送访问信息;gpio630,还用于接收访问信息,从对应的权限寄存器中读取目标权限列表中与应用域620对应的权限信息;gpio630,还用于根据权限信息和访问信息判断应用域620是否具有对gpio630的访问权限。
63.在一个可选的实施例中,gpio630,还用于:判断权限信息与访问信息是否匹配;若权限信息与访问信息相匹配,则确定应用域620具有对gpio630的访问权限,根据访问信息对gpio630对应的功能寄存器进行操作;若权限信息与访问信息不匹配,则确定应用域620不具有对gpio630的访问权限。
64.在一个可选的实施例中,安全域610,还用于:根据多个安全级别生成权限列表集合,权限列表集合包括k个列表索引和k个权限列表,每个列表索引对应于一种安全级别的权限列表,k≥2;将权限列表集合写入每个gpio630对应的权限寄存器中;从权限列表集合中选择一张权限列表作为gpio630当前使用的目标权限列表。
65.在一个可选的实施例中,在安全域610将权限列表集合写入每个gpio630对应的权限寄存器中之后,利用功能锁对权限寄存器中存储的权限列表集合进行锁定,锁定后的权限列表集合禁止被修改。
66.在一个可选的实施例中,gpio630,还用于若权限信息与访问信息不匹配,则向系统芯片中的中断模块640发送中断信号。
67.在一个可选的实施例中,中断模块640,还用于:以列表索引为维度统计所有gpio630发出的中断信号,得到中断信息;或者,中断模块640以应用域620为维度统计所有gpio630发出的中断信号,得到中断信息;向系统芯片上报中断信息。
68.在一个可选的实施例中,gpio630,还用于若权限信息与访问信息不匹配,则生成非法访问信息,将非法访问信息写入对应的状态寄存器中。
69.在一个可选的实施例中,权限列表包括安全模式下的读写权限信息、非安全模式下的读写权限信息、特权模式下的读写权限信息和用户模式下的读写权限信息。
70.综上所述,本技术实施例提供的系统芯片,通过安全域在每个gpio对应的权限寄存器中配置目标权限列表,该目标权限列表包括每个应用域访问每个gpio的权限信息,然后,当某一个应用域需要访问某一个gpio时,应用域可以向gpio发送访问信息;gpio接收到访问信息后,从对应的权限寄存器中读取目标权限列表中与该应用域对应的权限信息,根据权限信息和访问信息判断应用域是否具有对gpio的访问权限,从而可以根据安全级别来设置不同应用域对gpio的访问权限,避免应用域对gpio的非法访问,提高了系统芯片的安全性。
71.通过安全域生成权限列表集合,权限列表集合中的每个列表索引对应于一种安全级别的权限列表;然后,安全域将权限列表集合写入每个gpio对应的权限寄存器中,并从权限列表集合中选择一张权限列表作为gpio当前使用的目标权限列表,这样,可以根据系统芯片的安全级别或用户需求来切换gpio所使用的目标权限列表,提高了权限控制的准确性和灵活性。
72.中断模块可以以列表索引为维度统计所有gpio发出的中断信号,或者,中断模块可以以应用域为维度统计所有gpio发出的中断信号,扩展了中断信号的统计维度,有利于优化系统芯片的数据。
73.请参考图7,其示出了本技术一个实施例提供的车载设备的结构框图,车载设备1000,包括上述实施例的系统芯片100。
74.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
75.以上所述并不用以限制本技术实施例,凡在本技术实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术实施例的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献