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

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

7.8. フラッシュデバイスの使用

HAL は、不揮発性フラッシュ・メモリー・デバイスの汎用デバイスモデルを提供します。フラッシュメモリーは、特別なプログラミング・プロトコルを使用してデータを保存します。 HAL API は、フラッシュメモリーにデータを書き込む関数を提供します。たとえば、これらの関数を使用して、フラッシュベースのファイル・サブシステムを実装できます。

HAL API はフラッシュを読み取る関数も提供しますが、通常は必要ありません。ほとんどのフラッシュデバイスでは、プログラムは読み取り時にフラッシュメモリー空間を単純なメモリーとして扱うことができ、特別な HAL API 関数を呼び出す必要はありません。フラッシュデバイスにデータ読み取り用の特別なプロトコルがある場合は、データの読み取りと書き込みの両方に HAL API を使用する必要があります。

このセクションでは、フラッシュ・デバイス・モデルの HAL API について説明します。次の 2 つの API は、フラッシュへの 2 つの異なるレベルのアクセスを提供します。

  • フラッシュへのシンプルなアクセス — バッファーをフラッシュに書き込み、ブロックレベルで読み戻す関数です。書き込み時に、バッファーがフルブロック未満の場合、これらの関数は、新しく書き込まれたデータの上下にある既存のフラッシュデータを消去します。
  • フラッシュへの細粒度設定のアクセス — バッファーをフラッシュに書き込み、バッファーレベルで読み戻す関数です。書き込み時に、バッファーがフルブロック未満の場合、これらの関数は、新しく書き込まれたデータの上下に既存のフラッシュデータを保持します。この機能は、通常、ファイル・サブシステムを管理するために必要です。

フラッシュデバイスにアクセスするための API 関数は、sys/alt_flash.h で定義されます。

Nios® V プロセッサーのサポート可能なフラッシュ IP は汎用シリアル・フラッシュ・インターフェイス・インテル FPGA IP です。