Zephyr API Documentation
3.7.0
A Scalable Open Source RTOS
|
Functions | |
void | arch_gdb_init (void) |
Architecture layer debug start. | |
void | arch_gdb_continue (void) |
Continue running program. | |
void | arch_gdb_step (void) |
Continue with one step. | |
size_t | arch_gdb_reg_readall (struct gdb_ctx *ctx, uint8_t *buf, size_t buflen) |
Read all registers, and outputs as hexadecimal string. | |
size_t | arch_gdb_reg_writeall (struct gdb_ctx *ctx, uint8_t *hex, size_t hexlen) |
Take a hexadecimal string and update all registers. | |
size_t | arch_gdb_reg_readone (struct gdb_ctx *ctx, uint8_t *buf, size_t buflen, uint32_t regno) |
Read one register, and outputs as hexadecimal string. | |
size_t | arch_gdb_reg_writeone (struct gdb_ctx *ctx, uint8_t *hex, size_t hexlen, uint32_t regno) |
Take a hexadecimal string and update one register. | |
int | arch_gdb_add_breakpoint (struct gdb_ctx *ctx, uint8_t type, uintptr_t addr, uint32_t kind) |
Add breakpoint or watchpoint. | |
int | arch_gdb_remove_breakpoint (struct gdb_ctx *ctx, uint8_t type, uintptr_t addr, uint32_t kind) |
Remove breakpoint or watchpoint. | |
#include <zephyr/arch/arch_interface.h>
Add breakpoint or watchpoint.
ctx | GDB context |
type | Breakpoint or watchpoint type |
addr | Address of breakpoint or watchpoint |
kind | Size of breakpoint/watchpoint in bytes |
0 | Operation successful |
-1 | Error encountered |
-2 | Not supported |
void arch_gdb_continue | ( | void | ) |
void arch_gdb_init | ( | void | ) |
#include <zephyr/arch/arch_interface.h>
Architecture layer debug start.
This function is called by gdb_init()
#include <zephyr/arch/arch_interface.h>
Read all registers, and outputs as hexadecimal string.
This reads all CPU registers and outputs as hexadecimal string. The output string must be parsable by GDB.
ctx | GDB context |
buf | Buffer to output hexadecimal string. |
buflen | Length of buffer. |
#include <zephyr/arch/arch_interface.h>
Read one register, and outputs as hexadecimal string.
This reads one CPU register and outputs as hexadecimal string. The output string must be parsable by GDB.
ctx | GDB context |
buf | Buffer to output hexadecimal string. |
buflen | Length of buffer. |
regno | Register number |
#include <zephyr/arch/arch_interface.h>
Take a hexadecimal string and update all registers.
This takes in a hexadecimal string as presented from GDB, and updates all CPU registers with new values.
ctx | GDB context |
hex | Input hexadecimal string. |
hexlen | Length of hexadecimal string. |
#include <zephyr/arch/arch_interface.h>
Take a hexadecimal string and update one register.
This takes in a hexadecimal string as presented from GDB, and updates one CPU registers with new value.
ctx | GDB context |
hex | Input hexadecimal string. |
hexlen | Length of hexadecimal string. |
regno | Register number |
int arch_gdb_remove_breakpoint | ( | struct gdb_ctx * | ctx, |
uint8_t | type, | ||
uintptr_t | addr, | ||
uint32_t | kind | ||
) |
#include <zephyr/arch/arch_interface.h>
Remove breakpoint or watchpoint.
ctx | GDB context |
type | Breakpoint or watchpoint type |
addr | Address of breakpoint or watchpoint |
kind | Size of breakpoint/watchpoint in bytes |
0 | Operation successful |
-1 | Error encountered |
-2 | Not supported |
void arch_gdb_step | ( | void | ) |
#include <zephyr/arch/arch_interface.h>
Continue with one step.
Continue software execution until reaches the next statement.