_invalid_pc_placeholder

HEckardt
Posts: 31
Joined: Wed Aug 16, 2023 3:13 pm

_invalid_pc_placeholder

Postby HEckardt » 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):


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):
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
What is to do to avoid this behaivior?

Thaks for support.
Greetings
Henry

MicroController
Posts: 2663
Joined: Mon Oct 17, 2022 7:38 pm
Location: Europe, Germany

Re: _invalid_pc_placeholder

Postby MicroController » Wed Oct 15, 2025 1:25 pm

From my point of view, the reason for it is related to the messages:
...
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
No, that message is neither a problem nor related to any issues you may have, cf. viewtopic.php?p=149857#p149857
Notice that the "---" messages appear right after a memory address was logged; it's the IDF monitor on your PC seeing something that looks like a memory address in the ESP's log output, decoding this address to a code location, and, if successful, printing the result in addition to the log from the ESP.

HEckardt
Posts: 31
Joined: Wed Aug 16, 2023 3:13 pm

Re: _invalid_pc_placeholder

Postby HEckardt » Thu Oct 16, 2025 7:48 am

Hello MicroController,

thank you for clarification. So, this message is not pointing to a degerous situation. The Monitor is just funny enough to confusing the people, who are working with it;)

That means for my cyclic reboot, I have to look for another reason.

Thanks again
Henry

Who is online

Users browsing this forum: Baidu [Spider], Bing [Bot] and 4 guests