[Suzaku:00446] Re: GDBでのデバッグについて質問です。

Keichi Kawaoka email@hidden
2006年 1月 24日 (火) 02:14:09 JST


川岡と申します。

> xps_proj/microblaze_i/libsrc にソースコードが出力されますが、
> これはMicroblaze上には組み込まれないのでしょうか?

libraryとして使用できます。
 
> IPを追加した時は、ここのソースコードも
> 環境に合わせてカスタマイズする必要があるとの話を聞き、
> ソース改変→GDBでデバッグ、と考えていたのですが…

以下の手順で "JTAGとMicroBlazeを接続する方法"を行い、
GDB起動後、デバックができるようになります。

その他(アドレスとデータを直接操作方法)
 ハードデバックするのに、良い機能をご紹介いたします。
 SUZAKUとPCをシリアルクロスケーブルで接続し、SUZAKUのJP1を
 ショートし、電源投入後、1のみリターンHermitを起動します。
 プロンプト状態でコマンド"frob"と入力すると、アドレスと
 データを直接操作できる、以下のコマンドが使用できるように
 なります。

 p peek [<addr>]               : word-size memory peek
 8 peek8 [<addr>]              : 8-bit memory peek
   peek16 [<addr>]             : 16-bit memory peek
 n peeknext                    : peek next address
 k poke <addr> <value>         : word-size memory poke
   poke8 <addr> <value>        : 8-bit memory poke
   poke16 <addr> <value>       : 16-bit memory poke
 q quit                        : quit current command loop

 例えば アドレス0x80000000にデータ0x1234(16bit)を書き込む場合は
 > poke16 0x80000000 0x1234
  


〜JTAGとMicroBlazeを接続する方法〜

1.mhsに以下の変更をしてください。

 BEGIN microblaze
 〜
 PARAMETER C_DEBUG_ENABLED = 1 (1に変更)
 〜
 BUS_INTERFACE SFSL0 = download_link (追加)
 〜
 END
 (以下の記述を追加)
 BEGIN opb_mdm
 PARAMETER INSTANCE = debug_module
 PARAMETER HW_VER = 2.00.a
 PARAMETER C_MB_DBG_PORTS = 1
 PARAMETER C_USE_UART = 1
 PARAMETER C_UART_WIDTH = 8
 PARAMETER C_BASEADDR = 0xFFFFC000
 PARAMETER C_HIGHADDR = 0xFFFFC0FF
 PARAMETER C_WRITE_FSL_PORTS = 1
 BUS_INTERFACE MFSL0 = download_link
 BUS_INTERFACE SOPB = d_opb_v20
 PORT OPB_Clk = SYS_CLK
 END
 BEGIN fsl_v20
 PARAMETER INSTANCE = download_link
 PARAMETER HW_VER = 1.00.b
 PARAMETER C_EXT_RESET_HIGH = 0 PORT SYS_Rst = SYS_Rst
 PORT FSL_Clk = SYS_CLK
 END

2.コンパイル完了後、Spartan-3のJTAG(CON7)とPCをパラレル
ケーブルで接続し、iMPACT起動し、コンフィグレーションしてください。

3.iMPACTを終了してください。

