問題タブ [jtag]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
621 参照

stm32 - Jtagの無効な確認

sysfsgpioビットバンインターフェイスを備えたARM9でOpenOCDを使用しており、CortexM3stm32f103マイクロコントローラーをデバッグしようとしています。使用されるOSは組み込みDebianです。残念ながら、デバイスIDを取得した後、ターゲットから間違ったACKを取得し続けます(警告、jtagDPトランザクションのACK0x4が無効です)。

問題の原因が何であるかについての洞察はありますか?オシロスコープにすべての信号をプロットしましたが、何も問題はありませんでした。また、olimex jtag-keyを使用してターゲットデバイスを確認したところ、機能しています。

0 投票する
1 に答える
1840 参照

gdb - ソフトウェア割り込み例外または未定義命令例外?

JTAG コネクタと gdb を使用してベアメタル ARM (v5TE 準拠) でプログラムを実行しています。プログラムはスーパーバイザー モードで一部の SDRAM から実行され、アーム命令のみを使用します。

ある時点で例外が発生します。ctrl+CI で gdb を停止すると、CPSR が未定義の例外モードを示していることを確認できますが、プログラム カウンターはソフトウェア割り込み例外を示しています ( 0xffff0008)。ARM ARM によると、未定義命令例外が発生した場合、 はまたはであるPC_und必要があります。SWI が発生したか、または未定義の命令例外が発生しましたか?0xffff00040x00000004

私の質問をより明確にするために編集してください:

私のプログラムの目的は、カスタム ボードのハードウェアをテストすることです。ハードウェアに問題がある場合、RAM 内のプログラムが破損している可能性があり (以下に示すように)、例外が生成される原因となります。ハードウェアが正常な場合、テスト ソフトウェアは問題なく動作します。RAM アドレスの範囲は 0 から 0x40000000 で、プログラムは 0x1000 から 0x2000 の間にロードされます。スーパーバイザ モードのスタック ポインタは 0xff0 に設定されます。中断ベクトルは、ブレークポイントのみで構成されます。

未定義の例外モードから登録します。

スーパーバイザー モードからの登録:

スーパーバイザ リンク レジスタが指すアドレス周辺の RAM 内の (破損した) プログラムを次に示します。

プログラム オブジェクト ファイルからのダンプ:

0 投票する
0 に答える
1651 参照

debugging - OpenOCD を BeagleBone に接続すると、ftdi デバイスが認識されない

Windows 7 x64 のオンボード FTDI JTAG エミュレーターを介して openOCD を BeagleBone に接続しようとしています。BeagleBone に付属の ftdi ドライバー 64 ビットをインストールしました。BBone を Windows に接続すると、USB シリアル コンバーター A と B が COM ポートと共に表示されます。

device-managers のハードウェア ID は次のように表示されます。

32 ビットと 64 ビットの両方のバイナリと ti_beaglebone.cfg スクリプトを含む openOCD 0.6.1 をダウンロードしました。VID PID は上記のように一致します。

私は実行しようとしました:

しかし、FTDI をまったく認識せず、次の行が表示されます。

OpenOCD の 32 ビットと 64 ビットの両方のバイナリを試しましたが、うまくいきませんでした。

どんな助けでもいただければ幸いです

ありがとう

0 投票する
1 に答える
721 参照

fpga - 佐世保 GII virtex5 fpga 構成

Xilinx SpartanとXilinx Virtex5の2つのFPGAを搭載したSasebo GIIボードを使用しています(ボードには、fpgasの構成用にいくつかの個別のJTAGインターフェイスがあります)。

Linux で ISE 14.4 を使用していますが、Virtex 5 FPGA のコンフィギュレーションに問題があります。(Spartan では問題ありません)。

「Impact」を使用して構成ファイルを FPGA に送信しています。最初に、Impact はボードをスキャンし、問題なく Spartan FPGA を見つけて構成できますが、ケーブルを他のインターフェイスに接続し、Impact でスキャンを押すと、次のように表示されます。

「不明なデバイスが多数検出されています。[はい] を押して続行するか、[いいえ] を押して停止してください。」

NO オプションを押すと、明らかに何も起こりません :-) YES をクリックすると失敗します。手動で Virtex5 FPGA を追加できますが、構成ファイルのアップロードに失敗します (また、アップロードしようとしても失敗します)。デバイス ID を検出します)。

ボード上のすべての JTAG インターフェイスを既に試しましたが、何もありませんでした。

SPARTAN FPGAと同じボードで同じ操作ができるので、行き詰まっています。何か案は ?

0 投票する
1 に答える
234 参照

embedded - ICSP SendCommand ヘッダーの 4 ビット目の TDO は何を意味しますか? (PIC32MX、ICSP 2 線式 4 相)

