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

ID 743810
日付 10/31/2022
Public

このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。

ドキュメント目次

7.7.5.2. DMAのレシーバ・チャネル

alt_dma_rxchan 構造体

typedef struct alt_dma_txchan_dev_s alt_dma_txchan_dev;
struct alt_dma_txchan_dev_s {
  alt_llist llist;
  const char * name;
  int( * space)(alt_dma_txchan dma);
  int( * send)(alt_dma_txchan dma,
    const void * from,
      alt_u32 len,
      alt_txchan_done * done,
      void * handle);
  int( * ioctl)(alt_dma_txchan dma, int req, void * arg);
};

prepare()関数を定義する必要があります。ioctlフィールドが null に設定されている場合、alt_dma_rxchan_ioctl()を呼び出すと、このデバイスに対して -ENOTTYが返されます。

alt_dma_rxchanのインスタンスを作成した後、デバイスドライバーを HAL システムにレジスターして、次の関数を呼び出して使用できるようにする必要があります。

int alt_dma_rxchan_reg (alt_dma_rxchan_dev* dev)

入力引数 dev は、レジスターするデバイスです。戻り値は、成功した場合はゼロ、デバイスをレジスターできない場合は負になります。

表 31.  alt_dma_rxchan 構造体のフィールド
フィールド 機能
llist この関数は内部使用のためのものであり、常にALT_LLIST_ENTRYの設定する必要があります。
name alt_dma_rxchan_open()の呼び出しでこのチャネルを参照する名前。nameは、system.hで定義されているデバイスの名前です。
depth 任意の時点で未解決の可能性がある受信要求の総数。
prepare アプリケーション API 関数alt_dma_rxchan_prepare()の呼び出しの結果として呼び出される関数へのポインター。 この関数は、DMA デバイスに受信リクエストを送信します。 alt_dma_rxchan_prepare()に渡されるパラメーターは、prepare()に直接渡されます。 パラメーターと戻り値の説明については、HAL API リファレンスのセクションを参照してください。
ioctl これは、デバイス固有の I/O コントロールを提供する機能です。 デバイスがサポートする可能性のある一般的なオプションのリストについてはsys/alt_dma_dev.hを参照してください。