Nios® V プロセッサー・ソフトウェア開発者ハンドブック

ID 743810
日付 7/08/2024
Public
ドキュメント目次

7.12.1. ホステッド・アプリケーションとフリー・スタンディング・アプリケーション

ANSI C 標準では、ホストされたアプリケーションを、実行を開始するために main() を呼び出すアプリケーションとして定義します。main() の開始時に、ホストされたアプリケーションはランタイム環境を想定し、すべてのシステムサービスは初期化されており、すぐに使用することができます。これは、HAL 環境に当てはまります。 Nios® V プログラミングを初めて使用する場合、HAL のホスト環境を使用すると、システム内にどのようなデバイスが存在するか、または各デバイスを初期化する方法を考慮する必要がないため、より簡単に作業を進めることができます。HAL はシステム全体を初期化します。

ANSI C 標準では、自動初期化を回避する代替エントリーポイントも提供されており、 Nios® V プログラマーが必要なハードウェアを明示的に初期化することを前提としています。alt_main() 関数は独立した環境を提供し、システムの初期化を完全に制御できます。独立した環境では、プログラムで使用されるシステム機能を初期化する責任がプログラマーに課されます。たとえば、alt_main() が最初にキャラクター・モードのデバイスドライバーをインスタンス化し、stdout をデバイスにリダイレクトしない限り、printf() の呼び出しは自立環境では正しく機能しません。

注: 独立した環境を使用すると、システムの初期化を自分で行う必要があるため、 Nios® V プログラムの作成が複雑になります。

コード・フットプリントを削減する方法の詳細については、エンベデッド・システムのコード・フットプリントの削減の章を参照してください。

注: HAL BSP フットプリントを削減するには、自立モードを使用するよりも、BSP 設定を使用する方が簡単です。