タグ付けされた質問 「debugging」

システムの運用におけるエラーを識別、定量化、および修正するプロセス

4
JTAG vs SWDデバッグ
この記事をざっと読んだ後、JTAGデバッグよりもSWDデバッグの利点は何だと思いますか? SWDはより少ないワイヤ/ピンを使用し、より少ないスペースなどを使用することを理解しています。しかし、ハードウェアプログラマー/デバッガーデバイスのパフォーマンス、機能、およびコストの点で、SWDはどのように機能しますか?EclipseのようなIDEでコードをブレークポイント/一時停止およびステップスルーすることはできますか? JTAGで実行できると思われるように、SWDインターフェイスを使用してARMチップをプログラムできますか?
41 jtag  debugging  swd 

6
電子管テレビを叩くとどのように役立ちましたか?
古い映画(またはこれらの時代に再生される新しい映画)では、電子管テレビや画面の上部を叩く人がよく見られます。どういうわけか、画像を安定化/シャープ化するのに役立つようです。しかし、なぜ? 電子回路が期待どおりに動作しない状態から、鋭い機械的衝撃により期待どおりに動作するようになる理由はありますか?電子機器でこのような問題を引き起こす条件は何ですか?それが現れるアタリSTは(で説明したように「アタリドロップ」として知られるようになったものを実行することによって固定することができ、同様の問題に苦しんでWikipediaのこのセクションこれが原因接続不良にあると記載されているが)、いずれかが存在します同様の方法で修復できる他の障害モードとその理由

3
ランダム漏れ電流の不思議なケース
免責事項:この回路のデバッグの難問の解決策は既に知っています(そしてそれは簡単ではありません)。他の人がこのミステリーストーリーに貢献できるように、しばらくしてから投稿します!回路設計者にとって教育的な価値があるかもしれません! 数年前(〜8、IIRC)地元の雑貨店で非常に興味深い特別オファーに出くわしました。OsramDOT-IT LED照明器具を半額で購入できました。 ご覧のように、3個の非常に明るい白色LEDを収容する3個のAAAバッテリーを搭載した小型の機器でした。透明なドームを押すことで作動するソフトスイッチを介して、すべてがオンになりました。1回目のプレスで3つのLEDが点灯し、その後のプレスごとに1つのLEDが消灯します。そのため、アプライアンスが生成する光の量を選択する可能性があります。外側のケースは、透明なプラスチックドームに加えて、非常に強力な陽極酸化アルミニウムで、背面カバーには強力な磁石が付いたプラスチックが使用されており、冷蔵庫、車体ショップ、または適切な金属表面に物を貼り付けることができます。 当時、ここイタリアではLED照明が非常に高価であり、そのような小さなガジェットは非常に高価または完全にくだらないものだったため、数十個購入することは非常に良い考えだと思いました(最初に1つだけ試してみました。非常に強い光を出し、非常に高品質であることを確認しました)。私は家のすべての部屋と車の中で非常灯として使うつもりでした。 約6か月後に短い停電が起きるまで、すべてが順調でした。残念なことに、12個のうち約10個のバッテリーが切れていました! もちろん、私の最初の考えは「ガタガタの漏れやすいソフトスイッチ」であり、マイクロ電流計に走りました!事実上、非常に高いリーク電流(〜1 mA)を備えたユニットをいくつか見つけましたが、他のユニットは非常に正直な〜20μAでした。私は困惑しました。 低リークのバッテリーをすべて交換し、もう一度試してみることにしました。 数ヶ月後、驚いたことに、再び失敗しました!私は再び漏れを測定し、異なる結果を得ました。いくつかのユニットはひどい〜1 mAのリークを発生しましたが、他のユニットは「正常」でした。さらに、もともと高い漏れを示していた2つのユニットを再テストしました...もう漏れませんでした!!! 私はうんざりしていて、その問題を無駄にする時間がもうなかったので、それらをすべて廃棄し、ジャンクボックスに入れました(結局、3つの素敵で高価な白色LEDが入っていて、それらをサルベージする)そしてそれらについて忘れていた。 私は数週間前にそれらを再び見つけました、そして、再編成狂乱で、私はユニットを解体して、LEDsを救うと思いました。そのため、内部回路は、瞬間的なスイッチ、LED、ドライバーチップ、およびキャップのみを保持する小さなPCBであることがわかりました。PCBを下の写真に示します(好奇心のために、そのドライバーチップのデータシートを見つけようとしましたが、運がありません)。 楽しみのためにPCBを再度テストしましたが、以前に見た不安定なリーク動作はまだありましたが、その過程で最終的に犯人を発見しました。 そのランダムで不規​​則な漏れの原因は何かを推測してください!

