1.启动PyOCD_Server_Risc_v.exe
2.F:\MinGW\riscv64-unknown-elf-gdb.exe Z:\riscv\evb.elf
3. gdb连接设置
设置连接配置:
set mem inaccessible-by-default off
set arch riscv:rv32 (rv内核)
target remote localhost:3333 连接server端口
monitor setIE
sourc F:A20\risc-toolchain\A20_sdram_init_1M.script
sdram_pinmux_config
sdram_init
set substitue-path /Resource/ F:/
load
info reg 查看寄存器内容
b main 下断点
c 全速运行
bt 查看调用栈
n (step over)
si (step into)
finish 从函数体返回
x/20x 0xC0000000 从某个地址读取内存
p var 打印变量值
4 调试的其他命令
load :烧写, 执行后将pc置为程序第一条指令处;
info register + 寄存器名: 查看寄存器
info breakpoint:查看所有断点;
break +行号/方法名/符号名:设置断点 ;
continue:继续跑到下一个断点,如果没有断点则一直运行;
next:调试执行下一步;
step:单步进入;
print:打印变量值;
list:(需要工程目录包含源码, 编译时调试等级-g以上)查看当前代码 ;
暂停状态时,可执行查看寄存器、查看当前代码,查看反汇编等操作;
gdb模式下,可输入help all列出所有命令,如搜索、变量打印、查看堆栈等。