具有命令列表执行的设备及相关方法与流程

未命名 07-29 阅读:102 评论:0


1.本公开涉及电子设备,并且更具体地,但不排他地,涉及由信号处理器响应于事件触发而执行存储的命令列表。


背景技术:

2.在各种设备和应用中,可以组合从多个传感器(例如,加速度计、陀螺仪、磁力计、雷达、飞行时间、摄影、定位/导航和/或摄像等)接收的数据,以便提供更复杂的函数。例如,移动设备、汽车和虚拟现实系统可以包括利用来自多个传感器的数据的图像稳定子系统(例如,光学图像稳定和/或电子图像稳定)。
3.数字信号处理器(dsp)可以提供对来自传感器或其他源的数据进行操作的各种处理函数。在执行一组函数时,dsp通常具有比通用处理器更快或更高效的电路。因此,来自传感器或其他源的数据的一些处理可以被卸载到dsp以加速处理、节省功率或两者兼而有之。可以使用编译器或解释器对dsp进行编程,以例如通过更新dsp的固件来提供新的函数。


技术实现要素:

4.在一个实施例中,设备包括事件接口和耦合到事件接口的处理电路。事件接口接收事件触发,该事件触发与命令列表相关联,该命令列表被存储在存储器电路中。命令列表包括命令集,命令集中的每个命令集包括函数标识符和多个参数标识符。处理电路响应于接收到的事件触发而执行命令列表,生成输出数据;并且存储输出数据。函数标识符与处理电路的函数相关联。
5.在一个实施例中,系统包括应用处理器和硬件信号处理器。应用处理器生成事件触发。硬件信号处理器电连接到应用处理器。硬件信号处理器接收事件触发。事件触发与存储在存储器电路中的命令列表相关联。命令列表包括多个命令集。多个命令集中的命令集包括函数标识符和多个参数标识符。函数标识符与硬件信号处理器的函数相关联。硬件信号处理器响应于接收到的事件触发而执行命令列表,生成输出数据,并且存储输出数据。
6.在一个实施例中,一种方法包括:生成和存储多个命令列表,多个命令列表中的每个命令列表包括多个函数标识符和多个相应的参数标识符,多个函数标识符中的每个函数标识符与硬件信号处理器的函数相关联;初始化与多个命令列表的多个参数标识符相关联的多个相应的缓冲器;将多个相应的事件触发与多个命令列表相关联;由硬件信号处理器执行多个命令列表中的一个命令列表,该执行响应于接收到的事件触发,该执行生成输出数据;并且存储输出数据。
7.在一个实施例中,非暂态计算机可读介质使一个或多个处理器执行一个或多个自动化操作。该自动化操作包括:生成和存储多个命令列表,多个命令列表中的每个命令列表包括多个函数标识符和多个相应的参数标识符,多个函数标识符中的每个函数标识符与硬件信号处理器的函数相关联;初始化与多个参数标识符相关联的多个相应的缓冲器;将多个相应的触发与多个命令列表相关联;以及由硬件信号处理器(hsp)执行多个命令列表中
的一个命令列表,该执行响应于接收到的触发,该执行生成输出数据。
8.在一个实施例中,设备包括应用处理器和耦合到应用处理器的硬件信号处理器。硬件信号处理器在操作中:在硬件信号处理器的初始化阶段期间接收命令预列表,命令预列表包括多个函数标识符,多个函数标识符中的每个函数标识符与相应的多个参数标识符相关联;在初始化阶段期间,基于命令预列表生成命令列表;并且将命令列表存储在存储器电路中。
附图说明
9.现在仅通过示例参考附图。在附图中,相同的附图标记标识相似的元件或动作,并且相同但后缀不同的附图标记标识相似的元件或动作,除非上下文另有指示。然而,在一些附图中,可以使用不同的附图标记来指示相同或相似的元件。附图中元件的尺寸和相对位置不一定按比例绘制。例如,各种元件和角度的形状不一定按比例绘制,这些元件中的一些元件可以被放大和定位以提高附图的易读性。
10.图1是根据各种实施例的系统的示意图。
11.图2是根据各种实施例的设备的示意图。
12.图3a-图3d是根据各种实施例的命令列表的示图。
13.图4-图6是根据各种实施例的方法的示图。
具体实施方式
14.在下面的描述中,阐述了某些具体细节,以便提供对各种公开的实施例的透彻理解。然而,相关领域的技术人员将认识到,可以在没有这些特定细节中的一个或多个特定细节的情况下,或者使用其他方法、组件、材料等来实施实施例。在其他情况下,没有详细示出或描述与集成电路相关联的公知系统、组件和电路,以避免不必要地模糊对实施例的描述。
15.除非上下文另有要求,否则贯穿说明书和所附权利要求书,单词“包括”及其变型,诸如“包括”和“包括有”将被解释为开放的、包容性的意义,即“包括但不限于”。此外,术语“第一”、“第二”和类似的序列指示符将被解释为可互换的,除非上下文另有明确规定。
16.贯穿本说明书,对“一个实施例”或“一实施例”的引用意味着结合该实施例描述的特定特征、结构或特性包括在至少一个实施例中。因此,短语“在一个实施例中”或“在一实施例中”在贯穿本说明书的各个地方中的出现不一定都指代同一实施例。此外,在一个或多个实施例中,特定特征、结构或特性可以以任何合适的方式组合。
17.如在本说明书和所附权利要求书中所使用的,单数形式“一”、“一个”和“该”包括复数指称物,除非内容另有明确规定。还应当注意的是,术语“或”通常以其最广泛的意义使用,即含义为“和/或”,除非内容另有明确规定。
18.本公开的实施例在不使用编译器的情况下生成和存储命令列表,该命令列表可以由hsp响应于各种事件触发而执行。每个命令列表可以包括一个或多个命令集,该一个或多个命令集中的每个命令集包括与hsp的函数(例如,有限脉冲响应(fir)函数、平均函数等)相关联的函数标识符,以及与由hsp的函数使用并且可以由hsp访问的存储器电路中的缓冲器(例如,输入缓冲器、输出缓冲器等)相关联的一个或多个参数标识符。每个命令列表都与事件触发相关联。事件触发可以由外围设备(例如,传感器之一)、应用处理器、hsp或其他合
适的源生成。当hsp接收到事件触发时,hsp执行相关联的命令列表。命令列表的执行可以是不间断的,并且可以导致输出数据的生成,该输出数据可以例如被应用处理器利用以执行另一函数,诸如车辆的自动驾驶。
19.使用从hsp的一组选定函数构建的命令列表,允许生成复杂的函数(例如,命令列表),而没有编译器或解释器的复杂性,这提高了包括hsp的系统的速度、反应性和灵活性。hsp可以自主地执行命令列表,这允许应用处理器在hsp执行命令列表的同时进入低功率模式以节省功率。
20.图1图示了根据本公开的各种实施例的系统10。系统10基于从外围设备120接收的数据样本生成复杂的函数,该外围设备120可以是传感器。例如,汽车的自动驾驶功能可以通过集成来自多个外围设备120的传感器数据样本来执行,这些外围设备120包括相机、加速度计、全球定位/导航接收器、雷达传感器和超声波传感器。电机控制过程可以由系统10执行,包括使用三角函数和滤波函数的逐样本处理。在一些实施例中,系统10执行计量或音频处理过程,该计量或音频处理过程可以包括矢量处理函数。
21.系统10包括设备110(例如,处理器)、外围设备120、存储器130和网络接口140。系统10可以是汽车的电子系统或电子控制系统、虚拟现实硬件、增强现实硬件、电源、电动机、计量系统、音频系统等。如上所述,系统10可以提供一个或多个复杂的函数,该一个或多个复杂的函数基于由设备110对由外围设备120生成的数据样本的集成或融合。
22.设备110集成由(多个)外围设备120生成的数据样本,以生成复杂的函数(例如,自动驾驶、计量等)。在一个实施例中,设备110是微控制器单元(mcu)、微处理器单元(mpu)等。设备110可以是片上系统(soc)。
23.设备110耦合到存储器130,该存储器130可以是系统存储器,并且包括存储器电路。设备110和存储器130之间的耦合可以通过存储器接口,诸如双倍数据速率(ddr)接口、低功率ddr(lpddr)接口等。
24.设备110耦合到外围设备120。在一个实施例中,设备110耦合到多个外围设备120。为了简单起见,在图1中图示了单个外围设备120。设备110和外围设备120之间的耦合可以通过外围设备接口,诸如串行外围设备接口(spi)、内部集成电路(iic、i2c)接口或其他合适的外围设备接口。
25.设备110耦合到网络接口140,该网络接口140可以包括以太网接口等。在一个实施例中,外围设备120和网络接口140中的一者或多者耦合到存储器130。设备110可以通过网络接口140与外部电子设备或组件进行通信连接。
26.在一个实施例中,外围设备120是传感器。例如,外围设备120可以是或包括相机、加速度计、导航传感器、飞行时间传感器、陀螺仪、惯性传感器、湿度传感器、指南针、麦克风、压力传感器、气体传感器等。在一个实施例中,系统10包括多个外围设备120,诸如多个相机、多个加速度计、导航传感器、多个飞行时间传感器、其他传感器、它们的组合等。外围设备120可以包括微机电系统(mems)传感器。外围设备120中的每个外围设备120生成数据样本。例如,数据样本可以包括图像、位置坐标、深度或距离、温度、压力、湿度、音频信号等。
27.图2图示了根据各种实施例的处理器200。处理器200可以用作图1的设备110。处理器200包括应用处理电路220、硬件信号处理器210和设备存储器21。处理器200可以是通用处理器、微处理器单元(mpu)、微控制器单元(mpu)、中央处理单元(cpu)等。处理器200可以
是片上系统(soc)。处理器200可以集成传感器数据样本或(多个)外围设备120的其他数据,以提供复杂的函数。
28.例如,来自多个传感器的传感器数据样本由处理器或微控制器单元(mcu)(或“设备”)集成(或“融合”),以提供更复杂的函数。汽车的自动驾驶功能可以通过集成来自多个传感器的传感器数据样本来执行,多个传感器包括相机、加速度计、全球定位/导航接收器、雷达传感器和超声波传感器。
29.可以对接收到的传感器数据执行多个信号处理操作。例如,电机控制处理可以包括逐样本处理,该逐样本处理包括三角函数和滤波函数的。计量或音频处理过程可以包括矢量处理函数。与在应用处理器上执行函数相比,将三角、滤波和矢量处理函数卸载到硬件信号处理器(hsp,或“信号处理引擎”(spe))可以加速处理并且降低功耗。使用编译器或解释器来更新hsp的固件以在hsp上建立复杂的函数引入了复杂性。
30.应用处理电路220可以是应用处理单元(apu)、中央处理单元(cpu)、主处理器等,并且可以被称为“apu 220”。应用处理电路220包括一个或多个处理核。在一个实施例中,应用处理电路220包括算术逻辑单元,该算术逻辑单元可以包括加法器电路、移位寄存器电路、进位/旋转逻辑电路、时钟电路、控制电路等中的一个或多个电路。应用处理电路220包括处理器存储器221,例如高速缓冲存储器。应用处理电路220耦合到硬件信号处理器210并且耦合到设备存储器21。
31.设备存储器21可以是设备存储器电路。设备存储器21可以是soc的存储器电路,并且可以被称为soc存储器。设备存储器21通常位于应用处理电路220和硬件信号处理器210之外的处理器200的区域中。设备存储器21耦合到应用处理电路220并且耦合到硬件信号处理器210。设备存储器21可以由应用处理电路220和硬件信号处理器210共享,使得应用处理电路220可以将处理器数据写入设备存储器21,硬件信号处理器210可以将hsp数据写入设备存储器21,并且应用处理电路220和硬件信号处理器210可以各自从设备存储器21读取数据(例如,处理器数据或hsp数据)。
32.硬件信号处理器210可以是或包括数字信号处理器(dsp)、信号处理引擎(spe)等。硬件信号处理器210耦合到应用处理电路220并且耦合到设备存储器21。在一些实施例中,硬件信号处理器210耦合到处理器200外部的电子组件。例如,硬件信号处理器210可以直接耦合到外围设备120。硬件信号处理器210从应用处理电路220、外围设备120、其他源或其组合接收数据,并且通过对数据执行处理操作(例如,数学操作)来生成输出数据。由硬件信号处理器210执行的处理操作可以在存储的命令列表中被识别,使得硬件信号处理器210可以响应于单个事件触发而对数据执行多个处理操作。硬件信号处理器210可以包括事件控制器2100、hsp处理电路2200和hsp存储器211。
33.hsp处理电路2200(或“硬件处理电路2200”)执行硬件信号处理器210的数据处理操作。在一个实施例中,hsp处理电路2200是或包括浮点处理电路。hsp处理电路2200耦合到事件控制器2100并且耦合到hsp存储器211。hsp处理电路2200与事件控制器2100进行数据通信。hsp处理电路2200在其中存储了数据元素2210,该数据元素2210存储一个或多个命令列表或指向命令列表的指针。
34.hsp存储器211可以是hsp存储器电路,并且可以被称为hsp存储器电路。hsp存储器211耦合到浮点电路2200。hsp存储器211可以具有存储在其中的命令列表。hsp存储器211可
以包括多个寄存器,该多个寄存器具有分别与其相关联的地址。hsp存储器211的寄存器可以由hsp处理电路2200访问,作为用于在命令列表的执行期间存储中间数据的缓冲器。
35.事件控制器或电路2100可以从各种源接收事件触发,并且可以响应于事件触发向hsp处理电路2200输出相应的命令列表标识符(或“命令列表编号”)。事件控制器2100可以包括事件控制器电路,并且可以被称为事件控制器电路。事件控制器2100包括多个接口2110、请求处理电路2120和优先级编码器或编码电路2130。
36.多个接口2110可以包括模数转换器(adc)接口2111、流接口2112、触发接口2113、cpu事件接口2114、hsp事件接口2115、其他合适的接口或其组合。接口2110耦合到请求处理电路2120。
37.在操作中,接口2110中的每个接口2110可以从与其进行数据通信的源组件接收一个或多个事件触发。adc接口2111从诸如外围设备120的adc外围设备接收事件触发。流和cpu事件接口2112、2114耦合到应用处理电路220,并且从应用处理电路220接收事件触发。hsp事件接口2115接收由hsp 210的内部电路产生的事件触发。触发接口2113可以由应用处理器220配置,并且从除了外围设备120、应用处理器220和hsp 210之外的源接收事件触发。在一个实施例中,应用处理器220与其他接口2110中的一个或多个接口2110(诸如adc接口2111)生成共享事件触发,这将参考图4更详细地描述。
38.每个接口2110可以响应于接收到的事件触发而生成事件。如图2所示,adc接口2111响应于从诸如外围设备120的adc外围设备接收的事件触发而生成adc事件。流接口2112响应于从应用处理电路220接收的事件触发而生成流事件。触发接口2113可以响应于由应用处理电路220选择的事件触发而生成触发事件。cpu事件接口2114响应于从应用处理电路220接收的事件触发而生成cpu事件。hsp事件接口2115可以响应于从hsp 210接收的事件触发而生成hsp事件。
39.请求处理电路2120耦合到接口2110并且耦合到优先级编码器2130。请求处理电路2120处理由接口2110输出并且由请求处理电路2120接收的事件。请求处理电路2120生成与由接口2110输出的事件相关联的处理请求。如图2所示,请求处理电路2120可以生成许多标记为“处理请求0

