The friendly Operating System for the Internet of Things
MIPS32R2 Common

Common implementations and headers for mips32r2 compliant devices. More...

Detailed Description

Files

file  mips32r2_common/include/cpu.h
 Common implementations and headers for mips32r2 compliant devices.
 
file  cpu/mips32r2_common/include/cpu_conf.h
 Common CPU definitions for mip32r2 compatable devices.
 

Functions

static void cpu_print_last_instruction (void)
 Print the last instruction's address. More...
 
#define THREAD_EXTRA_STACKSIZE_PRINTF   (1024)
 Configuration of default stack sizes. More...
 
#define THREAD_STACKSIZE_DEFAULT   (2048)
 
#define THREAD_STACKSIZE_IDLE   (512 + THREAD_EXTRA_STACKSIZE_PRINTF)
 
#define ISR_STACKSIZE   (0)
 

Macro Definition Documentation

#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.

Definition at line 46 of file cpu/mips32r2_common/include/cpu_conf.h.

Function Documentation

static void cpu_print_last_instruction ( void  )
inlinestatic
Todo:
: Not supported

Definition at line 38 of file mips32r2_common/include/cpu.h.