組み込みアーキテクチャはどのくらい重要ですか?

                                                                             組み込みアーキテクチャはどのくらい重要ですか?


アーキテクチャー設計の目的:

1.アプリケーションコードのロジックは明確であり、ホイールの再発明を回避します。
2.優れたアーキテクチャがない場合、移植は非常に骨の折れる作業になるため、優れたアーキテクチャ設計はソフトウェアの移植に便利です。
3.最大の再利用。
4.高い凝集力と低いカップリング。

デザインのアイデア:

原則として、メインプログラムで直接関数ステートメントを作成することはできません(ドッグフィード命令を除く)。優れたメインプログラム構造は、サブプログラムを通じて特定の汎用モジュールを呼び出す必要があります。これは、プログラムのモジュール化の要件です。このモジュラープログラム構造では、メインプログラムはスケジューリング機能を実行するだけであり、汎用モジュールプログラムを順番に呼び出す必要があります。すべての汎用モジュールは、メインプログラムのサイクルごとに1回呼び出されます(図3.2:モジュラープログラム構造を参照)。明らかに、この構造を採用した後は、さまざまなモジュール間の相互独立性が強くなります。ビルディングブロックのようなメインプログラムによって呼び出されるモジュール、つまり、機能的なモジュール設計と階層化設計を簡単に増減できます。

 

 モジュール設計:収集された要件を分類、要約、分析し、これらの要件を個別の機能に要約します。各機能は、個別の機能モジュールに作成されます。

階層化された設計は直接表現するのが容易ではありませんが、主に以下の側面に反映されます:

1.汎用モジュールが外部からモジュールをAPIに呼び出し、基になるドライバーが、汎用モジュールが呼び出すAPIとして使用されます。(各関数モジュールは個別にコンパイルできます(通信モジュールは純粋なANSI Cであり、任意のプラットフォームで再利用できます)、またはドライバーレイヤーインターフェイスを呼び出します(ログライブラリモジュールはドライバーを呼び出してFlashの読み取りと書き込みを行います)つまり、各関数をカプセル化します。独立した再利用可能な機能モジュール。)
2. APIは、ドライバー層APIとアプリケーション層APIに分かれています。すべてのプログラムがドライバー層APIを呼び出すわけではありません。(アプリケーション全体でドライバーレイヤーAPIを呼び出すと、ドライバーコールがアプリケーションのいたるところに表示されますが、移植して最大限に再利用することはできません。)

全体的なポイントは、ハードウェアドライバーレイヤー->ファンクションモジュールレイヤー->ビジネスロジックレイヤー->アプリケーションレイヤーに分けられます。

全体的な構造の概略ブロック図:

 

注:

1.レイヤー間でのレイヤー間の呼び出しはできません。
2.モジュールとモジュールは独立しており、依存関係はありません。
3.モジュールは、上位層が呼び出す統合インターフェースを提供し、モジュールの内部インターフェースと外部インターフェースは異なります。
4.モジュールの機能は、変更することはできず、増やすことができるだけです。
5.各機能モジュール層は、インターフェース層、ドライバー層、ハードウェア層など、さらに階層化することもできます。

(3)モジュールレベルの説明

 

ハードウェアドライバーレイヤー

ハードウェアドライバーレイヤーには、オンボードハードウェアリソースが正しく機能するために必要なすべてのドライバーが含まれ、関数モジュール呼び出し用のAPIを提供します。

 

ファンクションモジュールレイヤー

ファンクションモジュールレイヤーには、特定の機能を実装する機能が含まれており、対応する機能はドライバーレイヤーAPIを呼び出すことで実現されると同時に、呼び出し可能なAPIがビジネスロジックレイヤーに提供されます。

 

ビジネス

ロジックレイヤービジネスロジックレイヤーには、製品の全体的な機能のさまざまなビジネスプロセスが含まれており、ファンクションモジュールレイヤーのAPIを呼び出すことによって実装されます。

 

アプリケーション層

アプリケーション層は、さまざまなビジネスロジックを統合して呼び出し、製品全体の機能を完成させます。

(4)利点

ドライバーが変更された場合、または別のプラットフォームに変更した場合、ドライバーレイヤーを変更するだけでよく、アプリケーションレイヤーは影響を受けません。

汎用モジュールが変更された場合、対応する汎用モジュールのみをアップグレードする必要があり、他のモジュールは影響を受けません。また、アプリケーション層も影響を受けません。

このロジックに従って設計した後の主な仕事は、ビジネスロジックレイヤーです。アプリケーション層はプログラムの全体的なプロセスとフレームワークであり、主にビジネスロジック層を呼び出してさまざまな機能を実現します。

13件のオリジナル記事を公開しました Liked4 訪問数765

おすすめ

転載: blog.csdn.net/yuechifanfan/article/details/105570728