24 #ifndef __RFLPC_DEBUG_H__
25 #define __RFLPC_DEBUG_H__
46 #define RFLPC_DELAY(c) do { \
48 for (i=0 ; i < (c) ; ++i) \
49 __ASM volatile ("nop"); \
55 #define RFLPC_DELAY_MICROSECS(c) RFLPC_DELAY(32*(c))
58 #define RFLPC_STOP(l,c) do { \
59 uint32_t leds = (l); \
61 rflpc_led_val(leds); \
73 #define RFLPC_ARM_GET_REGISTER(reg, var) do { \
74 __ASM volatile ("MOV %0, "#reg"\n" : "=r" ((var))); \
81 #define RFLPC_DUMP_STACK() do { \
82 register uint8_t *mstack; \
84 RFLPC_ARM_GET_REGISTER(sp,(uint32_t)mstack); \
85 mstack = (uint8_t *) sp; \
86 for (i = 0 ; i < 128 ; ++i) \
89 printf("\n\r%p: ", mstack + i); \
90 printf("%02x ", mstack[i]); \
98 #define RFLPC_ASSERT(cond) do { if (!(cond)) { RFLPC_STOP(0, 50000); } } while (0)
103 #define RFLPC_ADDR_IN(addr, inf, sup) ( ((void*)(addr)) >= ((void*)(inf)) ? (((void*)(addr)) < ((void*)(sup))) : 0)
104 #ifdef RFLPC_CONFIG_PLATFORM_MBED
105 #define RFLPC_ADDR_IN_FLASH(addr) RFLPC_ADDR_IN((addr), 0, 0x7ffff)
106 #define RFLPC_ADDR_IN_RAM(addr) (RFLPC_ADDR_IN((addr), 0x1000000, 0x10007FFF) || RFLPC_ADDR_IN((addr), 0x2007c000, 0x2007ffff))
#define RFLPC_STACK_SIZE
size of the stack in bytes
On board LEDs peripheral driver.