处理请求n”的处理请求。处理请求中的每个处理请求都与由接口2110输出的事件之一相关联。当从接口2110接收到处理请求时,可以例如基于先进先出(fifo)顺序地输出处理请求。
40.每个处理请求都包括事件标识符。在一个实施例中,每个处理请求包括相关联的优先级。在一个实施例中,请求处理电路2120可以基于先进先出(fifo)来分配优先级。例如,在hsp事件之前接收的cpu事件可能具有比hsp事件更高的优先级(例如,通常将在hsp事件之前处理)。在一个实施例中,请求处理电路2120考虑到接收的事件的类型来分配优先级。例如,请求处理电路2120可以将任何接收到的cpu事件移动到队列中比其他类型的事件更高的位置。在一个实施例中,请求处理电路2120通常可以使用fifo方法对事件进行排序(或排队或优先化),例外情况可用于一种或多种类型的事件(例如,cpu事件、hsp事件)。例如,当系统10包括两个以上外围设备120,诸如一个或多个不同类型的传感器、不同物理位置中的类似传感器或其他配置时,可以给予来自某些外围设备120的事件触发比来自其他外围设备120的事件触发更高的优先级。作为一个非限制性示例,车辆前部的相机120可以被给予比车辆后部的相机120更高的优先级。在另一非限制性示例中,所有相机120、飞行时
间传感器120或其他外围设备120可以被给予比定位(例如,全球定位系统)接收器120或温度传感器120更高的优先级。在一个实施例中,用于向每个处理请求分配优先级的优先级化逻辑由应用处理器220配置。
41.优先级编码器2130耦合到请求处理电路2120并且耦合到hsp处理电路2200。优先级编码器2130接收从请求处理电路2120输出的处理请求。优先级编码器2130向hsp处理电路2200输出与每个相应处理请求相关联的命令列表编号。在图2中,命令列表编号被标记为“命令列表编号”。命令列表编号是与将响应于处理请求事件而执行的命令列表相关联的标识符。在一个实施例中,命令列表编号是指向存储命令列表的寄存器的指针。在一个实施例中,优先级编码器2130向hsp处理电路2200输出唤醒信号,该唤醒信号可以指导hsp处理电路2200接收命令列表编号。
42.在一个实施例中,优先级编码器2130存储多个处理请求,并且可以基于多个处理请求中的每个处理请求的相应优先级,将相关联的命令列表编号输出到hsp处理电路2200。例如,在命令列表的执行期间,优先级编码器2130可以接收具有低优先级的第一请求,然后接收具有高优先级的第二请求。在完成当前命令列表的执行时,尽管在第二请求之前接收到第一请求,但是由于第二请求的优先级较高,优先级编码器2130可以在输出与第一请求相关联的命令列表编号之前输出与第二请求相关联的命令列表编号。
43.在一个实施例中,hsp处理电路2200在其中存储了数据元素2210。命令列表可以与数据元素2210中的相应事件触发相关联。参考图3a、图3b和图3d更详细地描述数据元素2210。在hsp处理电路2200接收到命令列表编号之后,hsp处理电路2200执行与命令列表编号相关联的命令列表。在一个实施例中,例如,执行不可能被与具有更高优先级的处理请求相关联的另一命令列表编号中断。在一个实施例中,数据元素2210被存储在hsp存储器211中。
44.在完成执行与命令列表编号相关联的命令列表之后,hsp处理电路2200可以已经生成输出数据并且将输出数据存储在存储器中,诸如存储在设备存储器21中,该设备存储器21可以在应用处理电路220和hsp 210之间共享。在将输出数据存储在存储器中之后,应用处理电路220可以检索输出数据。在一个实施例中,hsp 210通知应用处理电路220以指示命令列表的执行已经完成并且输出数据准备好用于检索。以此方式,应用处理电路220可以在低功率模式下工作,或者在等待hsp 210生成和存储输出数据的同时完成其他任务。
45.图3a-图3c图示了根据各种实施例的命令列表3200、数据元素2210以及响应于事件触发301的对命令列表的执行。图3d示出了根据各种实施例的存储在hsp存储器211中的命令列表3200、数据元素2210、函数表3300和参数表3400的示图。
46.在图3a中,根据各种实施例图示了标记为“command list0”的命令列表3200。命令列表3200包括多个命令集3201。每个命令集3201可以包括函数标识符3211,例如,在图3a中标记为“ptrkernel”的指针,以及参数标识符3221,例如,在图3a中标记为“ptrparam”的指针。在一些实施例中,函数标识符3211是指向hsp存储器211中函数所在的地址的指针。例如,如图3d所示,标记为“ptrkernal_a”的函数标识符3211是指向hsp存储器211的只读存储器(rom)中存储标记为“hsp_function_a”的函数3310的地址的指针。在一些实施例中,参数标识符3221是指向hsp存储器211中一个或多个参数所在的地址的指针。例如,如图3d所示,参数标识符3221指向存储在参数表3400中的多个参数3410。在一个实施例中,每个命令集
3201包括单个(例如,仅一个)参数标识符3221。为多个参数3410提供单个指针(例如,参数标识符3221)的一个好处是对于所有函数原型(例如,每对函数标识符3211和参数标识符3221)具有统一的结构。在一个实施例中,每个参数3410与不同的指针相关联(例如,多个参数标识符3221)。在一些实施例中,命令列表3200包括一个或多个函数标识符3211、一个或多个参数标识符3221或其组合。
47.命令列表3200可以是由数据元素2210指向的多个命令列表3200中的一个命令列表,如在图3b中概念性地示出。数据元素2210可以包括与多个相应事件触发300相关联并且与多个相应尺寸参数310相关联的多个命令列表标识符320。例如,命令列表3200可以由标记为“ptrcmdlist0”的命令列表标识符321指向,该命令列表标识符321可以是存储在存储器(例如,soc存储器21或hsp存储器211)中的缓冲器中的指针321,该指针321可以指向存储命令列表3200的存储器(例如,soc存储器21或hsp存储器211)中的缓冲器。在一些实施例中,命令列表3200和数据元素2210被存储在hsp存储器211中,而不是被存储在soc存储器21中,这提高了访问速度,并且降低了数据元素2210和命令列表3200例如被应用处理器200损坏的可能性。
48.例如,命令列表3200的命令集3201可以按照图3a的图示从左到右的顺序执行。每个函数标识符3211可以指向hsp 210的函数,如图3d所示。例如,标记为“ptrkernel_a”的函数标识符3211指向函数表3300的标记为“hsp_function_a”的函数3310。在一个实施例中,每个函数标识符3211可以指向滤波函数(例如,fir、无限脉冲响应(iir))、卷积函数、相关函数、简单数学函数(例如,加法、乘法、平均、极限、绝对值等)、三角函数(例如,正弦、余弦、模数等)、矩阵函数(例如,矩阵加法、矩阵乘法、绝对值等)、频谱变换函数(例如,快速傅立叶变换(fft)、离散余弦变换(dct)等)或可由hsp处理电路2200执行的其他合适的函数3310。
49.每个命令集3201可以包括一个或多个参数标识符3221。在一个实施例中,每个命令集3201包括单个参数标识符3221,诸如指向图3d中所示的参数表3400的位置的单个参数指针3221。参数标识符3221可以是指向存储器中的缓冲器3410的指针,该缓冲器3410在由函数标识符3211指向的函数的执行期间服务于目的。参数标识符3221可以指向静态参数或动态参数。例如,参数标识符3221可以指向位置,在该位置处是指向输入缓冲器、输出缓冲器、动态参数缓冲器等的指针。参数标识符3221可以指向静态参数本身。输入缓冲器可以包含将通过执行函数来处理的输入数据。输出缓冲器可以是其中可以存储由执行函数产生的输出数据的位置。在许多实施例中,输入缓冲器和输出缓冲器是相同的缓冲器,并且因此,单个缓冲器3410可以用于检索输入数据并且用于存储输出数据。参数缓冲器3410可以指向存储用于配置函数的执行的一个或多个动态参数的地址。参数缓冲器3410可以存储用于配置函数的执行的静态参数。例如,参数缓冲器3410可以指向存储将在执行fir函数期间使用的滤波系数的缓冲器。参数标识符3221可以指向存储静态参数的参数缓冲器3410。示例静态参数是用于配置fft运算的执行的采样速率和变换大小。每个参数缓冲器3410可以与地址和大小(例如,字节数)相关联。
50.命令列表3200中的多个命令集3201可以由与命令列表3200相关联的大小参数310来描述。例如,大小参数311可以与由命令列表标识符321指向的命令列表3200相关联。大小参数311可以指示命令列表3200中的命令集3201的数目。在命令列表3200的执行期间,可以
执行简单的条件循环(例如,for循环)以按照由大小参数311指示的迭代次数来执行命令集3201中的每个命令集,。例如,当命令列表3200包括七个命令集3201时,大小参数311可以等于七。在图3c所示的示例中,大小参数311可以等于2,因为在所示的命令列表3200中执行两个函数3211、3212。
51.hsp 210生成命令列表3200,并且将命令列表3200存储在hsp存储器211中。在一个实施例中,hsp 210从应用处理器200接收描述要生成的命令列表3200的数据结构,但不是命令列表3200本身。该数据结构可以被称为“命令预列表”,其具有描述将由hsp 210翻译以生成命令列表3200的函数及其相关联的参数(例如,静态参数)的列表(例如,计算机代码)的含义。在hsp 210的初始化阶段期间,hsp 210接收命令预列表。在一个实施例中,应用处理器200在初始化阶段期间向hsp 210发送所有命令预列表。在初始化阶段中,hsp210将命令预列表的函数描述符和参数描述符(诸如函数标识符3211和参数标识符3221)分别翻译成指针,。将函数和参数翻译为指针加快了hsp 210的运行阶段中的执行时间,其中响应于事件触发300执行命令列表3200。
52.在hsp 210的初始化阶段期间,hsp 210将每个函数3310的所有参数存储到内部存储器区域(例如,参数表3400)中,并且创建指针(例如,图3d中标记为“ptrparam_a”的函数标识符3211)以定位参数。在一些实施例中,每个函数3310仅接收一个参数标识符3221。参数标识符3221是指向参数列表中的第一参数的指针。使用参数标识符3221用将被读/写的参数的数目对每个函数3310进行编码。例如,如图3d所示,标记为“ptrparam_a”的参数标识符3221指向存储标记为“buffer_in”的参数的缓冲器3410,该参数是标记为“buffer_in”、“buffer_coeff”、“buffer_out”、“parameter_1、“parameter_2”和“parameter_3”的参数列表中的第一参数。
53.如图3d所示,hsp内部存储器211存储在hsp 210初始化阶段期间填充的命令列表地址表(例如,数据元素2210)、在hsp初始化阶段期间填充的命令列表3200以及在初始化阶段期间填充的参数表3400。
54.命令列表地址表将由优先级编码器2130提供的每个事件触发300与对应命令列表3200的地址相关联。例如,标记为“ptrcmdlist0”的命令列表标识符320指向包括标记为“ptrkernel_a”、“ptrkernel_b”、
…“
ptrkernel_k”的函数标识符3211的命令列表3200。命令列表3200可以是指向hsp 210的核函数(例如,函数标识符3210)的一组地址指针(例如,函数标识符3211),以及指向参数表3400的关联指针(例如,参数标识符3221)。在一个实施例中,当运行函数3310时,函数3310接收的唯一参数是参数标识符3221,其是相关联的参数被存储在参数表3400中的地址。每个函数3310用要检索的参数的数目来编码。
55.在一些实施例中,每个命令集3201仅包括一个参数标识符3221,这加速了处理。例如,从一个命令集3201移动到下一个命令集3201可以总是请求步进2,这比处理具有可变长度的命令集3201更高效,诸如如果命令集3201中的每个参数由相应的参数标识符3221指向。
56.图4-图6图示了根据各种实施例的生成输出数据的方法的流程图。
57.图4图示了根据各种实施例的方法40。方法40开始于动作410。出于说明的目的,图4-图6的以下描述参考了系统10的组件,但是方法40可以由具有不同于系统10的配置的系统来执行。
58.在动作420中,初始化缓冲器。缓冲器可以是由参数标识符3221指向的输入缓冲器、输出缓冲器、参数缓冲器等。在一个实施例中,缓冲器是与要存储的所有命令列表相关联的缓冲器。初始化缓冲器可以包括将存储器分配给缓冲器、创建存储器映射、设置存储在缓冲器中的数据的值或其组合。在一些实施例中,hsp 210处理用于内部缓冲器的存储器资源。对于内部缓冲器,应用处理器200可以向hsp 210指示如何初始化内部缓冲器。例如,应用处理器200可以指示不需要初始化,内部缓冲器将用恒定值进行初始化(例如,所有内部缓冲器被设置为0、0x5555或另一合适的值),或者内部缓冲器将用由应用处理器200提供的外部模式进行初始化。例如,一旦创建了内部缓冲器,hsp 210可以用由应用处理器200提供的数据模式初始化内部缓冲器,诸如用于初始化存储滤波系数的内部缓冲器。
59.动作420可以由应用处理电路220执行。在进行到动作430之前,应用处理电路220可以生成命令预列表,以准备在hsp 210中生成命令列表。应用处理电路220可以为要存储在hsp 210中的每个命令列表选择与之相关联的函数和缓冲器。在将命令预列表上传到hsp 210之前,应用处理电路220可以尝试初始化存储器中的缓冲器,以供hsp 210在执行命令列表期间使用。例如,应用处理电路220可以初始化用于fir函数、fft函数、绝对值函数等的输入缓冲器、输出缓冲器和参数缓冲器。应用处理电路220还在存储器中分配要由命令列表请求的所有对象,诸如滤波实例、变换实例等。一旦分配了所有函数实例和缓冲器,应用处理电路220可以将命令预列表上传到hsp210。
60.在动作430中,在动作420中启动缓冲器之后,命令列表被生成。每个命令列表可以类似于参考图3a-图3c描述的命令列表3200,并且可以包括多个函数标识符和多个相应的参数标识符。每个命令列表与相应的事件触发相关联。hsp 210可以在动作430中的命令列表(例如,命令列表3200)的生成期间验证和本地化(例如,翻译)命令预列表,这将在下面参考图5更详细地描述。
61.在动作440中,在动作430中生成命令列表之后,响应于接收到的事件触发,运行(例如,执行)命令列表中的一个命令列表。参照图6更详细地描述动作440。
62.图5图示了根据各种实施例的动作430。图5所示的过程开始于动作510。在动作520中,选择函数和相关联的缓冲器。在一个实施例中,一次一个函数地来选择函数。可以由hsp 210基于从应用处理电路220接收的命令预列表来执行函数和相关联的缓冲器的选择。例如,可以选择fir或fft函数,并且可以选择相关联的输入缓冲器、输出缓冲器、(例如,用于fir函数的)抽取因子缓冲器等。方法430从动作520进行到动作530。
63.在动作530中,hsp 210验证函数和相关联的缓冲器是否被正确分配。例如,hsp 210的fir函数可以与具有输入大小(例如,32位)的输入缓冲器、具有输出大小(例如,32位)的输出缓冲器以及具有参数大小(例如,16位)的参数缓冲器相关联。当由应用处理电路220分配的缓冲器的大小与hsp 210的函数参数匹配时,过程进行到动作540。当缓冲器的大小与函数参数不匹配时(例如,参数缓冲器被分配为8位,但应该是16位),对应于动作560,可以报告存储器配置错误。响应于存储器配置错误,应用处理电路220可以生成命令预列表,包括重新分配正确的存储器量,并且将更新的命令预列表重新上传到hsp 210。在进行到动作540之前,可以针对每个命令预列表的每个函数重复动作520、530、560。
64.在动作540中,命令列表被存储在存储器中。在一个实施例中,hsp 210将命令列表3200存储在数据元素2210中。在一个实施例中,命令列表3200被存储在hsp存储器211中。
65.命令列表的存储可以由hsp 210执行。在一个实施例中,命令预列表首先被存储在设备存储器21中的缓冲器中,例如,该缓冲器可由应用处理器220和hsp 210两者访问。在将命令预列表存储在共享缓冲器中之后,hsp 210可以将接收到的命令预列表翻译成在hsp210上高效执行的可执行指令。在一些实施例中,在应用处理器200侧,c编程语言函数可以与每个命令预列表相关联。在这种配置中,命令预列表可以不存在于存储器21中,并且由c代码生成并且直接被存储到hsp存储器211中。可执行指令可以作为命令列表3200被存储在存储器(例如,hsp存储器211)中。存储命令列表3200可以包括hsp 210在hsp存储器211中分配函数实例和缓冲器。命令列表的可以是指针的函数标识符可以指向hsp存储器211中的函数实例。参数标识符可以指向hsp存储器211中的缓冲器。
66.在动作550中,命令列表与相应的事件触发相关联。例如,在hsp 210中存储命令列表3200之后,命令列表3200可以与相应的事件触发300相关联(参见图3b)。例如,对应于从传感器120接收的样本数目的cpu事件触发,可以与传感器数据处理命令列表3200相关联。每个命令列表3200可以与不同的事件触发300相关联。在一个实施例中,命令列表3200中的一个或多个命令列表可以与多个事件触发相关联。在hsp 210中生成和存储命令列表3200以及使事件触发300与命令列表3200关联之后,hsp 210可以进入自主执行(或“程序运行”)模式,其中hsp 210等待事件触发300,对应于图5的动作507。图6图示了根据各种实施例的图4的动作440。动作440包括响应于接收到的事件触发运行命令列表,并且从动作610开始。
67.在动作620中,接收与命令列表相关联的事件触发。例如,在hsp 210中生成和存储命令列表3200之后,hsp 210可以处于自主执行模式,其中hsp 210等待事件触发300。
68.在动作630中,在接收到与命令列表相关联的事件触发之后,确定命令列表中的命令集的数目。
69.例如,命令集3201的数目可以通过读取存储大小参数310(例如,与由命令列表指针321指向的命令列表3200相关联的大小参数311)的缓冲器来确定。命令集3201的数量目可以指示要在命令列表3200中调用多少函数。例如,图3c中所示的命令集3200可以具有等于2的命令集的数目。
70.在动作640中,调用命令列表的第一个或下一个函数。例如,在图3c所示的命令列表3200中,可以调用函数3211。在完成执行动作630中调用的函数之后,如果命令列表中还剩余另外的命令集(例如,如动作650中所检查的),则再次执行动作640,直到命令列表的最后一个命令集已经完成执行。例如,在图3c所示的命令列表3200中,可以调用函数3212。当执行函数时,hsp处理电路2200可以从由与函数标识符3211(参见图3a)相关联的多个参数标识符3221中的参数标识符标识的缓冲器中检索函数的操作数(例如,输入数据、函数系数等)。例如,hsp处理电路2200可以从与fir函数相关联的参数缓冲器中检索抽取因子系数。
71.如果命令列表中没有剩余命令集,则图6的过程进行到动作660。通常,在执行命令列表3200的最后一个命令集3201之后,输出数据被生成和存储在存储器的缓冲器(例如,soc存储器21)中。在一个实施例中,在执行最后一个命令集3201之后,产生中断以唤醒在应用处理器220上运行的应用,该应用产生导致执行命令列表3200的事件触发300。在生成输出数据之后,hsp 210可以等待另一事件触发。
72.在一些实施例中,方法40包括多个操作。应当注意,方法40的操作可以在各种实施例的范围内重新排列或以其他方式修改(例如,移除)。还应当注意,可以在方法40之前、期
间和之后提供额附加的处理,并且在此可以仅简要描述一些其他处理。例如,错误处理动作可以在动作540和640之后出现,这可能遇到存储器损坏错误(例如,动作540)或溢出错误(例如,动作640)。
73.图3c图示了根据各种实施例的命令列表3200的执行的一个示例。可以使用方法40响应于接收到的事件触发301来执行命令列表3200。可以使用缓冲器3221来执行第一函数3211,该缓冲器3221可以包括第一缓冲器(“bufferid1”)、第二缓冲器(“bufferid2”)、第一参数(“32”)和第二参数(“128”)以及第三缓冲器322(“bufferid3”)。在一个实施例中,第一缓冲器是输入缓冲器,并且第二缓冲器可以是参数缓冲器。第一参数和第二参数可以是静态参数,诸如滤波器抽头的数目、要处理的样本的数目或其他合适的参数。第三缓冲器3222可以是输出缓冲器。在执行第一函数3211之后,第三缓冲器3222可以包含由第一函数3211作用于存储在第一缓冲器中的输入数据而生成的第一输出数据。可以在执行第一函数3211之后执行第二函数3212。例如,如果第二函数3212在由第一函数3211处理存储在缓冲器3222中的第一输出数据之后将第二输出数据写回缓冲器3222,则第二函数3212可以与缓冲器3222相关联。在一个实施例中,作为输入缓冲器和输出缓冲器的第一缓冲器和第三缓冲器位于soc存储器21中,并且作为参数缓冲器的第二缓冲器位于hsp存储器211中。
74.应当理解,在一些实施例中,复杂的函数可以包括由hsp 210和应用处理器220进行的处理。例如,hsp 210可以由adc接口2111接收的事件触发300触发以执行第一命令列表3200,并且可以生成和存储第一输出数据。应用处理器220可以对第一输出数据执行处理,并且生成和存储第二输出数据。在通过由应用处理器220处理第一输出数据来生成和存储第二输出数据之后,hsp 210的cpu事件接口2114可以接收第二事件触发300。然后,hsp 210可以执行与从应用处理器220接收的第二事件触发300相关联的第二命令列表3200。第二命令列表3200可以将第二输出数据作为输入数据,并且可以生成第三输出数据并且将其存储例如在soc存储器21中。以此方式,通过利用应用处理器220和hsp 210的不同处理电路,可以实现更大的灵活性和效率。
75.实施例可以提供优点。使用生成和存储在hsp 210上的命令列表3200允许生成复杂的函数,而没有编译器或解释器的复杂性,这提高了包括hsp 210的系统10的速度、反应性和灵活性。hsp 210可以自主地执行命令列表,这允许应用处理器220在hsp 210执行命令列表3200的同时进入低功率模式以节省甚至更多的功率。
76.在一个实施例中,设备包括事件接口和耦合到事件接口的处理电路。事件接口接收事件触发,该事件触发与命令列表相关联,该命令列表被存储在存储器电路中。命令列表包括命令集,该命令集中的每个命令集包括函数标识符和多个参数标识符。处理电路响应于接收到的事件触发执行命令列表,生成输出数据;以及存储输出数据。命令集的函数标识符与处理电路的函数相关联。
77.在一个实施例中,系统包括应用处理器和硬件信号处理器。应用处理器生成事件触发。硬件信号处理器电连接到应用处理器。硬件信号处理器接收事件触发。事件触发与存储在存储器电路中的命令列表相关联。命令列表包括多个命令集。多个命令集中的命令集包括函数标识符和多个参数标识符。函数标识符与硬件信号处理器的函数相关联。硬件信号处理器响应于接收到的事件触发执行命令列表,生成输出数据,并且存储输出数据。
78.在一个实施例中,方法包括:生成和存储多个命令列表,多个命令列表中的每个命
令列表包括多个函数标识符和多个相应的参数标识符,多个函数标识符中的每个函数标识符与硬件信号处理器的函数相关联;初始化与多个命令列表的多个参数标识符相关联的多个相应的缓冲器;将多个相应的事件触发与多个命令列表相关联;由硬件信号处理器执行多个命令列表中的一个命令列表,该执行响应于接收到的事件触发,该执行生成输出数据;以及存储输出数据。
79.在一个实施例中,非暂态计算机可读介质使一个或多个处理器执行一个或多个自动化操作。自动化操作包括:生成和存储多个命令列表,多个命令列表中的每个命令列表包括多个函数标识符和多个相应的参数标识符,多个函数标识符中的每个函数标识符与硬件信号处理器的函数相关联;初始化与多个参数标识符相关联的多个相应的缓冲器;将多个相应触发与多个命令列表相关联;以及由硬件信号处理器执行多个命令列表中的一个命令列表,该执行响应于接收到的触发,该执行生成输出数据。
80.在一个实施例中,设备包括应用处理器和耦合到应用处理器的硬件信号处理器。硬件信号处理器在操作中:在硬件信号处理器的初始化阶段期间接收命令预列表,命令预列表包括多个函数标识符,多个函数标识符中的每个函数标识符与相应的多个参数标识符相关联;在初始化阶段期间,基于命令预列表生成命令列表;并且将命令列表存储在存储器电路中。
81.可以组合以上各种实施例以提供另外的实施例。根据以上详细描述,可以对实施例进行这些和其他改变。一般而言,在所附权利要求中,所使用的术语不应被解释为将权利要求限制于说明书和权利要求中公开的特定实施例,但应被解释为包括所有可能的实施例以及这些权利要求有权获得的等同物的全部范围。相应地,权利要求不受本公开的限制。

