_invalid_pc_placeholder
Posted: Wed Oct 15, 2025 11:08 am
Dear Community,
I'm using a
ESP32 WROOM 32D with ESP_IDF 5.5.1.
At this time I ceated a project with WiFi connection, SNTP and SPI. All this components was working in the past. But I don't know when I got this strange behavior, now I cannot run my progamm without repeatly rebooting. From my point of view, the reason for it is related to the messages:
--- 0x40080400: _invalid_pc_placeholder at C:/Espressif/frameworks/esp-idf-v5.5.1/components/xtensa/xtensa_vectors.S:2235
entry 0x40080638
--- 0x40080638: call_start_cpu0 at C:/Espressif/frameworks/esp-idf-v5.5.1/components/bootloader/subproject/main/bootloader_start.c:25
when the monitor starts.
I reduced my code to a very simple application (just print a text and count a uint8_t):
But the message "_invalid_pc_placeholder" is still present (see line 23):
Thaks for support.
Greetings
Henry
I'm using a
ESP32 WROOM 32D with ESP_IDF 5.5.1.
At this time I ceated a project with WiFi connection, SNTP and SPI. All this components was working in the past. But I don't know when I got this strange behavior, now I cannot run my progamm without repeatly rebooting. From my point of view, the reason for it is related to the messages:
--- 0x40080400: _invalid_pc_placeholder at C:/Espressif/frameworks/esp-idf-v5.5.1/components/xtensa/xtensa_vectors.S:2235
entry 0x40080638
--- 0x40080638: call_start_cpu0 at C:/Espressif/frameworks/esp-idf-v5.5.1/components/bootloader/subproject/main/bootloader_start.c:25
when the monitor starts.
I reduced my code to a very simple application (just print a text and count a uint8_t):
Code: Select all
#include <stdio.h>
#include <stdint.h>
// #include <stddef.h>
// #include <string.h>
// #include "freertos/FreeRTOS.h"
// #include "freertos/task.h"
// #include "driver/spi_slave.h"
// #include "driver/gpio.h"
// #include "he_spi.h"
// #include "he_lan_part.h"
// #include "he_sntp.h"
void app_main(void)
{
// printf("\nConf SPI\n\n");
uint8_t n=0;
printf("\nMainApp started\n\n");
// xTaskCreate(HE_SPI_Handler, "spi handler", 2048, NULL, 10, NULL);
// he_lan_init();
// he_sntp_init();
while(1)
{
//vTaskDelay(1000 / portTICK_PERIOD_MS);
printf("\nMain Loop %d\n\n", n); // something to do
n++;
}
}But the message "_invalid_pc_placeholder" is still present (see line 23):
What is to do to avoid this behaivior?C:\ESP32_Projects\Sauna_Ctrl>idf.py -p COM7 monitor
Executing action: monitor
Running idf_monitor in directory C:\ESP32_Projects\Sauna_Ctrl
Executing "C:\Espressif_5_5_Tools\Espressif\python_env\idf5.5_py3.11_env\Scripts\python.exe C:\Espressif\frameworks\esp-idf-v5.5.1\tools/idf_monitor.py -p COM7 -b 115200 --toolchain-prefix xtensa-esp32-elf- --target esp32 --revision 0 C:\ESP32_Projects\Sauna_Ctrl\build\sauna_monitor.elf C:\ESP32_Projects\Sauna_Ctrl\build\bootloader\bootloader.elf --force-color -m 'C:\Espressif_5_5_Tools\Espressif\python_env\idf5.5_py3.11_env\Scripts\python.exe' 'C:\Espressif\frameworks\esp-idf-v5.5.1\tools\idf.py' '-p' 'COM7'"...
--- Warning: GDB cannot open serial ports accessed as COMx
--- Using \\.\COM7 instead...
--- esp-idf-monitor 1.8.0 on \\.\COM7 115200
--- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H
ets Jun 8 2016 00:22:57
rst:0x1 (POWERON_RESET),boot:0x12 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0030,len:6380
ho 0 tail 12 room 4
load:0x40078000,len:15916
load:0x40080400,len:3860
--- 0x40080400: _invalid_pc_placeholder at C:/Espressif/frameworks/esp-idf-v5.5.1/components/xtensa/xtensa_vectors.S:2235
entry 0x40080638
--- 0x40080638: call_start_cpu0 at C:/Espressif/frameworks/esp-idf-v5.5.1/components/bootloader/subproject/main/bootloader_start.c:25
I (29) boot: ESP-IDF v5.5.1-dirty 2nd stage bootloader
I (29) boot: compile time Oct 15 2025 12:21:03
I (29) boot: Multicore bootloader
I (31) boot: chip revision: v1.0
I (33) boot.esp32: SPI Speed : 40MHz
I (37) boot.esp32: SPI Mode : DIO
I (41) boot.esp32: SPI Flash Size : 4MB
I (44) boot: Enabling RNG early entropy source...
I (49) boot: Partition Table:
I (51) boot: ## Label Usage Type ST Offset Length
I (58) boot: 0 nvs WiFi data 01 02 00009000 00006000
I (64) boot: 1 phy_init RF data 01 01 0000f000 00001000
I (71) boot: 2 factory factory app 00 00 00010000 00100000
I (77) boot: End of partition table
I (81) esp_image: segment 0: paddr=00010020 vaddr=3f400020 size=09dc8h ( 40392) map
I (102) esp_image: segment 1: paddr=00019df0 vaddr=3ffb0000 size=02438h ( 9272) load
I (106) esp_image: segment 2: paddr=0001c230 vaddr=40080000 size=03de8h ( 15848) load
I (112) esp_image: segment 3: paddr=00020020 vaddr=400d0020 size=13580h ( 79232) map
I (140) esp_image: segment 4: paddr=000335a8 vaddr=40083de8 size=091c8h ( 37320) load
I (155) esp_image: segment 5: paddr=0003c778 vaddr=50000000 size=00020h ( 32) load
I (162) boot: Loaded app from partition at offset 0x10000
I (162) boot: Disabling RNG early entropy source...
I (173) cpu_start: Multicore app
I (182) cpu_start: Pro cpu start user code
I (182) cpu_start: cpu freq: 160000000 Hz
I (182) app_init: Application information:
I (185) app_init: Project name: sauna_monitor
I (190) app_init: App version: 1
I (194) app_init: Compile time: Oct 15 2025 12:20:56
I (200) app_init: ELF file SHA256: 70d0561f0c94161c...
I (206) app_init: ESP-IDF: v5.5.1-dirty
I (212) efuse_init: Min chip rev: v0.0
I (216) efuse_init: Max chip rev: v3.99
I (221) efuse_init: Chip rev: v1.0
I (226) heap_init: Initializing. RAM available for dynamic allocation:
I (233) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
I (239) heap_init: At 3FFB2D08 len 0002D2F8 (180 KiB): DRAM
I (246) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (252) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (258) heap_init: At 4008CFB0 len 00013050 (76 KiB): IRAM
I (266) spi_flash: detected chip: generic
I (269) spi_flash: flash io: dio
I (274) main_task: Started on CPU0
I (284) main_task: Calling app_main()
MainApp started
Main Loop 0
Main Loop 1
Main Loop 2
Thaks for support.
Greetings
Henry