Merge branch 'feature/better_crash_dumps' into open-libmain
This commit is contained in:
commit
5fa17990dd
62 changed files with 5163 additions and 1355 deletions
22
core/include/debug_dumps.h
Normal file
22
core/include/debug_dumps.h
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
/* Functions for dumping status/debug output/etc, including fatal
|
||||
* exception handling.
|
||||
*
|
||||
* Part of esp-open-rtos
|
||||
*
|
||||
* Copyright (C) 2015-2016 Superhouse Automation Pty Ltd
|
||||
* BSD Licensed as described in the file LICENSE
|
||||
*/
|
||||
#ifndef _DEBUG_DUMPS_H
|
||||
#define _DEBUG_DUMPS_H
|
||||
#include <stdint.h>
|
||||
|
||||
/* Dump stack memory starting from stack pointer address sp. */
|
||||
void dump_stack(uint32_t *sp);
|
||||
|
||||
/* Called from exception_vectors.S when a fatal exception occurs.
|
||||
|
||||
Probably not useful to be called in other contexts.
|
||||
*/
|
||||
void __attribute__((noreturn)) fatal_exception_handler(uint32_t *sp, bool registers_saved_on_stack);
|
||||
|
||||
#endif
|
||||
|
|
@ -25,4 +25,19 @@
|
|||
#define ESYNC() asm volatile ( "esync" )
|
||||
#define DSYNC() asm volatile ( "dsync" )
|
||||
|
||||
|
||||
/* Read stack pointer to variable.
|
||||
*
|
||||
* Note that the compiler will push a stack frame (minimum 16 bytes)
|
||||
* in the prelude of a C function that calls any other functions.
|
||||
*/
|
||||
#define SP(var) asm volatile ("mov %0, a1" : "=r" (var));
|
||||
|
||||
/* Read the function return address to a variable.
|
||||
*
|
||||
* Depends on the containing function being simple enough that a0 is
|
||||
* being used as a working register.
|
||||
*/
|
||||
#define RETADDR(var) asm volatile ("mov %0, a0" : "=r" (var))
|
||||
|
||||
#endif /* _XTENSA_OPS_H */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue