ファームウェア関数一覧

FSMC_NANDInit

ヘッダ宣言

関数プロトタイプ

void FSMC_NANDInit(FSMC_NAND_PCCARDInitTypeDef* FSMC_NANDInitStruct)

動作

  • FSMC_NANDInitStruct構造体で指定されたパラメタにより、FSMC NANDバンクを初期化します。

引数

  • FSMC_NANDInitStruct
    FSMC_NAND_PCCARDTimingInitTypeDef と FSMC_NANDInitTypeDef は、stm32f10x_fsmc.hで定義されています。
    • FSMC_NAND_PCCARDTimingInitTypeDef
      typedef struct
      {
       uint32_t FSMC_SetupTime;
       uint32_t FSMC_WaitSetupTime;
       uint32_t FSMC_HoldSetupTime;
       uint32_t FSMC_HiZSetupTime;
      }FSMC_NAND_PCCARDTimingInitTypeDef
      • FSMC_SetupTime
        NAND Flash メモリの共通・個別又はI/Oメモリスペースへリード又はライトアクセスする前のアドレスセットアップタイムのHCLKサイクル数を定義します(構成するメモリスペースのタイミングに依存します)。このパラメタは0から0xFFの間を取るでしょう。

      • FSMC_WaitSetupTime
        NAND Flash メモリの共通・個別又はI/Oメモリスペースへリード又はライトアクセスするコマンドを発行する前のHCLKサイクル数を定義します(構成するメモリスペースのタイミングに依存します)。このパラメタは0から0xFFの間を取るでしょう。

      • FSMC_HoldSetupTime
        NAND Flash メモリの共通・個別又はI/Oメモリスペースへリード又はライトアクセスするコマンドを発行した後のアドレスホールドタイムのHCLKサイクル数を定義します(構成するメモリスペースのタイミングに依存します)。このパラメタは0から0xFFの間を取るでしょう。

      • FSMC_HiZSetupTime
        NAND Flash メモリの共通・個別又はI/Oメモリスペースへライトアクセスをスタートした時にデータバスがHiZに保たれるHCLKサイクル数を定義します(構成するメモリスペースのタイミングに依存します)。このパラメタは0から0xFFの間を取るでしょう。


    • FSMC_NANDInitTypeDef
      typedef struct
      {
       uint32_t FSMC_Bank;
       uint32_t FSMC_Waitfeature;
       uint32_t FSMC_MemoryDataWidth;
       uint32_t FSMC_ECC;
       uint32_t FSMC_ECCPageSize;
       uint32_t FSMC_AddressLowMapping;
       uint32_t FSMC_TCLRSetupTime;
       uint32_t FSMC_TARSetupTime;
       /* FSMC Common Space Timing */
       FSMC_NAND_PCCARDTimingInitTypeDef* FSMC_CommonSpaceTimingStruct;
       /* FSMC Attribute Space Timing */
       FSMC_NAND_PCCARDTimingInitTypeDef*
       FSMC_AttributeSpaceTimingStruct;
      }FSMC_NANDInitTypeDef;
      • FSMC_Bank
        使用するメモリバンクを指定します。

        FSMC_Bank説明
        FSMC_Bank2_NANDFSMC Bank2 NAND
        FSMC_Bank3_NANDFSMC Bank3 NAND

      • FSMC_Waitfeature
        wiat機能を有効、または無効化します。

        FSMC_Waitfeature説明
        FSMC_Waitfeature_DisableこのNANDメモリバンクのwait機能を無効にします
        FSMC_Waitfeature_EnableこのNANDメモリバンクのwait機能を有効にします

      • FSMC_MemoryDataWidth
        メモリデバイスのデータ幅を指定します。

        FSMC_MemoryDataWidth説明
        FSMC_MemoryDataWidth_8b外部メモリデバイスのデータ幅は8-bit
        FSMC_MemoryDataWidth_16b外部メモリデバイスのデータ幅は16-bit

      • FSMC_ECC
        ECC計算を有効、または無効化します。

        FSMC_ECC説明
        FSMC_ECC_DisableECCを無効にします
        FSMC_ECC_EnableECCを有効にします

      • FSMC_ECCPageSize
        拡張ECCのページサイズを設定します。

        #include(): Limit exceeded: Macro/FSMC_ECCPageSize

      • FSMC_AddressLowMapping
        アドレスA24:16をNAND-フラッシュコントローラアドレスビットの何処に割り付けるか定義します。

        #include(): Limit exceeded: Macro/FSMC_AddressLowMapping

      • FSMC_TCLRSetupTime
        CLEがLレベルになってREがLレベルになる間の遅延時間をHCLKのサイクル数で定義します。このパラメタは0から0xFFの間の値を取るでしょう。

      • FSMC_TARSetupTime
        ALEがLレベルになってREがLレベルになる間の遅延時間をHCLKのサイクル数で定義します。このパラメタは0から0xFFの間の値を取るでしょう。

戻り値

  • 無し

出力値

  • 無し

呼び出し関数

  • 無し

サンプル

/* Initialize the FSMC NAND memory Bank2 according to the
FSMC_NANDInitStructure members */
FSMC_NANDSRAMInitTypeDef FSMC_NANDSRAMInitStructure;
FSMC_NAND_PCCARDTimingInitTypeDef FSMC_CommonSpaceTimingStructure;
FSMC_NAND_PCCARDTimingInitTypeDef
FSMC_AttributeSpaceTimingStructure;
FSMC_CommonSpaceTimingStructure.FSMC_SetupTime = 0x4;
FSMC_CommonSpaceTimingStructure.FSMC_WaitSetupTime = 0x0;
FSMC_CommonSpaceTimingStructure.FSMC_HoldSetupTime = 0x7;
FSMC_CommonSpaceTimingStructure.FSMC_HiZSetupTime = 0x0;
FSMC_AttributeSpaceTimingStructure.FSMC_SetupTime = 0x4;
FSMC_AttributeSpaceTimingStructure.FSMC_WaitSetupTime = 0x0;
FSMC_AttributeSpaceTimingStructure.FSMC_HoldSetupTime = 0x7;
FSMC_AttributeSpaceTimingStructure.FSMC_HiZSetupTime = 0x0;
FSMC_NANDSRAMInitStructure.FSMC_Bank = FSMC_Bank2_NAND;
FSMC_NANDSRAMInitStructure.FSMC_Waitfeature =
FSMC_Waitfeature_Enable;
FSMC_NANDSRAMInitStructure.FSMC_MemoryDataWidth =
FSMC_MemoryDataWidth_8b;
FSMC_NANDSRAMInitStructure.FSMC_ECC = FSMC_ECC_Enable;
FSMC_NANDSRAMInitStructure.FSMC_ECCPageSize =
FSMC_ECCPageSize_512Bytes;
FSMC_NANDSRAMInitStructure.FSMC_AddressLowMapping =
FSMC_AddressLowMapping_Direct;
FSMC_NANDSRAMInitStructure.FSMC_TCLRSetupTime = 0x1;
FSMC_NANDSRAMInitStructure.FSMC_TARSetupTime = 0x1;
FSMC_NANDSRAMInitStructure.FSMC_CommonSpaceTimingStructure =
&FSMC_CommonSpaceTimingStructure;
FSMC_NANDSRAMInitStructure.FSMC_AttributeSpaceTimingStructure =
&FSMC_AttributeSpaceTimingStructure;
FSMC_NANDInit(&FSMC_NANDSRAMInitStructure);

参照


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-06-09 (木) 14:23:11