質問

これは、いくつかのその他 質問(ただし、質問をより洗練させたと思います)。

デバイスを装着する前に、ファームウェアコードをテストします。

多くの人がコードを書いたり、アップロード、テストなどをすることを知っています。しかし、アップロードする前に書いてテストしたいのです(主に多くのシナリオを自動化したいからです)。

だから、これを行う最善の方法は何ですか。ファームウェアがまったくないような純粋なソフトウェアを作成している場合は、cppunit(たとえば)を使用してそれを実行します。しかし、私はこのファームウェアのことで少し迷っています。

アイデアはありますか?

ありがとう

役に立ちましたか?

解決

まあ、あなたのコードがどのように設計されているか知らずに言うのは難しいですが、基本的には他のソフトウェアと同じようにクラス/関数レベルでソフトウェアをテストできます。デバイスとインターフェイスするコードはすべて、エミュレーションを介してテストする必要があります。

他のヒント

答えが<!> quot; correct <!> quot;とマークされているとは思わない。まったく正しいか完全です。

ファームウェアコードについては、厳密に2方向のテストを実行する必要があります。

  1. エミュレータを使用して行われた初期テスト。これは理想的ですが、ターゲットプラットフォームに適したエミュレータを入手できることを前提としています。

  2. 実際のハードウェアでテストしますが、テストベッドフレームワークでテストします。つまり、実際のデバイスでテストしますが、ハードウェア(オシロスコープ、プローブなど)とその他の接続を追加して、何が起こっているかを適切にトレース/デバッグできるようにします。

ファームウェアでは、多くの場合、最も難しいバグはタイミングに関連しており、実際のハードウェアを使用して初めて表示されます。最悪の場合、プロービングの実際の動作は、バグが表示されないようにタイミングを変更する可能性があります-<!> quot; production <!> quot;バージョン。その後、本当に楽しい時間を過ごします。

乾杯、

-リチャード

多くの組み込みデバイスにはソフトウェアシミュレータがありますが、デバイスに依存します。

クラスはできる限りユニットテストする必要がありますが、1日の終わりには、それを実行してハードウェアでテストする必要があります。

デバイスでファームウェアをテストするには、デバッグインターフェースを記述して、 procomm デバイスと会話します。次に、機能を作成するときに、デバッグインターフェイスがクラス内のメソッドを呼び出す方法を用意します。これにより、デバイス自体でコードを具体的にテストできます。

これが完了したら、ターミナルエミュレータでスクリプトを記述して、テストを自動的に実行できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top