現在、PIC32MXのフラッシュ プログラミング仕様を実装しようとしています。PIC32MX512L と PIC32MX512H を使用しています。PIC32MX512L は、最終的にプログラムを PIC32MX512H の PGEC2 と PGED2 の 2 つのワイヤに転送する必要があります。

今、デバイスチェック操作を実行しようとしています。指定されているように、TDI クロックが低いままである間に、TMS クロックで MCLR ジャグリングと SetMode (6b011111) を実行することによって、プログラミング モードに入ります。TAP コントローラーはゼロで応答します (すべての TDO がロー)。

その後、SendCommand( MTAP_SW_MTAP ) を実行して MTAP コントローラーを選択する必要があります。シフトするシーケンスは

各ペアの最初のビットは TDI で、2 番目のビットは TMS です。最初のクロックで TDI を書き込み、2 番目のクロックで TMS を書き込み、3 番目と 4 番目のクロックで TDO を読み取ります。このシーケンスは、左から右に供給されます。シフトされたビットは、クロックが立ち下がるたびにその値を保持します。

問題

最初の 4 ペアをシフトした後、TDO ラインは 4 番目のペアでハイ (3 番目のクロック) になり、その 4 フェーズ部分の終わり (4 クロック) でローになります。上記のシーケンスでは、このスポットにアンダースコアを付けました。その後、コントローラはそれ以降のコマンドを無視します。次の SendCommand( MTAP_COMMAND ) では、TDO は低いままで、後で XferData( MCHP_STATUS ) の TDO は、コマンドを送信する頻度に関係なく低いままです。

オシロスコープから小さなスクリーンショットを作成しました。青線が時計、緑線がデータです。右側のホップは、私が意味するものです。

http://i.stack.imgur.com/MSGZh.png

質問

第 4 フェーズで TDO が高い状態で、TAP コントローラーが何を伝えようとしているか知っている人はいますか?

前もって感謝します!

0 投票する
1 に答える
1385 参照

windows - olimex arm-usb-ocd-h jtag ドングルを使用した phytec lpc3250 ターゲットでの Windows の無効なコマンド「jtag」の openocd

openocdの「無効なコマンド名」エラーを理解するのを手伝ってくれる人はいますか? いくつかの詳細:

  • openocd 0.7.0 Windows バイナリ
  • olimex arm-usb-ocd-h ドングル
  • lpc3250 phytecベースのボード

私が行った手順:

  1. http://www.freddiechopin.info/en/download/category/4-openocdからダウンロードしたファイル「openocd-0.7.0.7z」
  2. 「c:\oocd7\」に解凍しました。
  3. 「c:\oocd7\drivers\libusb-1.0drivers.txt」の指示に従って「sadig.exe」を実行し、次の 3 つの USB デバイス用の「libusb-win32」ドライバーをインストールします。
  4. その後、以下に詳述するエラーが発生しました。

コマンドとエラーのスクリーンショット:

「libusb-win32」ドライバーがインストールされているデバイス:

コメントありがとうございます!

0 投票する
1 に答える
625 参照

gdb - プログラム カウンターと比較する GDB 関数を作成する方法

渡されたパラメーターがプログラムカウンターと等しくなるまでループする gdb 関数を作成しようとしています。

プリミティブ CPU 68332 を使用しています。ハードウェア ブレークポイントはありません。GDB ソフトウェア ブレークポイントをサポートする OS はなく、単一の命令ステップのみです。GDB は「nexti count」の「ソフトウェア」エミュレーションを提供します。JTAG は run to アドレスを提供します。

しかし、何らかの理由で JTAG を使用してアドレス指定を実行すると、CPU が過負荷になり、バス エラーが発生します。「ステップ」単一命令を確実に使用しているようにしか見えません。

GDB を使用してアドレスに「ステップ」すると、バス エラーは発生しません。

以下は、そのような GDB 関数での私の試みです。

GDBが関数を受け入れて実行できるようにするための構文を正しく取得できないようです。

正しい構文は何ですか?

0 投票する
1 に答える
306 参照

debugging - Jtag Trace 32 - アドレス範囲にブレークポイントを設定

JTAGについての質問です。

アドレス範囲に読み取り/書き込みブレークポイントを設定しようとしています。

b.setウィンドウで与える​​コマンドは次のとおりです(および読み取り/書き込みの選択)

しかし、それをリストすると(b.list)、次のように表示されます:

0x0 が追加されるのはなぜですか? では、ブレークポイントを配置したかった元のアドレス範囲が変更されているのでしょうか?

追加情報: Lauterbach Trace 32 を使用しています。CPU は ARm Krait です。

ありがとうございました。

0 投票する
1 に答える
621 参照

c++ - オンライン JTAG / RGH ソース コードのコンパイル時エラー

このソースを JTAG/RGH オンライン サーバー メソッド用にコンパイルしようとしています。コンパイルしようとするとエラーが発生しました。以下は、出力されたエラー ログです。

誰かが私を助けることができれば、それは素晴らしいことです.