使用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

相关推荐
国科安芯1 天前
IAR全面支持国科环宇AS32X系列RISC-V车规MCU
人工智能·单片机·mcu·risc-v
红叶落水1 天前
RISC-V开发 linux下GCC编译自定义指令流程笔记
risc-v
电子科技圈3 天前
智权半导体/SmartDV力助高速发展的中国RISC-V CPU IP厂商走上高质量发展之道
嵌入式硬件·mcu·risc-v
代吗喽6 天前
深入解析 RISC-V 递归函数的栈使用:以阶乘函数为例
risc-v·计算机组成
KGback10 天前
【论文解析】基于开源 Matrix 指令集扩展(矢量点积)的高性能 RISC-V 处理器“香山”(nanhu 版本)的 LLM 加速的研究
fpga开发·risc-v
思尔芯S2C10 天前
What is RISC-V?
fpga开发·soc·risc-v·eda·fpga原型验证·prototyping·verification
思禾13 天前
Qemu开发ARM篇-3、qemu运行uboot演示
linux·arm开发·qemu·uboot
百里杨15 天前
RISC-V交叉编译器下载
risc-v·下载·交叉编译器
ERIC-ZI15 天前
[ IDE ] SEGGER Embedded Studio for RISC-V
risc-v
Jouzzy17 天前
【Android安全】Ubuntu 16.04安装GDB和GEF
android·ubuntu·gdb