使用gdb调试QEMU模拟的RISC-V平台程序

我们跑一个裸核程序,也就是不带操作系统的程序,然后使用gdb调试该程序。

首先编译目标程序,然后使用QEMU的kernel参数进行加载

bash 复制代码
qemu-system-riscv64 -s -S -bios opensbi.elf -m 4G -smp 4 -kernel my_program.x -nographic

-s 让QEMU在1234端口侦听gdb的调试连接;

-S 表示启动后就挂起,等待 gdb 连接;

-bios 后面跟opensbi固件程序

-m 后面填写模拟内存大小

-smp 后面跟模拟CPU核心数

-kernel 后面跟要调试程序文件路径

-nographic 表示没有图像界面,只有命令行

然后启动gdb调试

bash 复制代码
$ riscv64-unknown-elf-gdb
(gdb) file my_program.x
(gdb) target remote :1234
(gdb) c

target remote 表示连接远程调试,后面跟上远程地址和端口,本机可省略地址

注意:务必要使用riscv编译工具链里面的gdb

相关推荐
代码AC不AC2 天前
【Linux】调试器 gdb / cgdb
linux·gdb·调试器·cgdb
云雾J视界3 天前
FPGA+RISC-V架构解析:构建高效传感器数据采集系统
fpga开发·架构·uart·risc-v·i2c·adxl345
电子科技圈5 天前
IAR与Quintauris携手推进RISC-V汽车实时应用的功能安全软件开发
嵌入式硬件·安全·设计模式·编辑器·汽车·risc-v
CinzWS6 天前
RISC-V RV32MCU 架构、启动与运行机制深度剖析
risc-v·exception
stay_cloud6 天前
RISC-V MCU 串口通信记录 —— 基于Genesys2
mcu·uart·risc-v
ChipCamp6 天前
芯片开发验证之RISC-V编译器:绕过构建的烦恼,直接用Arduino的
编译器·risc-v·objdump·汇编器·objcopy
全球通史9 天前
[特殊字符] RISC-V实战:从0到100+FPS!进迭时空(Spacemit)开发板YOLOv8部署终极指南
嵌入式硬件·yolo·risc-v
码界奇点10 天前
Linux进程间通信三System V 共享内存完全指南原理系统调用与 C 封装实现
linux·c语言·网络·c++·ux·risc-v
飞凌嵌入式11 天前
【玩转多核异构】T153核心板RISC-V核的实时性应用解析
linux·嵌入式硬件·嵌入式·risc-v
daqinzl11 天前
银河麒麟V10下使用QEMU安装Windows虚拟机
qemu·windows 10·银河麒麟v10