MentorGraphicsMAJIC-LT的使用

MentorGraphicsMAJIC-LT的使用

hansel@163.com
2007.9.30

MentorGraphic的JTAG仿真调试器支持ARM 7/9/11、Intel XScale、Marvel、Broadcom和MIPS处理器。LT类型只支持单CPU调试,MX类型支持JTAG多CPU调试,PLUS类型还支持RTOS调试。
术语:
 MAJTC:Multi-processor Advanced JTAG Interface controller
 EDBICE:EPI的GUI接口,支持源码级调试。
 MONICE:基于命令行的汇编级代码调试器

 

1、硬件安装
给仿真器接上JTAG电缆、网线,在目标板和仿真器都断电的情况下把JTAG电缆连接到目标板。

指示灯:
.STATUS:上电时为闪烁红色、然后熄灭、再变绿色。如果一直为红色则说明仿真器有问题。
.POWER:上电后一直为绿色
.RUN:红色:目标板CPU被仿真器复位; 绿色:目标板CPU在运行状态;熄灭:不是上述两种状态。
.CONNECT:红色:目标板连接没有使能; 绿色:目标板处于连接状态。注意:不是指JTAG电缆是否连接目标板,而是指是否使能了JTAG连接。


上电顺序:仿真器->目标板
断电顺序:目标板->仿真器

注意:不能带电插拔JTAG电缆!!!!

2、软件安装

在Windows主机上安装EPI TOOLS- EDTM2.4a,选择是ARM还是MIPS体系,输入产品License Key。
安装完成后,可以用MAJIC Setup Wizards来设置MAJTC仿真器。

3、使用GDB方式调试目标板
以Atheros AR7130 pb42板为例。

(1)配置MAJIC
.启动"MAJIC Setup Wizards"->Next
.选中Setup A Debug Environment,在Choose your Debugger下拉框中选"GDB",Next.
.输入工程的名字,比如"pb42",next
.Processor Type:MTKI24Kc, Big Endian, Intrusive方式, Next
.选择Enternet Static IP方式:给仿真器设置一个IP地址,比如:192.168.1.125, Next
.选择启动文件:在EDM24a的安装目录下:targets/malta.24k,也可以自己建一个新的启动文件(需要熟悉板子硬件),Next
.选择启动文件保存的目录,Next
.单击"Perform Action"按钮,Done.

配置完成后,在桌面会有一个快捷方式"mdi-server pb42"

(2)在Windows主机上启动"mdi-server pb42"
屏幕会显示仿真gdbserver的端口,一般为2345

(3)使用gdb调试程序
在linux主机上启动mips-linux-gdb,注意不能用linux系统的gdb,否则连接时会出现"Reply contains invalid hex digit"错误。


(gdb) set heur 0       /* MIPS only—避免gdb扫描不存在的内存地址 */
(gdb) set remoteti 10      /* Remote timeout—仿真器运行启动文件需要一定的时间,设置该参数避免超时 */
(gdb) file 要调试的文件
(gdb) target remote IP:2345     /* Open MDI connection to MAJIC,IP为Windows主机的IP地址,注意不是仿真器的IP地址 */

此时,在Windows主机的mdi-server上可以看到以下信息:

Accepted gdb MDI connection.
Attaching...Capabilities:
        TraceOutput
        TraceCtrl
End of Capabilities List
Devices:
Index   Name
[0]     MTI24Kc via 192.168.1.125
Selecting device [0] of 1
Notification from the target:
JTAG interface enabled at 3v level
Auto JTAG detection process detected 1 TAP
JTAG connection established
MMU with 16 TLBs detected
ICache = 64k <4 way, 32 b/l>, DCache = 32k <4 way, 32 b/l>, based on CONFIG1
Done. 

 
目标板处于复位状态,接下来就可以正常调试程序了。
某些特殊的板子需要特殊的Reset,可以使用以下命令(需要gdb支持monitor命令):
 (gdb) mon rt

启动目标板:
 (gdb) continue

4、调试Linux内核
  .编译Linux内核
    选择Kernel Hacking->Include debugging information in kernel binary
    选择Kernel debugging option和其下的所有子选项。
    禁止KGDB support 选项
  .gdb连接上mdi-server
   (gdb)file vmlinux  /* 装入kernel的符号信息 */
   (gdb)mon rt        /* 复位目标板 */
   (gdb)continue
   在目标板串口可以看到bootloader的输出信息了,
  .下载内核
   通过目标板的bootloader下载Linux内核,就可以调试了。

5、调试LKM(Loadable Kernel Module)
.在目标板上插入模块并输出map信息,查看.text入口地址:
   #insmod -m hello.ko > map
   #grep .text map 
             比如为0xc68c0060
