diff --git a/.gitlab/ci/build.yml b/.gitlab/ci/build.yml
index ff215f1..0b48b61 100644
--- a/.gitlab/ci/build.yml
+++ b/.gitlab/ci/build.yml
@@ -100,6 +100,9 @@ build_application_edge_agent:
- IMAGE: espressif/idf:release-v5.5
EXAMPLE_BOARD: esp32_p4_function_ev
EXAMPLE_TARGET: esp32p4
+ - IMAGE: espressif/idf:release-v5.5
+ EXAMPLE_BOARD: esp32_p4x_function_ev
+ EXAMPLE_TARGET: esp32p4
- IMAGE: espressif/idf:release-v5.5
EXAMPLE_BOARD: m5stack_sticks3
EXAMPLE_TARGET: esp32s3
diff --git a/.gitlab/ci/build_apps.py b/.gitlab/ci/build_apps.py
index 495b5f3..1b80f06 100644
--- a/.gitlab/ci/build_apps.py
+++ b/.gitlab/ci/build_apps.py
@@ -35,6 +35,11 @@ logger = logging.getLogger('idf_build_apps')
IDF_PATH = os.getenv('IDF_PATH', '')
BOARD_NAME = 'default'
+# Virtual board variants -> (real board for gen-bmgr-config, extra sdkconfig.defaults snippet)
+BOARD_VARIANTS: t.Dict[str, t.Tuple[str, str]] = {
+ 'esp32_p4x_function_ev': ('esp32_p4_function_ev', '# CONFIG_ESP32P4_SELECTS_REV_LESS_V3 is not set\n'),
+}
+
PROJECT_ROOT = Path(__file__).parent.parent.parent.absolute()
APPS_BUILD_PER_JOB = 30
IGNORE_WARNINGS = [
@@ -77,8 +82,14 @@ class CustomApp(CMakeApp):
os.remove(os.path.join(self.work_dir, 'dependencies.lock'))
board_name = BOARD_NAME.strip()
if board_name != 'default':
+ actual_board, extra_defaults = BOARD_VARIANTS.get(board_name, (board_name, ''))
if self.is_board_manager_project():
- self._pre_hook(board_name)
+ self._pre_hook(actual_board)
+ if extra_defaults:
+ defaults = Path(self.work_dir) / 'components' / 'gen_bmgr_codes' / 'board_manager.defaults'
+ if defaults.is_file():
+ with open(defaults, 'a', encoding='utf-8') as f:
+ f.write('\n' + extra_defaults)
else:
logger.warning(
"Board '%s' specified but app '%s' has no esp_board_manager dependency; building as normal.",
diff --git a/application/basic_demo/boards/esp32_S3_DevKitC_1_breadboard/board_peripherals.yaml b/application/basic_demo/boards/esp32_S3_DevKitC_1_breadboard/board_peripherals.yaml
index ca264cc..b5d9f48 100644
--- a/application/basic_demo/boards/esp32_S3_DevKitC_1_breadboard/board_peripherals.yaml
+++ b/application/basic_demo/boards/esp32_S3_DevKitC_1_breadboard/board_peripherals.yaml
@@ -55,7 +55,7 @@ peripherals:
sd_dither: 0
sd_dither2: 1
pins:
- doubt: 9 # [IO] Data output pin
+ dout: 9 # [IO] Data output pin
invert_flags:
clk_inv: false
diff --git a/application/edge_agent/boards/esp32_S3_DevKitC_1_breadboard/board_peripherals.yaml b/application/edge_agent/boards/esp32_S3_DevKitC_1_breadboard/board_peripherals.yaml
index ca264cc..b5d9f48 100644
--- a/application/edge_agent/boards/esp32_S3_DevKitC_1_breadboard/board_peripherals.yaml
+++ b/application/edge_agent/boards/esp32_S3_DevKitC_1_breadboard/board_peripherals.yaml
@@ -55,7 +55,7 @@ peripherals:
sd_dither: 0
sd_dither2: 1
pins:
- doubt: 9 # [IO] Data output pin
+ dout: 9 # [IO] Data output pin
invert_flags:
clk_inv: false
diff --git a/docs/src/content/docs/en/reference-project/memory.mdx b/docs/src/content/docs/en/reference-project/memory.mdx
index f140638..a04d81a 100644
--- a/docs/src/content/docs/en/reference-project/memory.mdx
+++ b/docs/src/content/docs/en/reference-project/memory.mdx
@@ -79,7 +79,6 @@ Note that current auto-extraction is mainly based on user messages; whether devi
## What to store where
diff --git a/docs/src/content/docs/zh-cn/reference-project/memory.mdx b/docs/src/content/docs/zh-cn/reference-project/memory.mdx
index 732a855..0097f7f 100644
--- a/docs/src/content/docs/zh-cn/reference-project/memory.mdx
+++ b/docs/src/content/docs/zh-cn/reference-project/memory.mdx
@@ -79,7 +79,6 @@ ESP-Claw 不依赖向量数据库,而采用 **摘要标签** 机制实现轻
## 使用建议