5
マイクロコントローラーが予期せずリセットする原因は何ですか?
マイクロプロセッサで制御されたシステムで特にイライラするバグの1つは、マイクロプロセッサが予期せずリセットすることです。この種の問題をデバッグするための重要なツールは、考えられる原因のリストです。マイクロコントローラーが予期せずリセットする原因は何ですか?


8
新しいボードをどのように攻撃しますか?
PCBはメーカーから返されます。それは新しいデザインであり、もちろんすべての主要部品をブレッドボードに載せていますが、問題が発生することはわかっています。問題を引き起こす可能性のあるものが多すぎます。例: 回路図のエラー ERC / DRCで見つからないレイアウトのエラー はんだ付け中の部品の置き忘れ はんだ付け時のショートなど 上記の任意の組み合わせ 最近、2つの比較的複雑なボードがありましたが、基本的には、エラーを特定するために、アセンブリ後にボード全体を実装解除する必要がありました。エラーを見つけましたが、ボードはスクラップでした。 最小限の部品と手はんだ付けできない部品から始めようとしました(ペースト、ステンシル、トースターを使用しています)。通常、これはMCU、JTAGコネクタ、およびいくつかのコンデンサです。その後、問題をチェックしながら、徐々に他の領域を埋めていきます。 このアプローチは機能しますが、本当に遅いです。また、特定のハードウェアの存在を前提とするコードでは、コメントアウト/コメント化する必要があります。 誰もが新しく設計されたPCBにアプローチする方法についてのヒント/提案を持っていますか? 編集:私は主に、隠された電源レールの短絡、またはMCUをブロックするものなど、ボードが死んでしまうような種類の問題について考えています。


2
この古いマランツ増幅器の問題を見つける方法は?
抵抗記号に関する最初の質問の後、この古いマランツPM-68クラスABアンプに戻り、サービスマニュアルに記載されているIDを使用してコンポーネントを参照します。 友人がこのアンプをくれたとき、それは部分的に機能していました。音は悪くありませんでしたが、数分ごとにランダムに非常に大きな爆発音がスピーカーから出ました。 やがて機能しなくなり、修理したいと思います。古いものの一部が漏れていたため、メインボードのすべてのコンデンサを変更しました。いくつかのヒューズ抵抗器(3295-3298)も切れた(おそらく爆発ノイズが発生したときのスパイクのため)ので、私もそれらを変更しました。 左チャンネルは今ではうまく機能しているので、入力に正弦波を注入することでチェックし、出力正弦はきれいに見えます!電力線(+ 56Vおよび-56V)は両方のチャネルで安定しています。 問題は、適切なチャネルです。スコープとマルチメーターを使って何時間もデバッグした後、私は無知のままです。正弦波の下半分に深刻なクリッピングがあります。サインの底は存在しません!すべての抵抗器、ダイオード、はんだをチェックしました(乾燥して壊れたはんだがいくつか見つかったので、修正しました)。正弦波の底部に使用されているトランジスタの1つは、数分後に触ると他のトランジスタほど熱くならず、ほとんど暖かくありません(7266)。私がそれをはんだ除去し、左チャネルからのものを使用すると、同じ問題が発生するため、トランジスタではありません。 2268コンデンサの両側に2つのスコーププローブを配置して信号をチェックすると、スピーカーが切断されているときに非常に良い正弦波が得られます。しかし、スピーカーを接続するとすぐに、サインの下半分がクリップされます。 その状況で何を確認しますか?私が逃したかもしれない何かを考えることができますか? 〜(33%)のボリュームでの左(黄色)と右(青)のチャンネルの違いは次のとおりです。 以下は、〜10%のボリュームでの左(黄色)と右(青)のチャンネルの違いです。 スピーカーが接続されていない場合(入力は283Hz)、2268の両側で得られる信号を次に示します。 以下は、スピーカーを右チャンネルに接続したときに2268の両側に表示されるものです。 ウォームトランジスタ(7266)は次のとおりです。7265でそれを無効に切り替えてみました: 右チャンネルの概略図は次のとおりです。 これは、小さな負荷(10%未満のボリュームポテンショメーター)での測定値を示す拡大図です。 トランジスタ7258と7260を交換しようとしました。また、抵抗3274とダイオード6256を新品に交換しました。 これは、トランジスタ7264のベースの信号です。

8
組み込みシステムのデバッグにprintf()が悪いのはなぜですか?
を使用してマイクロコントローラベースのプロジェクトをデバッグしようとするのは悪いことだと思いprintf()ます。 出力する場所が事前に定義されておらず、貴重なピンを消費する可能性があることを理解できます。同時に、カスタムDEBUG_PRINT()マクロを使用してIDE端末に出力するためにUART TXピンを消費する人もいます。
16 c  debugging 

