Skip to main content

IAR Embedded Workbench for Arm 9.70.x

ランタイム環境の設定

このセクションの内容:

何らかの基本的なプロジェクト設定に基づいてランタイム環境を設定することができます。また、標準ストリームやファイルI/O、その他さまざまなシステムの相互処理をC-SPYデバッガにより管理する方が、たいてい便利です。基本的なランタイム環境は、ターゲットハードウェアを用意する前にシミュレーションに使用できます。

ランタイム環境を設定するには、以下の手順に従います。
  1. プロジェクトをビルドする前に、[プロジェクト]>[オプション]>[一般オプション] を選択して[オプション] ダイアログボックスを開きます。

  2. [ライブラリ構成]ページで以下の設定を確認します。

    • [ライブラリ]:使用するライブラリ構成を選択します。通常、[なし][ノーマル][フル]、または[カスタム]を選択します。C++17をサポートするライブラリの場合は、フルライブラリ設定を使用するLibc++を選択します。

      さまざまなライブラリ構成の詳細については、ランタイムライブラリ構成を参照してください。

  3. [ライブラリオプション]1ページでは、[Printfフォーマッタ]および[Scanf フォーマッタ]の両方に、[マルチバイトをサポートする自動]または[マルチバイトをサポートしない自動]を選択します。つまり、リンカはコンパイラからの情報に基づいて適切なフォーマッタを自動的に選択します。使用可能なフォーマッタと手動でそれを選択する方法については、「printfのフォーマッタ」と「scanfのフォーマッタ」をそれぞれ参照してください。

  4. C-SPYでエミュレーションされたI/Oを有効にするには、[プロジェクト]>[オプション]>[一般オプション]>[ライブラリ構成]を選択し、[セミホスティング](--semihosted)または[IARブレークポイント] (--semihosting=iar_breakpoint)を選びます。

    注記

    一部のCortex-Mデバイスでは、SWO経由でstdout/stderrを出力することもできます。stdout/stderr これによって、セミホスティングに比べてstdout/stderrのパフォーマンスが大幅に向上します。ハードウェア要件については『[SWO 設定]ダイアログボックス』を参照してください。

    危険

    コマンドライン上でSWO経由でstdoutを有効にするには、リンカオプション--redirect __iar_sh_stdout=__iar_sh_stdout_swoを使用します。

    注意

    IDEでSWO経由でstdoutを有効にするには、[セミホスティング]オプションおよび[SWO経由のstdout/stderr]オプションを選択します。

    C-SPYによりエミュレーションされたI/Oの概要およびセミホスティングのメカニズムを参照してください。

  5. 一部のシステムでは、ホストコンピュータとターゲットシステムが1文字ごとに通信する必要があるため、ターミナル出力が遅いことがあります。

    このため、__write関数の代替として、__write_buffered関数がランタイムライブラリに用意されています。 このモジュールでは、出力をバッファし、一度に1ラインずつデバッガに送信するため、出力が高速化されます。

    注記

    この関数は、約80バイトのRAMメモリを使用します。

    注意

    IDEでこの機能を使用するためには、[プロジェクト]>[オプション]>[一般オプション]>[ライブラリオプション1から、[バッファターミナル出力]

    危険

    コマンドラインでこの関数を有効にするには、以下をリンカコマンドラインに追加します。

    ‑‑redirect __write=__write_buffered
    
  6. 一部の数学関数には異なるバージョンが用意されています。デフォルト、デフォルトより小さいもの、デフォルトのバージョンより大きくてより正確なものがあります。どのバージョンを使用すべきか検討してください。

    詳細については、数学関数を参照してください。

  7. プロジェクトをビルドする際、選択したプロジェクト設定に基づいて、適切なビルド済ライブラリおよびライブラリ構成ファイルが自動的に使用されます。

    どのプロジェクト設定がライブラリファイルの選択に影響するかは、ランタイムライブラリ構成を参照してください。

    アプリケーションのソースコードを開発するときに使用できるランタイム環境の設定が終わりました。