ulp_insn is only used within ESP-IDF.
 
Symbols
loading...
Files
loading...
SummarySyntaxRelatedReferences

Fields

Field
Declared as
Description
struct { uint32_t cycles : 16; uint32_t unused : 12; uint32_t opcode : 4; }
Format of DELAY instruction.
struct { uint32_t dreg : 2; uint32_t sreg : 2; uint32_t unused1 : 6; uint32_t offset : 11; uint32_t unused2 : 4; uint32_t sub_opcode : 3; uint32_t opcode : 4; }
Format of ST instruction.
struct { uint32_t dreg : 2; uint32_t sreg : 2; uint32_t unused1 : 6; uint32_t offset : 11; uint32_t unused2 : 7; uint32_t opcode : 4; }
Format of LD instruction.
struct { uint32_t unused : 28; uint32_t opcode : 4; }
Format of HALT instruction.
struct { uint32_t dreg : 2; uint32_t sreg : 2; uint32_t treg : 2; uint32_t unused : 15; uint32_t sel : 4; uint32_t sub_opcode : 3; uint32_t opcode : 4; }
Format of ALU instruction (both sources are registers).
struct { uint32_t unused1 : 4; uint32_t imm : 8; uint32_t unused2 : 9; uint32_t sel : 4; uint32_t sub_opcode : 3; uint32_t opcode : 4; }
Format of ALU instruction (stage counter and an immediate).
struct { uint32_t addr : 8; uint32_t periph_sel : 2; uint32_t unused : 8; uint32_t low : 5; uint32_t high : 5; uint32_t opcode : 4; }
Format of RD_REG instruction.
struct { uint32_t dreg : 2; uint32_t mux : 4; uint32_t sar_sel : 1; uint32_t unused1 : 1; uint32_t cycles : 16; uint32_t unused2 : 4; uint32_t opcode: 4; }
Format of ADC instruction.
struct { uint32_t dreg : 2; uint32_t addr : 11; uint32_t unused : 8; uint32_t reg : 1; uint32_t type : 3; uint32_t sub_opcode : 3; uint32_t opcode : 4; }
Format of BRANCH instruction (absolute address).
struct { uint32_t imm : 16; uint32_t cmp : 1; uint32_t offset : 7; uint32_t sign : 1; uint32_t sub_opcode : 3; uint32_t opcode : 4; }
Format of BRANCH instruction (relative address, conditional on R0).
struct { uint32_t imm : 8; uint32_t unused : 7; uint32_t cmp : 2; uint32_t offset : 7; uint32_t sign : 1; uint32_t sub_opcode : 3; uint32_t opcode : 4; }
Format of BRANCH instruction (relative address, conditional on the stage counter).
struct { uint32_t dreg : 2; uint32_t sreg : 2; uint32_t imm : 16; uint32_t unused : 1; uint32_t sel : 4; uint32_t sub_opcode : 3; uint32_t opcode : 4; }
Format of ALU instruction (one source is an immediate).
struct { uint32_t addr : 8; uint32_t periph_sel : 2; uint32_t data : 8; uint32_t low : 5; uint32_t high : 5; uint32_t opcode : 4; }
Format of WR_REG instruction.
struct { uint32_t cycle_sel : 4; uint32_t unused : 21; uint32_t sub_opcode : 3; uint32_t opcode : 4; }
Format of END instruction with sleep.
struct { uint32_t dreg : 2; uint32_t label : 16; uint32_t unused : 6; uint32_t sub_opcode : 4; uint32_t opcode: 4; }
Format of tokens used by MACROs.
uint32_t
Encoded instruction for ULP coprocessor.
struct { uint32_t dreg : 2; uint32_t wait_delay: 14; uint32_t reserved: 12; uint32_t opcode: 4; }
Format of TSENS instruction.
struct { uint32_t i2c_addr : 8; uint32_t data : 8; uint32_t low_bits : 3; uint32_t high_bits : 3; uint32_t i2c_sel : 4; uint32_t unused : 1; uint32_t rw : 1; uint32_t opcode : 4; }
Format of I2C instruction.
struct { uint32_t wakeup : 1; uint32_t unused : 24; uint32_t sub_opcode : 3; uint32_t opcode : 4; }
Format of END instruction with wakeup.

References

from examples