Chinaunix首页 | 论坛 | 博客
  • 博客访问: 213704
  • 博文数量: 48
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 258
  • 用 户 组: 普通用户
  • 注册时间: 2013-05-22 23:45
文章分类

全部博文(48)

文章存档

2015年(4)

2014年(34)

2013年(10)

分类: LINUX

2014-09-25 15:49:19

龙芯Ejtag调试工具使用说明
一、安装:
直接解压ejtag-debug.tar.gz即可
tar zxvf ejtag-debug.tar.gz
二、运行
龙芯的Ejtag调试工具需要超级用户权限,sudo su
./ejtag_debug_usb
程序会打开ejtag.cfg执行默认的配置
运行参数如下,一般不需要使用
三、NOR Flash烧写PMON
cpu0- shell perl scripts/hisene.pl //初始化ddr寄存器
cpu0- putelf /home/.../gzrom //将gzrom下载到内存中
cpu0- put /home/.../gzrom.bin 0x8a000000 //将要烧写的gzrom.bin放到0x8a000000
cpu0- cont //启动pmon
在minicom中便可启动pmon
PMON> eraseboot
PMON> prgboot 0xbfc00000 0xe0000
四、调试start.S
cpu0- shell perl scripts/hisene.pl //初始化ddr寄存器
cpu0- putelf /home/.../gzrom
cpu0- gdb /home/.../pmon.gdb
(gdb) hb *0x81001480
(gdb) c
(gdb) display /i $pc //显示当前pc指针指向的指令
(gdb) si
五、启动并调试PMON
cpu0- shell perl scripts/hisene.pl //初始化ddr寄存器
cpu0- putelf /home/.../gzrom
cpu0- gdb /home/.../pmon.gdb
(gdb) hb initmips
(gdb) c
六、启动并调试内核
cpu0- shell perl scripts/hisene.pl //初始化ddr寄存器
cpu0- putelf /home/.../gzrom
cpu0- cont
cpu0- putelf /home/.../vmlinux_hs3000_ramdisk
cpu0- karg console=ttyS0,115200 root=/dev/ram1 rw cca=2
cpu0- gdb /home/.../vmlinux
(gdb) hb start_kernel
(gdb) c
(gdb) b sys_read
(gdb) c
内核shell下输入ls便可以停下。
七、调试app
pmon和kernel都是运行在内核空间的,调试器处理起来比较方便,而app是运行在用户空间的,调试的时候需要进行一步虚拟地址的转换,所以龙芯Ejtag调试器没有很好支持应用程序调试,只能做一些简单的汇编单步。
cpu0- shell perl scripts/hisene.pl //初始化ddr寄存器
cpu0- putelf /home/.../gzrom
cpu0- cont //启动pmon
cpu0- putelf /home/.../vmlinux_hs3000_ramdisk
cpu0- karg console=ttyS0,115200 root=/dev/ram1 rw cca=2
cpu0-cont //启动kernel
cpu0- hb 0x4005f0
cpu0-setconfig jtag.showins 0 //关指令回显,这样会块一些
cpu0-si 100 //单步运行100次
cpu0-unsi //关si
cpu0-cont //继续运行
注意的问题:
1.龙芯的Ejtag原理是FPGA上跑一个gdbserver,然后主机通过gdb与gdbserver通信来进行调试,所以本质上是通过gdb来调试的,所用的命令也跟gdb的命令完全相同。
2.调试的过程退出gdb时,需要先detach一下,然后q退出gdb便可以回到cpu0-模式。
3.需要把源码放到对应的目录,否则无法用list命令查看源码。
4.cpu0-ctrl+r可以筛选历史命令。
5.cpu0-ctrl+x+a可以打开一个简单的调试界面,更友好的调试界面可以安装一个ddd来代替gdb。
6.cpu0-set用来进行寄存器操作,set显示所有寄存器,set pc 0xbfc00000设置寄存器值。

想了解更多关于龙芯相关的调试技巧及相关技术知识请关注微信公众号"核芯晓事"
阅读(6948) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~