[[ファームウェア関数一覧>ファームウェア関数一覧#d399b80f]] *FSMC_NANDInit [#v5d7b992] #contents **ヘッダ宣言 [#pba3c128] **関数プロトタイプ [#a1cec2cc] void FSMC_NANDInit(FSMC_NAND_PCCARDInitTypeDef* FSMC_NANDInitStruct) **動作 [#r69145e4] -FSMC_NANDInitStruct構造体で指定されたパラメタにより、FSMC NANDバンクを初期化します。 **引数 [#de0946f0] -FSMC_NANDInitStruct&br; 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&br; NAND Flash メモリの共通・個別又はI/Oメモリスペースへリード又はライトアクセスする前のアドレスセットアップタイムのHCLKサイクル数を定義します(構成するメモリスペースのタイミングに依存します)。このパラメタは0から0xFFの間を取るでしょう。&br; &br; ---FSMC_WaitSetupTime&br; NAND Flash メモリの共通・個別又はI/Oメモリスペースへリード又はライトアクセスするコマンドを発行する前のHCLKサイクル数を定義します(構成するメモリスペースのタイミングに依存します)。このパラメタは0から0xFFの間を取るでしょう。&br; &br; ---FSMC_HoldSetupTime&br; NAND Flash メモリの共通・個別又はI/Oメモリスペースへリード又はライトアクセスするコマンドを発行した後のアドレスホールドタイムのHCLKサイクル数を定義します(構成するメモリスペースのタイミングに依存します)。このパラメタは0から0xFFの間を取るでしょう。&br; &br; ---FSMC_HiZSetupTime&br; NAND Flash メモリの共通・個別又はI/Oメモリスペースへライトアクセスをスタートした時にデータバスがHiZに保たれるHCLKサイクル数を定義します(構成するメモリスペースのタイミングに依存します)。このパラメタは0から0xFFの間を取るでしょう。&br; &br; &br; --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&br; 使用するメモリバンクを指定します。&br; &br; #include(Macro/FSMC_Bank_NAND,notitle) &br; ---FSMC_Waitfeature&br; wiat機能を有効、または無効化します。&br; &br; #include(Macro/FSMC_Waitfeature,notitle) &br; ---FSMC_MemoryDataWidth&br; メモリデバイスのデータ幅を指定します。&br; &br; #include(Macro/FSMC_MemoryDataWidth,notitle) &br; ---FSMC_ECC&br; ECC計算を有効、または無効化します。&br; &br; #include(Macro/FSMC_ECC,notitle) &br; ---FSMC_ECCPageSize&br; 拡張ECCのページサイズを設定します。&br; &br; #include(Macro/FSMC_ECCPageSize,notitle) &br; ---FSMC_AddressLowMapping&br; アドレスA24:16をNAND-フラッシュコントローラアドレスビットの何処に割り付けるか定義します。&br; &br; #include(Macro/FSMC_AddressLowMapping,notitle) &br; ---FSMC_TCLRSetupTime&br; CLEがLレベルになってREがLレベルになる間の遅延時間をHCLKのサイクル数で定義します。このパラメタは0から0xFFの間の値を取るでしょう。&br; &br; ---FSMC_TARSetupTime&br; ALEがLレベルになってREがLレベルになる間の遅延時間をHCLKのサイクル数で定義します。このパラメタは0から0xFFの間の値を取るでしょう。&br; &br; **戻り値 [#ua53de7c] -無し **出力値 [#df7eafea] -無し **呼び出し関数 [#oe7b1ae9] -無し **サンプル [#jd473679] /* 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); **参照 [#c26c293b] -