4.XPSのXMDを起動してください。
以下のログが見れたらSpartan-3のJTAG(CON7)とPCの接続完了です。

 Xilinx Microprocessor Debug (XMD) Engine
 Xilinx EDK 6.3 Build EDK_Gmm.12.3
 Copyright (c) 1995-2004 Xilinx, Inc. All rights reserved.
 XMD%
 Loading XMP File..
 Loading MHS File..
 Processor(s) in System ::
 Microblaze(1) : microblaze_i
 Address Map for Processor microblaze_i
 (0x00000000-0x00001fff) d_lmb_bram_if_cntlr d_lmb_v10
 (0x00000000-0x00001fff) i_lmb_bram_if_cntlr i_lmb_v10
 (0x80000000-0x80ffffff) sdram_controller d_opb_v20
 (0xff000000-0xff7fffff) system_memcon d_opb_v20
 (0xffe00000-0xffefffff) system_memcon d_opb_v20
 (0xffff0000-0xffff01ff) system_memcon d_opb_v20
 (0xffff1000-0xffff10ff) system_timer d_opb_v20
 (0xffff2000-0xffff20ff) console_uart d_opb_v20
 (0xffff3000-0xffff30ff) system_intc d_opb_v20
 (0xffffa000-0xffffa0ff) opb_gpio_0 d_opb_v20
 (0xffffc000-0xffffc0ff) debug_module d_opb_v20
 Loading MSS File..
 Executing Connect Cmd: connect mb mdm -cable type xilinx_parallel port
 LPT1
 -debugdevice cpunr 1
 Connecting to cable (Parallel Port - LPT1).
 Checking cable driver.
 Driver windrvr6.sys version = 6.2.2.2. LPT base address = 0378h.
 ECP base address = 0778h.
 ECP hardware is detected.
 Cable connection established.
 Connecting to cable (Parallel Port - LPT1) in ECP mode.
 Checking cable driver.
 Driver xpc4drvr.sys version = 1.0.4.0. LPT base address = 0378h.
 Cable Type = 1, Revision = 3.
 Cable connection established.
 JTAG chain configuration
 --------------------------------------------------
 Device ID Code IR Length Part Name
 1 01428093 6 XC3S1000
 Assuming, Device No: 1 contains the MicroBlaze system
 Connected to the JTAG MicroBlaze Debug Module (MDM)
 No of processors = 1
 MicroBlaze Processor 1 Configuration :
 -------------------------------------
 Version............................2.10.a
 No of PC Breakpoints...............1
 No of Read Addr/Data Watchpoints...0
 No of Write Addr/Data Watchpoints..0
 Instruction Cache Support..........on
 Instruction Cache Base Address.....0x80000000
 Instruction Cache High Address.....0x80ffffff
 Data Cache Support.................off
 JTAG MDM Connected to MicroBlaze 1
 Connected to "mb" target. id = 0
 Starting GDB server for "mb" target (id = 0) at TCP port no 1234

----- Original Message ----- 
From: "HLDC上村" <email@hidden>
To: "SUZAKU general discussion list" <email@hidden>
Sent: Monday, January 23, 2006 6:52 PM
Subject: [Suzaku:00445] Re: GDBでのデバッグについて質問です。


> いつもお世話になっております。HLDCの上村です。
> 
> EDKでIP Coreを追加し、Generate libraryを行うと、
> xps_proj/microblaze_i/libsrc にソースコードが出力されますが、
> これはMicroblaze上には組み込まれないのでしょうか?
> 
> IPを追加した時は、ここのソースコードも
> 環境に合わせてカスタマイズする必要があるとの話を聞き、
> ソース改変→GDBでデバッグ、と考えていたのですが…
> 
> F-Sightというツールの情報、ありがとうございます。
> 検討させていただきます。
> 
> 以上です。よろしくお願いします。
> 
> On Mon, 23 Jan 2006 18:17:00 +0900
> Yasushi SHOJI <email@hidden> wrote:
> 
>> At Fri, 20 Jan 2006 17:18:39 +0900,
>> HLDC上村 wrote:
>> > 
>> > 組み込んだIPのデバッグをするのにGDBを使用したいのですが、
>> > Second Boot Loaderを起動した後のコードを追っていくことが出来ません。
>> 
>> IPのデバッグというのは HDLで書いている部分ですよね? GDBでできるのは
>> microblaze/powerpc上で動くソフトウェアの部分ですが…。
>> 
>> HDLの部分は chipscopeが便利です。
>> 
>> また、Computex社製の F-SightだとFPGAとCPUのデバッグがシームレスにでき
>> ます。
>> 
>> 私がなにか勘違いしてそうなので、もう少し詳しく教えてもらえますか?
>> --
>>          yashi
>> 
>> _______________________________________________
>> suzaku mailing list
>> email@hidden
>> http://lists.atmark-techno.com/mailman/listinfo/suzaku
> 
> 凸凹凸凹凸凹凸凹凸凹凸凹凸凹凸凹凸凹凸凹凸凹凸凹
>  Heartland・Data Co.,    システム設計部
>   上村真人 (Kamimura Masato)
>    HomePage: http://www.hldc.co.jp/
>     E-mail Add: email@hidden
>    栃木県足利市富士見町24-1
>     TEL:0284-41-1159 / FAX:0284-41-3491
> 凹凸凹凸凹凸凹凸凹凸凹凸凹凸凹凸凹凸凹凸凹凸凹凸
> 
> _______________________________________________
> suzaku mailing list
> email@hidden
> http://lists.atmark-techno.com/mailman/listinfo/suzaku



suzaku メーリングリストの案内