技术特征:
1.一种设备,包括:应用处理器;以及硬件信号处理器,耦合到所述应用处理器,其中所述硬件信号处理器在操作中:在所述硬件信号处理器的初始化阶段期间接收命令预列表,所述命令预列表包括多个函数描述符,所述多个函数描述符中的每个函数描述符与相应的多个参数描述符相关联;在所述初始化阶段期间,基于所述命令预列表生成命令列表;以及将所述命令列表存储在存储器电路中。2.根据权利要求1所述的设备,其中所述硬件信号处理器在操作中:在所述生成命令列表期间检查并且翻译所述命令预列表的所述多个函数描述符中的每个函数描述符。3.根据权利要求2所述的设备,其中所述硬件信号处理器在操作中:在所述翻译所述命令预列表的所述多个函数描述符之后切换到运行阶段。4.根据权利要求1所述的设备,其中所述命令列表包括多个命令集,所述多个命令集中的命令集包括函数标识符和参数标识符。5.根据权利要求4所述的设备,其中所述函数标识符是指向存储在所述存储器电路中的函数的指针。6.根据权利要求4所述的设备,其中所述参数标识符是指向存储在所述存储器电路中的参数的指针。7.根据权利要求4所述的设备,其中所述参数标识符是指向所述存储器电路中的缓冲器的指针,所述缓冲器存储动态参数。8.根据权利要求4所述的设备,其中所述命令集包括多个函数标识符,并且所述多个函数标识符中的函数标识符与多个参数标识符相关联。9.根据权利要求1所述的设备,其中所述硬件信号处理器在操作中:在所述初始化阶段将所述命令列表与事件触发相关联。10.根据权利要求9所述的设备,其中所述硬件信号处理器在操作中:在所述硬件信号处理器的运行阶段期间执行所述命令列表,所述执行响应于接收到的事件触发。11.一种系统,包括:应用处理器,其中所述应用处理器在操作中:生成命令预列表;以及硬件信号处理器,耦合到所述应用处理器,其中所述硬件信号处理器在操作中:在所述硬件信号处理器的初始化阶段期间接收命令预列表,所述命令预列表包括多个函数描述符,所述多个函数描述符中的函数描述符与多个参数描述符相关联;在所述初始化阶段期间,基于所述命令预列表生成命令列表;以及将所述命令列表存储在存储器电路中。12.根据权利要求11所述的系统,其中所述命令列表包括多个命令集,所述多个命令集中的命令集包括函数标识符和参数标识符。13.根据权利要求12所述的系统,其中所述函数标识符是指向存储在所述存储器电路中的函数的指针。
14.根据权利要求12所述的系统,其中所述参数标识符是指向存储在所述存储器电路中的参数的指针。15.根据权利要求12所述的系统,其中所述参数标识符是指向所述存储器电路中的缓冲器的指针,所述缓冲器存储动态参数。16.根据权利要求11所述的系统,其中所述命令列表的命令集包括多个函数标识符,并且所述多个函数标识符的函数标识符与多个参数标识符相关联。17.一种方法,包括:在硬件信号处理器的初始化阶段期间接收命令预列表,所述命令预列表包括多个函数描述符,所述多个函数描述符中的每个函数描述符与相应的多个参数描述符相关联;在所述初始化阶段期间,基于所述命令预列表生成命令列表;以及将所述命令列表存储在存储器电路中。18.根据权利要求17所述的方法,包括:在所述初始化阶段期间将所述命令列表与事件触发相关联。19.根据权利要求17所述的方法,其中所述生成和所述存储所述命令列表包括:由电连接到所述硬件信号处理器的应用处理器生成所述命令列表;由所述硬件信号处理器生成与所述命令列表相关联的可执行指令;以及将所述可执行指令存储在所述硬件信号处理器的存储器电路中。20.一种非暂态计算机可读介质,使一个或多个处理器执行一个或多个自动化操作,所述自动化操作包括:在硬件信号处理器的初始化阶段期间接收命令预列表,所述命令预列表包括多个函数描述符,所述多个函数描述符中的每个函数描述符与相应的多个参数描述符相关联;在所述初始化阶段期间,基于所述命令预列表生成命令列表;以及将所述命令列表存储在存储器电路中。21.根据权利要求20所述的非暂态计算机可读介质,其中所述自动化操作包括:在所述初始化阶段期间将所述命令列表与事件触发相关联。22.根据权利要求20所述的非暂态计算机可读介质,其中所述生成和所述存储所述命令列表包括:由电连接到所述硬件信号处理器的应用处理器生成所述命令列表;由所述硬件信号处理器生成与所述命令列表相关联的可执行指令;以及将所述可执行指令存储在所述硬件信号处理器的存储器电路中。23.一种设备,包括:事件接口,其中所述事件接口在操作中接收事件触发,所述事件触发与命令列表相关联,所述命令列表被存储在存储器电路中,所述命令列表包括多个命令集,所述多个命令集中的命令集包括函数标识符和参数标识符;以及硬件处理电路,耦合到所述事件接口,其中所述处理电路在操作中:响应于接收到的事件触发执行所述命令列表,生成输出数据,所述命令集的所述函数标识符与所述硬件处理电路的函数相关联;以及存储所述输出数据。24.根据权利要求23所述的设备,其中所述事件触发从耦合到所述事件接口的处理器
被接收。25.根据权利要求23所述的设备,其中所述事件触发从所述设备外部的外围设备被接收。26.根据权利要求25所述的设备,其中所述外围设备包括传感器。27.根据权利要求23所述的设备,其中所述硬件处理电路在操作中:接收命令预列表;使用所述命令预列表生成所述命令列表;存储所述命令列表;以及将所述命令列表与所述事件触发相关联。28.根据权利要求23所述的设备,其中所述硬件处理电路包括存储器,并且所述命令集的所述参数标识符与所述存储器电路的地址相关联。29.根据权利要求23所述的设备,其中所述命令列表的执行在后续命令列表的执行之前完成。30.根据权利要求23所述的设备,其中:所述事件接口在操作中:响应于接收到的所述触发生成处理请求,所述处理请求包括与所述命令列表相关联的命令列表标识符;为所述处理请求分配优先级;以及基于所述优先级向所述硬件处理电路发送所述命令列表标识符;以及所述硬件处理电路在操作中执行与所述命令列表标识符相关联的所述命令列表。31.根据权利要求23所述的设备,其中所述命令列表在不使用编译器的情况下被生成和存储。32.根据权利要求23所述的设备,包括:应用处理电路,耦合到所述事件接口,其中所述应用处理电路在操作中:通过选择所述硬件处理电路的至少一个函数来生成所述命令列表;存储所述命令列表;以及将所述事件触发与所述命令列表相关联。33.根据权利要求23所述的设备,其中所述硬件处理电路包括存储器,并且所述命令列表被存储在所述硬件处理电路的所述存储器中。34.根据权利要求23所述的设备,其中所述应用处理电路基于所述输出数据生成汽车控制信号。35.根据权利要求23所述的设备,其中所述命令列表包括指向滤波函数的指针、指向卷积函数的指针、指向频谱变换函数的指针或其组合。36.根据权利要求23所述的设备,其中所述硬件处理电路在操作中:从由所述参数标识符指向的缓冲器中检索函数的操作数。37.根据权利要求23所述的设备,其中所述硬件处理电路在操作中:将输出结果存储在由所述参数标识符指向的缓冲器中。38.一种系统,包括:应用处理器,其中所述应用处理器在操作中:
生成事件触发;以及硬件信号处理器,电连接到所述应用处理器,其中所述硬件信号处理器在操作中:接收所述事件触发,所述事件触发与命令列表相关联,所述命令列表被存储在存储器电路中,所述命令列表包括多个命令集,所述多个命令集中的命令集包括函数标识符和参数标识符,所述函数标识符与所述硬件信号处理器的函数相关联;响应于接收到的所述事件触发执行所述命令列表,生成输出数据;以及存储所述输出数据。39.根据权利要求38所述的系统,包括外围设备,其中所述硬件信号处理器从所述外围设备接收所述事件触发。40.根据权利要求39所述的系统,其中所述外围设备是传感器。41.根据权利要求38所述的系统,所述硬件信号处理器包括事件控制器,所述事件控制器包括:模数转换器接口电路;耦合到所述应用处理器的流接口电路;触发接口电路;耦合到所述应用处理器的处理器事件接口电路;以及数字信号处理器事件电路;其中所述硬件信号处理器在所述模数转换器接口电路、所述流接口电路、所述触发接口电路、所述处理器事件接口电路或所述数字信号处理器事件电路处接收所述事件触发。42.根据权利要求38所述的系统,其中所述硬件信号处理器包括:浮点电路,其中所述浮点电路在操作中执行由所述命令列表指向的函数并且存储所述输出数据。43.根据权利要求42所述的系统,其中所述浮点电路在后续命令集的执行之前完成所述命令列表的执行。44.根据权利要求38所述的系统,其中所述应用处理器在操作中:生成并且存储所述命令列表;以及将所述事件触发与所述命令列表相关联。45.一种方法,包括:生成并且存储多个命令列表,所述多个命令列表中的命令列表包括多个命令集,所述多个命令集中的命令集包括函数标识符和参数标识符,所述函数标识符与硬件信号处理器的函数相关联;初始化与所述多个命令列表的所述参数标识符相关联的多个缓冲器;将事件触发与所述命令列表相关联;由所述硬件信号处理器执行所述多个命令列表中的一个命令列表,所述执行响应于接收到的事件触发,所述执行生成输出数据;以及存储所述输出数据。46.根据权利要求45所述的方法,其中所述生成和所述存储所述多个命令列表包括:由电连接到所述硬件信号处理器的应用处理器生成所述多个命令列表;由所述硬件信号处理器生成与所述命令列表相关联的可执行指令;以及
将所述可执行指令存储在所述硬件信号处理器的存储器电路中。47.根据权利要求45所述的方法,其中所述硬件信号处理器从传感器接收所述事件触发。48.根据权利要求45所述的方法,包括:基于所述输出数据生成汽车控制信号。49.一种非暂态计算机可读介质,使一个或多个处理器执行一个或多个自动化操作,所述自动化操作包括:生成并且存储多个命令列表,所述多个命令列表中的命令列表包括多个命令集,所述多个命令集中的命令集包括函数标识符和参数标识符,所述函数标识符与硬件信号处理器的函数相关联;初始化与所述多个命令列表的所述参数标识符相关联的多个缓冲器;将事件触发与所述命令列表相关联;以及由所述硬件信号处理器执行所述多个命令列表中的一个命令列表,所述执行响应于接收到的触发,所述执行生成输出数据;以及存储所述输出数据。50.根据权利要求49所述的非暂态计算机可读介质,其中所述自动化操作包括:由电连接到所述硬件信号处理器的应用处理器生成所述多个命令列表;以及将所述多个命令列表存储在存储器电路中。51.根据权利要求50所述的非暂态计算机可读介质,其中所述存储器电路是所述硬件信号处理器的存储器。52.根据权利要求49所述的非暂态计算机可读介质,其中所述自动化操作包括:基于所述输出数据生成汽车控制信号。

技术总结
本公开涉及具有命令列表执行的设备及相关方法。一种设备,包括应用处理器和耦合到应用处理器的硬件信号处理器。硬件信号处理器在操作中:在硬件信号处理器的初始化阶段期间接收命令预列表,命令预列表包括多个函数描述符,多个函数描述符中的每个函数描述符与相应的多个参数描述符相关联;在初始化阶段期间,基于命令预列表生成命令列表;以及将命令列表存储在存储器电路中。存储在存储器电路中。存储在存储器电路中。


技术研发人员:阿瑟玛特 I
受保护的技术使用者:意法半导体(鲁塞)公司
技术研发日:2023.01.20
技术公布日:2023/7/26
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