fix(lp_core): fixed array-bound warning when compiling on P4 with -Os

Closes https://github.com/espressif/esp-idf/issues/17054
This commit is contained in:
Marius Vikhammer
2025-08-28 10:28:00 +08:00
parent 42eacc6f70
commit 88a430dbe3
3 changed files with 8 additions and 1 deletions

View File

@@ -36,7 +36,7 @@ const static char* TAG = "ulp-lp-core";
#define WAKEUP_SOURCE_MAX_NUMBER 5 #define WAKEUP_SOURCE_MAX_NUMBER 5
#define RESET_HANDLER_ADDR (intptr_t)(&_rtc_ulp_memory_start + 0x80 / 4) // Placed after the 0x80 byte long vector table #define RESET_HANDLER_ADDR ((intptr_t)&_rtc_ulp_memory_start + 0x80) // Placed after the 0x80 byte long vector table
/* Maps the flags defined in ulp_lp_core.h e.g. ULP_LP_CORE_WAKEUP_SOURCE_HP_CPU to their actual HW values */ /* Maps the flags defined in ulp_lp_core.h e.g. ULP_LP_CORE_WAKEUP_SOURCE_HP_CPU to their actual HW values */
static uint32_t wakeup_src_sw_to_hw_flag_lookup[WAKEUP_SOURCE_MAX_NUMBER] = { static uint32_t wakeup_src_sw_to_hw_flag_lookup[WAKEUP_SOURCE_MAX_NUMBER] = {

View File

@@ -81,7 +81,11 @@ static void i2c_master_write_read_test(void)
uint8_t *wr_data = (uint8_t*)&ulp_data_wr; uint8_t *wr_data = (uint8_t*)&ulp_data_wr;
for (int i = 0; i < RW_TEST_LENGTH; i++) { for (int i = 0; i < RW_TEST_LENGTH; i++) {
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wstringop-overflow"
#pragma GCC diagnostic ignored "-Warray-bounds"
wr_data[i] = expected_master_write_data[i]; wr_data[i] = expected_master_write_data[i];
#pragma GCC diagnostic pop
} }
unity_wait_for_signal("master write"); unity_wait_for_signal("master write");

View File

@@ -0,0 +1,3 @@
CONFIG_COMPILER_OPTIMIZATION_SIZE=y
CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y
CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT=y