.在gdb中转入LKM的调试信息:
   (gdb) add-symbol-file hello.ko 0xc68c0060  /*注意必须是LKM .text的入口地址)
.正常调试


6、使用EPIFlash
   EPIFlash是一个下载到目标板执行的程序,用来显示Flash信息,上传Flash image,对Flash进行编程等。
   注意:
     .EPIFlash需要在目标板的RAM中运行,因此必须先初始化目标板的内存控制器,可以通过目标板的bootloader完成,也可以通过MAJIC的启动文件来完成。
     .在擦除Flash中的Bootloader前,必须有合适的MAJTC启动文件包含合适的内存初始化脚本,否则没有办法再对Flash操作。
   使用MONICE来下载EPIFlash:
     .Linux下启动MOINCIE,需要带-d -v参数
     .如果启动文件中定义了epiflash别名,则直接在MONICE中输入epiflash就可以。
             da epiflash命令可以查看启动文件是否有epiflash别名定义
     .如果没有定义epiflash,可以装入程序命令:
             L "../samples/__/__/epiflash.__"  /* 注意选择针对目标板CPU、字节模式和装入RAM地址的epiflash ,在samples目录中le目录或be目录中*/
             VL  /* 校验装入的程序 */
          启动epiflash: G
epiflash类型参考:
./samples/be/ram_0xXXXXXXXX/epiflash.axf    // Big Endian ARM/XScale
./samples/le/ram_0xXXXXXXXX/epiflash.axf    // Little Endian ARM/XScale
./samples/be/ram_0xXXXXXXXX/epiflash.elf    // Big Endian MIPS
./samples/le/ram_0xXXXXXXXX/epiflash.elf    // Little Endian MIPS     
在Atheros AR7130 pb42板上,redboot留出的可用RAM地址为:0x80050fe0-0x80fe1000,可以选择ram_0x80001000目录下的epiflash.elf文件。
    .运行epiflash后,可以看到epiflash显示一些信息,然后是命令菜单。


7、一些技巧
.在gdb中直接发命令给仿真器
   使用gdb的monitor命令可以直接把命令传送给MONICE,不过不是所有的gdb支持这个命令。

.提高GDB下载速度
   gdb下载程序到目标板一般比较慢(一次下载几百字节)。
   如果gdb支持monitor命令,则可以直接让MONICE下载程序,比如:
   (gdb) mon L pathname-of-program
   如果不支持monitor命令,则修改gdb下载cache设置,例如设置下载速度为每次4KB:
  (gdb) set remote memory-write-packet-size fixed
  (gdb) set remote memory-write-packet-size 4200
  (gdb) set download-write-size 4096  

.使用DDD来调试程序:
  在X Windows的终端中输入命令:
    #ddd --debugger mips-linux-gdb
  然后在ddd中的gdb命令窗口输入gdb命令
    (gdb)target remonte IP:2345
    (gdb)mon rt
    (gdb)continue

7、参考文档
EDTM2.4a Manual:
.Using a MAJIC Probe With Embedded Linux Software (10014.pdf)
.gdb-readme.txt
.Quick start Guide for EDT Software(majic_quickstart.pdf)
.MAJIC Probe User’s Manual(majic_probe_user.pdf)
.Using the EPIFlash Utility(10009.pdf)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、安装PADS9.5 首先将PADS9.5.zip解压,解压后会出现一个PADS9.5_mib.exe的可执行文件,双击运行“PADS9.5_mib.exe”(Windows 7系统请右键点击选择“以管理员身份运行”) 提示需要硬件狗,点击“Next” 提示没有检测到授权文件,点击“Skip” 点击“Agree”,同意协议 点击“Modify”,进入配置安装环境界面 点击“Produc t Selection”,选择你需要安装的工具,一般选择PADS Layout、PADS Router、Design Entry(PADS Logic躲在这里)、Libraries等(因为是单机运行,Server Service就不用安装了) 点击“Target Path”,设置PADS9.5的安装位置 点击“PADS Projects Path”,设置PADS9.5的项目文件位置 配置完成,点击“Done” 点击“Install”开始安装 安装完毕时会提示注册, 选择“at later time”,最后点击“Done”完成安装。 2、开始和谐之旅 打开命令提示符口(大家可以将Mentorkg的文件夹下文件复制到PADS9.5的安装目录下,直接运行MentorKG.exe试验一下) mentorkg -patch X:\***\MentorGraphics\9.5PADS(X:\***为pads9.5的安装路径) 等待……会产生LICENSE.TXT,请一定记得保存!!!将文件另存为LICENSE.TXT(网上也有人另存为LICENSE.DAT,好像也没有啥问题),文件最好放在PADS9.5的安装目录下。 3、添加环境变量->系统变量,变量名:MGLS_LICENSE_FILE,变量值:LICENSE.TXT的位置,如: MGLS_LICENSE_FILE = C:\MentorGraphics\LICENSE.TXT。 至此操作完毕。 补充:PADS9.5不需要替换MGLS.DLL。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值