組み込みシステムに関して、ファームウェア設計文書(FDD)とは何ですか?
ザイリンクスZynq開発ボード(Arm Cortex A9プロセッサで実行)と同様のカスタマイズされたボードで動作するアプリケーションの開発に取り組んでいます。私はSDKを使用していますIDEザイリンクスが提供するIDE $ ===は、プロセッサにSPI、UARTなどのハードウェア機能用の組み込みライブラリを提供します。
現在、私は上記のカスタムボード用のFDDを作成するように任されています。そのような場合、FDDには何が含まれますか?カスタムボードで開発しているザイリンクスまたはハードウェア(またはHDLソフトウェア)によってすでに提供されているファームウェアライブラリが含まれますか?
ソフトウェア設計では、通常、重要なドキュメントはSDD、ソフトウェア設計ドキュメントで、ソフトウェアがどのように機能するかを詳細に記述します(完成すると(たとえば、現時点では、システムは...、それは使用しています...)。ファームウェアはソフトウェアの一種なので、FDDはSDDであり、ファームウェアに関連する特定の機能を備えていると思います。
ドキュメントの構造化については、多くの意味不明なことがわかります。私はこれについてのみ考えます:システムは相互に関連する部分のセットです(Von Bertalanffy et.al.)。したがって、システム(静的)と相互関係(動的)の2つの部分でソフトウェアシステムを記述する必要があります。 Google for SDDテンプレート。これが一般的な構造です。したがって、導入部、静的セクション、動的セクション、および最終的な部分があり、設計の結果を考慮します。
目的はドキュメントを提供することではなく、実際に実装の詳細を体系的に考える(そして他の人が考えることを許可する)ことを忘れないでください。
私が書いた最後のSDDは、一連のクライアント要件に対応しました(そうです、システムには目的があります!)。次に、ドキュメントはほぼ次のような構造になりました。
また、他のテンプレートを自由に見て、重要であると考えられる部分を含めることもできますが、以前に定義した構造内にあります。