mirror of
https://github.com/espressif/esp-idf.git
synced 2026-09-22 13:01:16 +03:00
Merge branch 'feat/ulp_kconfig_split' into 'feat/ulp_component_split'
refactor(ulp): move ULP program Kconfig options to its components See merge request espressif/esp-idf!52580
This commit is contained in:
@@ -54,20 +54,8 @@ menu "Ultra Low Power (ULP) Co-processor"
|
||||
menu "ULP RISC-V Settings"
|
||||
depends on ULP_COPROC_TYPE_RISCV
|
||||
|
||||
config ULP_RISCV_INTERRUPT_ENABLE
|
||||
bool
|
||||
prompt "Enable ULP RISC-V interrupts"
|
||||
default "n"
|
||||
help
|
||||
Turn on this setting to enabled interrupts on the ULP RISC-V core.
|
||||
|
||||
config ULP_RISCV_UART_BAUDRATE
|
||||
int
|
||||
prompt "Baudrate used by the bitbanged ULP RISC-V UART driver"
|
||||
default 9600
|
||||
help
|
||||
The accuracy of the bitbanged UART driver is limited, it is not
|
||||
recommend to increase the value above 19200.
|
||||
# Declared by the component that builds the ULP RISC-V program.
|
||||
rsource "subproject/components/ulp_riscv/Kconfig.ulp_riscv"
|
||||
|
||||
config ULP_RISCV_I2C_RW_TIMEOUT
|
||||
int
|
||||
@@ -117,28 +105,8 @@ menu "Ultra Low Power (ULP) Co-processor"
|
||||
HP application.
|
||||
endmenu
|
||||
|
||||
config ULP_ROM_PRINT_ENABLE
|
||||
depends on ULP_COPROC_TYPE_LP_CORE && ESP_ROM_HAS_LP_ROM
|
||||
bool
|
||||
prompt "Enable print utilities from LP ROM"
|
||||
default "y"
|
||||
help
|
||||
Set this option to enable printf functionality from LP ROM. This option
|
||||
can help reduce the LP core binary size by not linking printf functionality
|
||||
from RAM code.
|
||||
Note: For LP ROM prints to work properly, make sure that the LP core boots
|
||||
from the LP ROM.
|
||||
|
||||
config ULP_LP_CORE_MEMPROT
|
||||
bool "Enable LP Core memory protection (PMP)"
|
||||
depends on ULP_COPROC_TYPE_LP_CORE && SOC_LP_CORE_HAS_PMP && !ULP_COPROC_RUN_FROM_HP_MEM
|
||||
default n
|
||||
help
|
||||
Configures the LP CPU's PMP entries to enforce memory protection.
|
||||
LP RAM is split into executable (.text) and data (.data/.bss/stack)
|
||||
regions. Regions not explicitly permitted are inaccessible.
|
||||
Not available when "Run LP Core from HP memory" is enabled.
|
||||
Disable this if you need full control over PMP configuration.
|
||||
# Declared by the component that builds the LP core program.
|
||||
rsource "subproject/components/lp_core/Kconfig.lp_core"
|
||||
|
||||
config ULP_TRAP_WAKEUP
|
||||
depends on ULP_COPROC_TYPE_LP_CORE
|
||||
@@ -150,38 +118,8 @@ menu "Ultra Low Power (ULP) Co-processor"
|
||||
the LP-core encounters an exception.
|
||||
|
||||
menu "ULP Debugging Options"
|
||||
config ULP_PANIC_OUTPUT_ENABLE
|
||||
depends on ULP_COPROC_TYPE_LP_CORE && SOC_ULP_LP_UART_SUPPORTED
|
||||
bool
|
||||
prompt "Enable panic handler which outputs over LP UART"
|
||||
default "n"
|
||||
help
|
||||
Set this option to enable panic handler functionality. If this option is
|
||||
enabled then the LP Core will output a panic dump over LP UART,
|
||||
similar to what the main core does. Output depends on LP UART already being
|
||||
initialized and configured.
|
||||
Disabling this option will reduce the LP core binary size by not
|
||||
linking in panic handler functionality.
|
||||
|
||||
config ULP_HP_UART_CONSOLE_PRINT
|
||||
depends on ULP_COPROC_TYPE_LP_CORE
|
||||
bool
|
||||
prompt "Route lp_core_printf to the console HP-UART"
|
||||
help
|
||||
Set this option to route lp_core_printf to the console HP-UART.
|
||||
This allows you to easily view print outputs from the LP core, without
|
||||
having to connect to the LP-UART. This option comes with the following
|
||||
limitations:
|
||||
|
||||
1. There is no mutual exclusion between the HP-Core and the LP-Core accessing
|
||||
the HP-UART, which means that if both cores are logging heavily the output
|
||||
strings might get mangled together.
|
||||
2. The HP-UART can only work while the HP-Core is running, which means that
|
||||
if the HP-Core is in deep sleep, the LP-Core will not be able to print to the
|
||||
console HP-UART.
|
||||
|
||||
Due to these limitations it is only recommended to use this option for easy debugging.
|
||||
For more serious use-cases you should use the LP-UART.
|
||||
# Declared by the component that builds the LP core program.
|
||||
rsource "subproject/components/lp_core/Kconfig.lp_core_debug"
|
||||
|
||||
config ULP_NORESET_UNDER_DEBUG
|
||||
bool "Avoid resetting LP core when debugger is attached"
|
||||
|
||||
26
components/ulp/subproject/components/lp_core/Kconfig.lp_core
Normal file
26
components/ulp/subproject/components/lp_core/Kconfig.lp_core
Normal file
@@ -0,0 +1,26 @@
|
||||
# Sourced by the ULP coprocessor driver on the HP core, in
|
||||
# components/ulp/Kconfig. Not named Kconfig, which would also attach it to
|
||||
# this component and define every option twice.
|
||||
|
||||
config ULP_ROM_PRINT_ENABLE
|
||||
depends on ULP_COPROC_TYPE_LP_CORE && ESP_ROM_HAS_LP_ROM
|
||||
bool
|
||||
prompt "Enable print utilities from LP ROM"
|
||||
default "y"
|
||||
help
|
||||
Set this option to enable printf functionality from LP ROM. This option
|
||||
can help reduce the LP core binary size by not linking printf functionality
|
||||
from RAM code.
|
||||
Note: For LP ROM prints to work properly, make sure that the LP core boots
|
||||
from the LP ROM.
|
||||
|
||||
config ULP_LP_CORE_MEMPROT
|
||||
bool "Enable LP Core memory protection (PMP)"
|
||||
depends on ULP_COPROC_TYPE_LP_CORE && SOC_LP_CORE_HAS_PMP && !ULP_COPROC_RUN_FROM_HP_MEM
|
||||
default n
|
||||
help
|
||||
Configures the LP CPU's PMP entries to enforce memory protection.
|
||||
LP RAM is split into executable (.text) and data (.data/.bss/stack)
|
||||
regions. Regions not explicitly permitted are inaccessible.
|
||||
Not available when "Run LP Core from HP memory" is enabled.
|
||||
Disable this if you need full control over PMP configuration.
|
||||
@@ -0,0 +1,36 @@
|
||||
# Sourced by the ULP coprocessor driver on the HP core, in
|
||||
# components/ulp/Kconfig. Not named Kconfig, which would also attach it to
|
||||
# this component and define every option twice.
|
||||
|
||||
config ULP_PANIC_OUTPUT_ENABLE
|
||||
depends on ULP_COPROC_TYPE_LP_CORE && SOC_ULP_LP_UART_SUPPORTED
|
||||
bool
|
||||
prompt "Enable panic handler which outputs over LP UART"
|
||||
default "n"
|
||||
help
|
||||
Set this option to enable panic handler functionality. If this option is
|
||||
enabled then the LP Core will output a panic dump over LP UART,
|
||||
similar to what the main core does. Output depends on LP UART already being
|
||||
initialized and configured.
|
||||
Disabling this option will reduce the LP core binary size by not
|
||||
linking in panic handler functionality.
|
||||
|
||||
config ULP_HP_UART_CONSOLE_PRINT
|
||||
depends on ULP_COPROC_TYPE_LP_CORE
|
||||
bool
|
||||
prompt "Route lp_core_printf to the console HP-UART"
|
||||
help
|
||||
Set this option to route lp_core_printf to the console HP-UART.
|
||||
This allows you to easily view print outputs from the LP core, without
|
||||
having to connect to the LP-UART. This option comes with the following
|
||||
limitations:
|
||||
|
||||
1. There is no mutual exclusion between the HP-Core and the LP-Core accessing
|
||||
the HP-UART, which means that if both cores are logging heavily the output
|
||||
strings might get mangled together.
|
||||
2. The HP-UART can only work while the HP-Core is running, which means that
|
||||
if the HP-Core is in deep sleep, the LP-Core will not be able to print to the
|
||||
console HP-UART.
|
||||
|
||||
Due to these limitations it is only recommended to use this option for easy debugging.
|
||||
For more serious use-cases you should use the LP-UART.
|
||||
@@ -0,0 +1,20 @@
|
||||
# Sourced by the ULP coprocessor driver on the HP core, in
|
||||
# components/ulp/Kconfig. Not named Kconfig, which would also attach it to
|
||||
# this component and define every option twice.
|
||||
|
||||
config ULP_RISCV_INTERRUPT_ENABLE
|
||||
depends on ULP_COPROC_TYPE_RISCV
|
||||
bool
|
||||
prompt "Enable ULP RISC-V interrupts"
|
||||
default "n"
|
||||
help
|
||||
Turn on this setting to enable interrupts on the ULP RISC-V core.
|
||||
|
||||
config ULP_RISCV_UART_BAUDRATE
|
||||
depends on ULP_COPROC_TYPE_RISCV
|
||||
int
|
||||
prompt "Baudrate used by the bitbanged ULP RISC-V UART driver"
|
||||
default 9600
|
||||
help
|
||||
The accuracy of the bitbanged UART driver is limited, it is not
|
||||
recommended to increase the value above 19200.
|
||||
Reference in New Issue
Block a user