1
GDB、OpenOCD、arm-none-eabi-gccを使用して、STM32ディスカバリーボードでgdbコンソールにデバッグメッセージを出力するにはどうすればよいですか?
OpenOCD、arm-none-eabi-gcc、およびgdbを使用してSTM32 Cortex M0ディスカバリーボード(32F0308DISCOVERY)をプログラミングしています。SWD経由でデバッグメッセージを記録する簡単な方法があるかどうか疑問に思っていました。セミホスティングオプションについて読んだことがありますが、これにはnewlibまたは他の大きなライブラリを取り込む必要があるようです。(64kフラッシュしか利用できません。)SWDを介してテキストを記録するためのより軽量な方法はありますか、またはUARTのみが実用的なオプションですか?

1
インサーキットデバッガーとインサーキットエミュレーターの機能的な違いは何ですか?
インサーキットエミュレーター(略してICE)は、その優れたデバッグ機能を誇っています。また、高価なタグを誇っています。 インサーキットデバッガー(ICDと略記)は、ICEでできることのほとんどを実行できますが、多くの場合、はるかに安価です。 昔のことですが、ICEは実際に問題のチップをソケットから取り外してエミュレータケーブルに置き換えますが、最新のQFN、BGA、および壊れやすいTQFPパッケージでは、ほとんどの製品が「ICE」デバッガと呼ばれているようですICDとほぼ同じ方法でデバッグヘッダーに接続されます。 名前に「ICE」を使用する製品の例を次に示します。 Atmel AVR JTAGICE Microchip MPLAB RealICE いくつかのベンダーのJTAG「ICE」製品もあります。これらは物理的にインサーキットではないため割引はしていませんが、真のICEとして機能しない場合は割引します。 ICEはどのような開発タスクに必要ですか?また、いつICDに満足する必要がありますか?LEDやprintf()ステートメントを使用せずに、コードをステップ実行したいと仮定します。 ICEで解決したが、それなしでは(現実的に)解決できなかった問題の例は何ですか?


3
Arduino Cコードでメモリオーバーフローエラーを発見するにはどうすればよいですか?
Arduinoにコードをアップロードした後、シリアルモニターにいくつかの疑わしい出力がありました。空白の永遠の出力や、文字列やスクランブルされた文字列の突然のカットなどです。 Arduino IDEにはコンパイルエラーや警告がなかったので、Arduinoは壊れていると思いましたが、いくつかのテストの結果、Arduino IDEコンパイラですべての種類のエラーが検出されるわけではないことがわかりました。特に、配列構造のループに変数を割り当てる場合はそうです。これにより、Arduinoが短時間でクラッシュするようです。 Arduino IDEで表示されないエラーを検出するにはどうすればよいですか?

3
Linux PCでArduino Unoをgdbでデバッグするにはどうすればよいですか?
Linux pcでgdbを使用してArduino Unoをデバッグ(ソースコードシングルステップ)するにはどうすればよいですか?私はワインやVirtualBoxでAVR Studioを使用したくないことに注意してください。 質問1:物理的な接続 Unoボードに接続する方法と方法を教えてください。私の推測では、UnoボードにはATmega328が実装されているため、シングルステップのソースコードを使用できるはずです。ICSPヘッダーでAVR JTAGICE mkIIまたはAVR Dragonのどちらかを使用できると思いますか? 質問2: GDBサーバー それから、gdb関数にjtagを提供しているように見えるAVaRICEのようないくつかのプロジェクトがあることに気付きましたが、他のプロジェクトがあるかもしれませんか? 質問3:エルフはどこにいますか? そして、私がそれを立ち上げて実行している場合、Arduino IDEはelfファイルのように生成された出力をデバッグシンボル(1つあるはずです)でどこに隠しますか?または、Ardino libsのみを使用する古典的なMakefileを生成する必要がありますか? 私は何をどのように使用するかについての情報を見つけようとしましたが、私に何ができるかを教えてくれる手がかりを見つけただけです。誰かが私を正しい方向に向けることができますか?
10 arduino  avr  linux  debugging 

2
市販のJTAGデバッガーとオープンソースのFT2232H OpenOCDデバッガーの違いは何ですか?
次のような市販のJTAGデバッガーをいくつか見ました。 iC6000オンチップアナライザー(Auroraプロトコルをサポート) ラウターバッハ–マイクロプロセッサ開発ツール OpenOCD FT2232HベースのJTAGデバッガ: たたき飛ぶ NGX ARM USB JTAG クレジットカードサイズのPCBが小さいFT2232H JTAGデバッガーと比較して、これらの商用デバッガーは大きな箱であるのはなぜですか?市販のデバッガーの内部にはどのような追加のハードウェアがあり、デバッグのどの部分でこれらが役立ちますか?
10 jtag  debugging 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.