Device with command list execution and related method
AssigneesSTMicroelectronics (Grenoble 2) SAS, STMicroelectronics (Rousset) SAS
InventorsValerie Assemat, Isabelle Carnel, Edwin Hilkens, Jean Claude Bini
Life of this patent
Estimating the term…
Abstract
A device includes an application processor and a hardware signal processor coupled to the application processor. The hardware signal processor, in operation: receives a command pre-list during an initialization phase of the hardware signal processor, the command pre-list including a plurality of function describers, each of the plurality of function describers being associated with a respective plurality of parameter describers; generates a command list based on the command pre-list during the initialization phase; and stores the command list in memory circuitry.
Claims21
A device comprising:
- an application processor, which, in a run phase of operation:
- enters a low-power mode while a hardware signal processor autonomously executes a command list;
- and
- based on receiving an interrupt from the hardware signal processor, exits the low-power mode;
- and
- a hardware signal processor coupled to the application processor, wherein the hardware signal processor:
- in an initialization phase of operation:
- receives, from the application processor, a command pre-list, the command pre-list including a plurality of function describers, each of the plurality of function describers being associated with a respective plurality of parameter describers;
- generates a plurality of command lists based on the command pre-list, the generating the plurality of command lists including:
- translating the command pre-list into pointers;
- and
- verifying that sizes of buffers allocated to function parameters corresponding to the pointers match the function parameters;
- stores the plurality of command lists in memory circuitry;
- generates a command list address table based on the plurality of command lists, wherein an entry in the command list address table associates a command list of the plurality of command lists with an event and a command list size, the command list size being a number of command sets included in the command list associated with the entry;
- and
- stores the command list address table in the memory circuitry;
- and
- in the run phase of operation:
- receives an event trigger;
- identifies a command list corresponding to the event trigger;
- autonomously executes, based on the command list size, the command sets included in the identified command list;
- and
- in response to completing execution of the command sets included in the identified command list, provides the interrupt to the application processor.
A system comprising:
- an application processor, wherein the application processor, in operation:
- generates command pre-lists;
- and
- a hardware signal processor coupled to the application processor, wherein the hardware signal processor:
- in an initialization phase of operation:
- receives a command pre-list, the command pre-list including a plurality of function describers, a function describer of the plurality of function describers being associated with a plurality of parameter describers;
- generates a plurality of command lists based on the command pre-list, the generating the plurality of command lists including:
- translating the command pre-list into pointers;
- and
- verifying that sizes of buffers allocated to function parameters associated with the pointers match the function parameters;
- stores the plurality of command lists in respective memory locations;
- generates a command list address table based on the plurality of command lists, wherein an entry in the command list address table associates a command list of the plurality of command lists with an event and a command list size, the command list size being a number of command sets included in the command list associated with the entry;
- and
- stores the command list address table;
- and
- in a run phase of operation:
- receives an event trigger;
- identifies a command list of the plurality of command lists corresponding to the event trigger;
- autonomously executes, based on the command list size, the command sets included in the identified command list;
- and
- in response to completing execution of the command sets included in the identified command list, provides an interrupt to the application processor.
A method, comprising:
- receiving a command pre-list during an initialization phase of a hardware signal processor, the command pre-list including a plurality of function describers, each of the plurality of function describers being associated with a respective plurality of parameter describers;
- generating a plurality of command lists based on the command pre-list during the initialization phase, the generating the plurality of command lists including:
- translating the command pre-list into pointers;
- and
- verifying that sizes of buffers allocated to function parameters associated with the pointers match the function parameters;
- storing, during the initialization phase, the plurality of command lists in respective memory locations;
- generating, during the initialization phase, a command list address table based on the plurality of command lists, wherein an entry in the command list address table associates a command list of the plurality of command lists with an event and a command list size, the command list size being a number of command sets included in the command list associated with the entry;
- storing, during the initialization phase, the command list address table;
- and
- in a run phase of the hardware signal processor:
- responding to an event trigger by identifying a command list of the plurality of command lists corresponding to the event trigger;
- autonomously executing, based on the command list size, the command sets included in the identified command list;
- and
- in response to completing execution of the command sets included in the identified command list, generating an application processor interrupt signal.
A device comprising:
- a memory, which, in operation, stores a plurality of command lists and a command list address table, wherein,
- entries in the command list address table associate command lists of the plurality of command lists with respective events and command list sizes, the command list size of an entry being a number of command sets included in the command list associated with the entry, and
- a command set includes a function identifier and a parameter identifier;
- an event interface, wherein the event interface, in operation, receives an event trigger;
- and
- hardware processing circuitry coupled to the memory and to the event interface, wherein the hardware processing circuitry, in operation:
- in an initialization mode of operation:
- receives a command pre-list including a plurality of function describers, each of the plurality of function describers being associated with a respective plurality of parameter describers;
- generates the plurality of command lists, the generating the plurality of command lists including:
- translating the command pre-list into pointers;
- and
- verifying that sizes of buffers allocated to function parameters associated with the pointers match the function parameters;
- stores the plurality of command lists at respective memory locations;
- and
- generates the command list address table;
- and
- in a run mode of operation:
- identifies, based on the event trigger and an entry in the command list address table, a command list of the plurality of command lists;
- executes, based on the command list size of the identified entry in the command list table, the command sets of the identified command list in response to the received event trigger, generating output data;
- and
- in response to execution of the command sets of the identified command list, generates an application processor interrupt signal.
Dependencies are inferred from the claim text.