ets_printf is used to dump debug messages out the comm port.
ets_printf is implemented using ets_io_vprintf(ets_putc, fmt, ap);
ets_io_vprintf is a rom function and ets_putc is a polling function that waits until there is room in the uart's TX FIFO and then pushes it out -- polling transmit.
Worst case - it should just slow your code down because it does nothing as it waits to output the debug message - not eat up stack space.
I instrumented malloc and free with ets_printf.
When this occurs, there is an exception generated that one of the task's stack has overflowed after a lot of malloc/free related debug messages were sent.
My question is can anyone tell me why the stack comes into play other than the call to ets_printf itself?
Who is online
Users browsing this forum: Google [Bot] and 12 guests
Newbies Start Here
Are you new to ESP8266?
Unsure what to do?
Dunno where to start?
Start right here!
We also have a RTOS version and a MESH version too!
Complete listing of the official ESP8266 related documentation release by ESPRESSIF!
Must read here!