問題タブ [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.
python - 標準入力パイプを使用した Windows コンソール アプリの制御
subprocess モジュールを使用して Python からコンソール アプリケーション (Segger の JTAG アプリ) を制御しようとしています。アプリケーションは stdout に対して正しく動作しますが、stdin は読み取られないようです。シェルを有効にすると、入力に入力してアプリケーションを制御できますが、これはプログラムで行う必要があります。同じコードは、cmd.exe などにコマンドを発行する場合に問題なく機能します。
標準入力ではなくキーボードが直接読み取られていると思います。アプリケーション入力を送信する方法はありますか?
exception - ARM9 SVC_STACK が範囲外?
IAR ワークベンチ ツールチェーンを使用して、組み込みシステムで奇妙な ARM 例外をデバッグしています。例外がトラップされると、SVC_STACK が範囲外 (非常に範囲外!) と報告されることがあります。SVC_STACK は何に使用されますか? サイズは 0x1000 に設定されていますが、範囲外の場合はヒープ領域を大きく超えています。ありがとう!
debugging - Qualcomm FFA で Trace32 を使用する
Lauterbach JTAG/Trace32 を使用した Qualcomm FFA での BREW および/または BMP アプリケーションのデバッグに関するリソース (例: .cmm スクリプト、命令など) を知っている人はいますか?
ありがとう。
avr - LinuxまたはMacでAVRRavenをプログラムするにはどうすればよいですか?
これらをプログラミングするためのこのチュートリアルは、Windowsボックスを使用してRavensとJackdawをプログラミングすることから始まります。代わりに、LinuxまたはOS Xマシンでavrdudeを使用してこれらの初期手順を実行できますか?もしそうなら、どのように?試してみるだけでハードウェアをブリックするリスクはありますか?
USB JTAGICEMKiiクローンがあります。これはこのために機能するはずです。
私はAVRにまったく慣れていませんが、LinuxまたはOSXでのC/ C ++プログラミング、カーネルプログラミングまでの経験が豊富です。ヒントがあれば、manページを読むことができますが、私が探しているものを知っています。
usb - USB AVR JTAG-ISP デバイス用ドライバ
私は USB AVR JTAG-ISP v. 1.2 というプログラミング デバイスを持っています。
ドライバーと適切な IDE はどこにありますか?
gdb - HawkboardおよびOpenOCDで使用するJTAGエミュレーター?
Hawkboardを使用してベアメタルARMプログラミングを試してみたいのですが、展開プロセスがひどいようです。私はこれにまったく慣れていないので、手順を誤解している可能性がありますが、バイナリファイルを変換するためにAISgenというプログラムを使用してから、UARTを介してu-Bootで起動し、AISバイナリをメモリにコピーする必要があるようです。変更を加えるたびにやるべきことがたくさんあるだけでなく、GDBでデバッグすることもできません。
私が見つけることができるこれに対する最良の解決策はJTAGです。しかし、これらのJTAGエミュレーターの価格はばかげているように見えます。どれがホークボードで動作し、どれが動作しないのかさえわかりません。これまでのところ、私の最善の策はFlyswatterのようですが、ピンのレイアウトは異なります。
基本的に、比較的安価で、HawkboardとOpenOCDで動作するものが必要です。
助言がありますか?それとも、私がこれを行うことができる別の方法はありますか?
arm - どういうわけかこのXDS100v2JTAGエミュレーターを使用できますか?
Hawkboardを購入し、デバッグに使用するJTAGエミュレーターを探しに行きました。私が確信していると思われたのはSpectrumDigitalXDS100v2だけでした。ピンが一致し、Hawkboardでそれを使用している他の人について読んだことがあるからです。GCC ARMツールチェーンとOpenOCDを使用したいと思っていましたが、XDS100v2は明らかにTI CodeComposerStudioでのみ動作します。HawkboardはとにかくTIプロセッサを使用しており、TIコンパイラがそれに対して非常にうまく最適化できると考えたので、私はそれで問題ありませんでした。JTAGエミュレータを受け取った後、TICCSv4をインストールしました...
私は絶対にそれを嫌います。
それは私のハードドライブ全体にファイルを分散させ、私のユーザーディレクトリを乱雑にし、設定するのに大変な苦痛を与え、今では正しくアンインストールすることさえできません。デバッグのためにGCCツールチェーンとOpenOCD/GDBに切り替えたいのですが、XDS100v2でそれを行う方法が見つかりません。
OpenOCDメーリングリストでこれについて最近いくつかの議論がありましたが、ライセンスの問題により、チームがXDS100v2の直接サポートを含めることができないようです。また、XDS100v2をサポートするためのコードが含まれているように見えるディスカッションとほぼ同時期に行われたGitコミットを見つけましたが、これが公式かどうかはわかりません。XDS100v2が実際に正しくインストールされていないため、実際にテストすることもできません。ドライバーを入手するにはCCSv4をインストールする必要がありますが、最初のマシンのように乱雑にしたくないので、他のマシンでこれを行うことを拒否します。ディスカッションでは、XDS100v2は実際には単なるFTDIデバイスであると述べているため、汎用のFTDIドライバーを使用してみましたが、Windowsはそれを認識しませんでした。
私が求めているのはこれだと思います。一般的なFTDIドライバーまたは別の方法を使用して、OpenOCDにXDS100v2をサポートさせる方法はありますか?私はこのJTAGエミュレーターに80ドルを費やしましたが、無駄にするのは本当に嫌です。
avr - AVR JTAGICE mkⅡ
オリジナルの Atmel jtag プログラマーの価格は 300 ドルです。
http://www.atmel.com/dyn/products/tools_card_v2.asp?tool_id=3353
http://search.digikey.com/scripts/DkSearch/dksus.dll?site=us&lang=en&mpart=ATJTAGICE2
どのクローンをお勧めしますか? それらは 100% クローンですか? (avr studio、同じ FW などで動作)
ありがとう。
debugging - Cortex-M3 CPUのprintfを介した出力デバッグ、BKPT命令でのストール+JTAGおよびswポートに関する混乱
ボード上のJTAGコネクタにKeilULINK2USBエミュレータボックスが接続されています。これは、オンボードのCortex-M3 CPU(TI / Stellaris / LuminaryMicro LM3Sシリーズ)で正常に動作します。JTAGポートとSWJ-DPポートの両方が、これらのCPUで同じピン(したがって、ボード上のコネクタ)を共有しているようです。1つにはITM(printf)機能がないように見えますが、もう1つにはあります。
以前のファームウェアの人々は常にstdiotoUART(シリアルポート)を使用していましたが、デバッグメッセージがシリアルポートとの間で送受信される他のデータに干渉しないように、シリアルポートを解放する必要があります。したがって、トレースメッセージが必要です。他の場所に行きます。残念ながら、このボードにはシリアルポートが1つしかありません。このCPUのITM(トレース)機能は、デバッグprintfメッセージをデバッガー/ IDE(Keil uVision)に直接送信できることを意味すると思いました。TI / Stellaris CPUのドキュメントでは、この機能を「シリアルワイヤJTAGデバッグポート(SWJ-DP)」と呼んでいます。このサポートは、私が読んだところ、間違いなくKeiluVisionIDEに実装されている機能です。
コードにprintfメッセージを追加すると、デバッグを開始したときにコードがロックされます。ロックアップは、私のアプリケーションにリンクされているRTLライブラリの関数_sys_openのBKPT命令にあるようです。
上記は、によって呼び出されるコードの一部のよう__rt_lib_init_stdio_1
です。
何が起こっている?BKPTが何をするのかわかりません。ソフトウェアブレークポイントが発生し、デバッガーで処理する必要があると思いますか?Keil / ARM ULINK2ソフトウェアとハードウェアは、このためにすでに構成されているべきではありませんか?デバッグprintfをKeilJTAG/ swポートで動作させるためのトリックはありますか?
swポートとJTAGポートの違いがわかりません。swは正確には、ボード上のJTAG物理コネクタの2つの可能なモードの1つを指していると思います。ここで、JTAGはクラシックですが、トレースサポートのないより制限されたモードであり、swモードはJTAGにピンを追加せずにトレースサポートを追加します。コネクタのレイアウト?しかし、これは組み込みシステムであり、不可解であることが標準です。私はCortex-M3開発に不慣れであり、このようなものの多くは、古いARM7TDMIの時代から私にとって新しいものです。しかし、Keil uVisionは、「ITMはSWポートでのみ機能し、JTAGでは機能しません」というメッセージを出力します。SWは、ボード上で設計する必要のある別の物理ポートですか?(私は、開発スターターボードではなく、カスタム設計のアプリケーションボードを使用しています。)
[グーグルで調べてみると、このパズルには_sys_open
いくつかのプラグマ__use_no_semihosting_swi
やその他のものが密接に関係しているという事実がわかります。ROM内のBRKPT命令は、SWI(「ソフトウェア割り込み」)ARM命令のARMバリアントである可能性があります。]
embedded - 「CPU が停止していません」および「APB-AP が見つかりません」エラー
JTAG を使用して C コードを評価ボードにロードすると、正常にロードされます。ただし、main() からコードを実行すると、すぐに「CPU が停止していません」というエラーが発生し、続いて「APB-AP が見つかりません」というエラーが発生しました。
このエラーが発生する前に、USB 関連のコードを読み込んで実行することができました。
私はそれをグーグルで検索し、JTAG コマンド「rx 0」を使用してターゲットをリセットしましたが、何も変更されません。
ARM Cortex-M3 プロセッサ、J-Link ARM V4.14d、IAR Embedded ワークベンチ IDE を使用しています。
助けてくれてありがとう。