|main CPU definitions for pic32mz devices. |
|CPU definitions for pic32mz devices. |
|We run from flash on PIC32. |
|static void||cpu_print_last_instruction (void)|
|Print the last instruction's address. More...|
|Configuration of default stack sizes. More...|
|#define||THREAD_STACKSIZE_IDLE (512 + THREAD_EXTRA_STACKSIZE_PRINTF)|
|#define THREAD_EXTRA_STACKSIZE_PRINTF (1024)|
printf takes a pretty tortured route through the C lib then via UHI syscall exception to end up at the UART driver.
When debugging timer code we get printfs on the idle threads stack which can easily blow its limits.
Note code must be compiled at -Os with these values, using -O0 you'll overflow these stacks.
NO ISR stack is in use yet, interrupt use the current running stack hence the big-ish default stack size.