doc: services: debugging: add documentation for symtab
Add a simple documentation for symbol table. Signed-off-by: Yong Cong Sin <ycsin@meta.com>
This commit is contained in:
parent
0a1a286a31
commit
db2f74555d
3 changed files with 49 additions and 0 deletions
|
@ -11,3 +11,4 @@ Debugging
|
||||||
gdbstub.rst
|
gdbstub.rst
|
||||||
debugmon.rst
|
debugmon.rst
|
||||||
mipi_stp_decoder.rst
|
mipi_stp_decoder.rst
|
||||||
|
symtab.rst
|
||||||
|
|
31
doc/services/debugging/symtab.rst
Normal file
31
doc/services/debugging/symtab.rst
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
.. _symtab:
|
||||||
|
|
||||||
|
Symbol Table (Symtab)
|
||||||
|
#####################
|
||||||
|
|
||||||
|
The Symtab module, when enabled, will generate full symbol table during the Zephyr linking
|
||||||
|
stage that keep tracks of the information about the functions' name and address, for advanced application
|
||||||
|
with a lot of functions, this is expected to consume a sizable amount of ROM.
|
||||||
|
|
||||||
|
Currently, this is being used to look up the function names during a stack trace in supported architectures.
|
||||||
|
|
||||||
|
|
||||||
|
Usage
|
||||||
|
*****
|
||||||
|
|
||||||
|
Application can gain access to the symbol table data structure by including the :file:`symtab.h` header
|
||||||
|
file and call :c:func:`symtab_get`. For now, we only provide :c:func:`symtab_find_symbol_name`
|
||||||
|
function to look-up the symbol name and offset of an address. More advanced functionalities and be
|
||||||
|
achieved by directly accessing the members of the data structure.
|
||||||
|
|
||||||
|
Configuration
|
||||||
|
*************
|
||||||
|
|
||||||
|
Configure this module using the following options.
|
||||||
|
|
||||||
|
* :kconfig:option:`CONFIG_SYMTAB`: enable the generation of the symbol table.
|
||||||
|
|
||||||
|
API documentation
|
||||||
|
*****************
|
||||||
|
|
||||||
|
.. doxygengroup:: symtab_apis
|
|
@ -9,6 +9,15 @@
|
||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @defgroup symtab_apis Symbol Table API
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @cond INTERNAL_HIDDEN
|
* @cond INTERNAL_HIDDEN
|
||||||
*/
|
*/
|
||||||
|
@ -49,4 +58,12 @@ const struct symtab_info *const symtab_get(void);
|
||||||
*/
|
*/
|
||||||
const char *const symtab_find_symbol_name(uintptr_t addr, uint32_t *offset);
|
const char *const symtab_find_symbol_name(uintptr_t addr, uint32_t *offset);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @}
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* ZEPHYR_INCLUDE_DEBUG_SYMTAB_H_ */
|
#endif /* ZEPHYR_INCLUDE_DEBUG_SYMTAB_H_ */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue