[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 メーリングリストの案内