ファームウェア関数一覧
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_NAND | FSMC Bank2 NAND |
FSMC_Bank3_NAND | FSMC 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_Disable | ECCを無効にします |
FSMC_ECC_Enable | ECCを有効にします |
- 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);
参照 †