docs(ulp): clarify ULP FSM instruction cycle timing

Closes https://github.com/espressif/esp-idf/issues/4088
This commit is contained in:
Marius Vikhammer
2026-06-09 17:43:14 +08:00
parent 169aded5b1
commit 65f107e14b
2 changed files with 6 additions and 2 deletions

View File

@@ -9,7 +9,7 @@ ULP FSM coprocessor has 4 16-bit general purpose registers, labeled R0, R1, R2,
ULP coprocessor can access 8 K bytes of RTC_SLOW_MEM memory region. Memory is addressed in 32-bit word units. It can also access peripheral registers in ``RTC_CNTL``, ``RTC_IO``, and ``SENS`` peripherals.
All instructions are 32-bit. Jump instructions, ALU instructions, peripheral register and memory access instructions are executed in 1 cycle. Instructions which work with peripherals (TSENS, ADC, I2C) take variable number of cycles, depending on peripheral operation.
All instructions are 32-bit. Instruction execution and fetch timing depends on the instruction; see :ref:`ulp-fsm-instruction-execution-time` and the per-instruction cycle counts below.
The instruction syntax is case insensitive. Upper and lower case letters can be used and intermixed arbitrarily. This is true both for register names and instruction names.
@@ -75,6 +75,8 @@ Note About Addressing
ST R2, R1, 0 // write value of R2 into the third array element,
// i.e., array[2]
.. _ulp-fsm-instruction-execution-time:
Note About Instruction Execution Time
-------------------------------------

View File

@@ -9,7 +9,7 @@ ULP FSM 协处理器有 4 个 16 位通用寄存器,分别标记为 R0、R1、
ULP 协处理器可以访问 8 K 字节大小的 RTC_SLOW_MEM 内存区域。内存以 32 位字单位寻址。它还可以访问 ``RTC_CNTL````RTC_IO````SENS`` 外设中的外设寄存器。
所有指令都是 32 位。跳转指令、ALU 指令、外设寄存器和内存访问指令在 1 个周期内执行。与外设TSENS、ADC 和 I2C相关的指令所需的周期不同具体取决于外设操作
所有指令都是 32 位。指令的执行时间和获取时间取决于具体指令,请参阅 :ref:`ulp-fsm-instruction-execution-time` 以及下文每条指令的周期数
指令语法不区分大小写。无论是寄存器名称还是指令名称,都可以任意混合使用大小写字母。
@@ -75,6 +75,8 @@ ULP 协处理器可以访问 8 K 字节大小的 RTC_SLOW_MEM 内存区域。内
ST R2, R1, 0 // 将 R2 的值写入第三个数组元素,
// 即 array[2]
.. _ulp-fsm-instruction-execution-time:
指令执行时间注意事项
---------------------------------