web-dev-qa-db-ja.com

組み込みシステムのファームウェア設計文書(FDD)

組み込みシステムに関して、ファームウェア設計文書(FDD)とは何ですか?

ザイリンクスZynq開発ボード(Arm Cortex A9プロセッサで実行)と同様のカスタマイズされたボードで動作するアプリケーションの開発に取り組んでいます。私はSDKを使用していますIDEザイリンクスが提供するIDE $ ===は、プロセッサにSPI、UARTなどのハードウェア機能用の組み込みライブラリを提供します。

現在、私は上記のカスタムボード用のFDDを作成するように任されています。そのような場合、FDDには何が含まれますか?カスタムボードで開発しているザイリンクスまたはハードウェア(またはHDLソフトウェア)によってすでに提供されているファームウェアライブラリが含まれますか?

1

ソフトウェア設計では、通常、重要なドキュメントはSDD、ソフトウェア設計ドキュメントで、ソフトウェアがどのように機能するかを詳細に記述します(完成すると(たとえば、現時点では、システムは...、それは使用しています...)。ファームウェアはソフトウェアの一種なので、FDDはSDDであり、ファームウェアに関連する特定の機能を備えていると思います。

ドキュメントの構造化については、多くの意味不明なことがわかります。私はこれについてのみ考えます:システムは相互に関連する部分のセットです(Von Bertalanffy et.al.)。したがって、システム(静的)と相互関係(動的)の2つの部分でソフトウェアシステムを記述する必要があります。 Google for SDDテンプレート。これが一般的な構造です。したがって、導入部、静的セクション、動的セクション、および最終的な部分があり、設計の結果を考慮します。

目的はドキュメントを提供することではなく、実際に実装の詳細を体系的に考える(そして他の人が考えることを許可する)ことを忘れないでください

私が書いた最後のSDDは、一連のクライアント要件に対応しました(そうです、システムには目的があります!)。次に、ドキュメントはほぼ次のような構造になりました。

  1. ソフトウェアとそのコンテキストを説明する概要、簡単な要約。つまり、このソフトウェアは何ですか?どの機能を実行しますか?どのような目的のために?ドキュメントへの参照(またはプロジェクトが小さい場合は実際のコンテンツ)、プロジェクトの内容、参加しているチーム、その役割など。このドキュメントを読む人は、プロジェクトを知っているか、プロジェクトを知る方法を持っている必要があります。詳細。私たちの場合、ソフトウェア要件はすでに定義されているため、参照が含まれています。
  2. ソフトウェア設計が実行された方法論とその実装方法。私の場合、これは研究プロジェクトであり、研究は理論的な領域で行われ、システム、コンポーネント、テスト、何とかしての静的構造を定義するユースケースに採用されました。ツール(UML、アジャイルなど)を説明することが重要です。ハードウェア、回路、理由、方法に固有の機能を含める必要があると思います。
  3. まず、私は静的セクションと呼びます。システム、そのコンポーネント(サブシステム、サブサブ...)、インターフェース、構造、実装などです。個人的には、部分的に説明することが非常に重要だと思います2.ユースケース(たとえば、人がボタンを押してライトがアクティブになる)。これは、システムとそのサブシステムを定義するのに役立ちます(たとえば、ボタン、ライトダイオード、バッテリーが必要です)。テストは参照実装として何度も機能するため、特定のケースではテストをコンポーネントと見なすことができます。データベースを管理するシステムでは、必要に応じて、データ構造を適切なセクションまたは章全体に含める必要があります。あなたの場合、あなたはあなたのシステムのすべての静的機能に注意を払うべきです:コンポーネント、仕様、代替案など。インターフェースは部品間の相互作用を決定するので、重要な要素です。
  4. 第二に、ダイナミクスセクション:(関係を決定する)パーツ間の相互作用。例に続いて、ここでは「部品はこのようなケーブルを使用して接続されています。ボタンは電流を流すことができるため、電流はケーブルAとB内を流れ、LEDは電位差の影響を受けて発光します。点灯し、バッテリーをレートX "で放電させます。
  5. 次に、個人の基準に従って、明確にする必要があると考える詳細に入力してください。私たちのボタン電池LEDシステムでは、そのような壊れやすい回路を露出させることの影響を導入することができます。障害のリスクが原因でボタンを変更する頻度、バッテリーレベルメーターを含めることの推奨、経済的影響(高価ですが、長期的には安価です)、接続方法など.

また、他のテンプレートを自由に見て、重要であると考えられる部分を含めることもできますが、以前に定義した構造内にあります。

4
RodolfoAP