# qemu_gdb_rtt_ls1c
**Repository Path**: caogos/qemu_gdb_rtt_ls1c
## Basic Information
- **Project Name**: qemu_gdb_rtt_ls1c
- **Description**: 运行在qemu上,可以用gdb调试的,RT-Thread的龙芯1c分支
- **Primary Language**: C
- **License**: GPL-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 2
- **Forks**: 0
- **Created**: 2017-09-19
- **Last Updated**: 2022-11-16
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# qemu_gdb_rtt_ls1c
运行在qemu上,可以用gdb调试的,RT-Thread的龙芯1c分支
# qemu
qemu中已经包含了gdb server,只需要在qemu命令中增加参数“-gdb tcp::1234 -S”即可.首先进入rtthread.elf所在目录,然后输入如下命令
`qemu-system-mipsel -M mips -nographic -kernel rtthread.elf -gdb tcp::1234 -S`
命令中的“-M mips”表示使用mips r4k platform。因为目前qemu不支持龙芯1c,所以暂时以mips r4k platform代替。假如以后支持龙芯1c的了,只需要把参数“-M mips”改为“-M xxx”就好。
使用命令`qemu-system-mipsel -cpu ?`查看支持的所有CPU型号
使用命令`qemu-system-mipsel -M ?`查看支持的所以machine
# gdb
x64 pc上默认的gdb不能用来调试mips程序,第三方工具链Sourcery CodeBench中的windows版本的“mips-sde-elf-gdb.exe”也不能用。需要下载gdb源码来自己编译,编译命令为
`./configure --target=mipsel-linux --prefix=/home/gdb/gdb-dest --program-prefix=mipsel-linux-`
make和make install后,会在目录“/home/gdb/gdb-dest/”内生成我们需要的“mipsel-linux-gdb”文件,然后运行mipsel-linux-gdb
`./mipsel-linux-gdb`
然后执行命令`target remote 192.168.3.102:1234`,连接qemu中的gdb server(假设qemu所在IP为192.168.3.102)
再然后执行命令`symbol-file /xxx/rtthread.elf`,加载符号表。注意在编译可执行文件rtthread.elf时,gcc需要有参数"-g",否则生成的可执行文件rtthread.elf中没有符号表等调试信息
好,可以用s,c,b等命令调试了
RT-Thread的官方git是https://github.com/RT-Thread/rt-thread