解決
まあ、あなたのコードがどのように設計されているか知らずに言うのは難しいですが、基本的には他のソフトウェアと同じようにクラス/関数レベルでソフトウェアをテストできます。デバイスとインターフェイスするコードはすべて、エミュレーションを介してテストする必要があります。
他のヒント
答えが<!> quot; correct <!> quot;とマークされているとは思わない。まったく正しいか完全です。
ファームウェアコードについては、厳密に2方向のテストを実行する必要があります。
-
エミュレータを使用して行われた初期テスト。これは理想的ですが、ターゲットプラットフォームに適したエミュレータを入手できることを前提としています。
-
実際のハードウェアでテストしますが、テストベッドフレームワークでテストします。つまり、実際のデバイスでテストしますが、ハードウェア(オシロスコープ、プローブなど)とその他の接続を追加して、何が起こっているかを適切にトレース/デバッグできるようにします。
ファームウェアでは、多くの場合、最も難しいバグはタイミングに関連しており、実際のハードウェアを使用して初めて表示されます。最悪の場合、プロービングの実際の動作は、バグが表示されないようにタイミングを変更する可能性があります-<!> quot; production <!> quot;バージョン。その後、本当に楽しい時間を過ごします。
乾杯、
-リチャード
多くの組み込みデバイスにはソフトウェアシミュレータがありますが、デバイスに依存します。
クラスはできる限りユニットテストする必要がありますが、1日の終わりには、それを実行してハードウェアでテストする必要があります。
デバイスでファームウェアをテストするには、デバッグインターフェースを記述して、 procomm デバイスと会話します。次に、機能を作成するときに、デバッグインターフェイスがクラス内のメソッドを呼び出す方法を用意します。これにより、デバイス自体でコードを具体的にテストできます。
これが完了したら、ターミナルエミュレータでスクリプトを記述して、テストを自動的に実行できます。