Add register dump logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3024 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
parent
6f0b095056
commit
e5237d04ef
@ -56,8 +56,8 @@
|
||||
* Pre-processor Definitions
|
||||
****************************************************************************/
|
||||
|
||||
/* Output debug info if stack dump is selected -- even if
|
||||
* debug is not selected.
|
||||
/* Output debug info if stack dump is selected -- even if debug is not
|
||||
* selected.
|
||||
*/
|
||||
|
||||
#ifdef CONFIG_ARCH_STACKDUMP
|
||||
@ -68,9 +68,9 @@
|
||||
/* The following is just intended to keep some ugliness out of the mainline
|
||||
* code. We are going to print the task name if:
|
||||
*
|
||||
* CONFIG_TASK_NAME_SIZE > 0 && <-- The task has a name
|
||||
* (defined(CONFIG_DEBUG) || <-- And the debug is enabled (lldbg used)
|
||||
* defined(CONFIG_ARCH_STACKDUMP) <-- Or lib_lowprintf() is used
|
||||
* CONFIG_TASK_NAME_SIZE > 0 && <-- The task has a name
|
||||
* (defined(CONFIG_DEBUG) || <-- And the debug is enabled (lldbg used)
|
||||
* defined(CONFIG_ARCH_STACKDUMP)) <-- Or lib_lowprintf() is used
|
||||
*/
|
||||
|
||||
#undef CONFIG_PRINT_TASKNAME
|
||||
@ -94,8 +94,13 @@
|
||||
|
||||
static inline uint32_t up_getsp(void)
|
||||
{
|
||||
# warning "Not implemented"
|
||||
return 0;
|
||||
uint32_t retval;
|
||||
__asm__ __volatile__ (
|
||||
"mov\t%0,sp\n\t"
|
||||
: "=r" (retval)
|
||||
:
|
||||
);
|
||||
return retval;
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
@ -130,9 +135,21 @@ static inline void up_registerdump(void)
|
||||
|
||||
if (current_regs)
|
||||
{
|
||||
/* Yes.. dump the interrupt registers */
|
||||
lldbg("R%d: %08x %08x %08x %08x %08x %08x %08x %08x\n",
|
||||
0,
|
||||
current_regs[REG_R0], current_regs[REG_R1],
|
||||
current_regs[REG_R2], current_regs[REG_R3],
|
||||
current_regs[REG_R4], current_regs[REG_R5],
|
||||
current_regs[REG_R6], current_regs[REG_R7]);
|
||||
|
||||
# warning "Not implemented"
|
||||
lldbg("R%d: %08x %08x %08x %08x %08x %08x %08x %08x\n",
|
||||
8,
|
||||
current_regs[REG_R8], current_regs[REG_R9],
|
||||
current_regs[REG_R10], current_regs[REG_R11],
|
||||
current_regs[REG_R12], current_regs[REG_R13],
|
||||
current_regs[REG_R14], current_regs[REG_R15]);
|
||||
|
||||
lldbg("SR: %08x\n", current_regs[REG_SR]);
|
||||
}
|
||||
}
|
||||
#else
|
||||
|
Loading…
Reference in New Issue
Block a user