ファームウェア関数一覧
FSMC_NORSRAMInit †
ヘッダ宣言 †
関数プロトタイプ †
void FSMC_NORSRAMInit(FSMC_NORSRAMInitTypeDef* FSMC_NORSRAMInitStruct)
動作 †
- FSMC_NORSRAMInitStruct構造体で指定されたパラメータで、FSMC NOR/SRAM バンク・レジスタを初期化します。
引数 †
- FSMC_NORSRAMInitStruct
stm32f10x_fsmc.hで定義されている構造体です。
- FSMC_NORSRAMTimingInitTypeDef
typedef struct
{
uint32_t FSMC_AddSetupTime;
uint32_t FSMC_AddHoldTime;
uint32_t FSMC_DataSetupTime;
uint32_t FSMC_BusTurnaroundDuration;
uint32_t FSMC_CLKDivision;
uint32_t FSMC_DataLatency;
uint32_t FSMC_AccessMode;
}FSMC_NORSRAMTimingInitTypeDef;
- FSMC_AddSetupTime
アドレスのセットアップタイムを構成するためにHCLKサイクル数を定義します。このパラメタは0から0xFの間の値になるでしょう。これは同期NOR Flashメモリの場合は使用されません。
- FSMC_AddHoldTime
アドレスのホールドタイムを構成するためにHCLKサイクル数を定義します。このパラメタは0から0xFの間の値になるでしょう。これは同期NOR Flashメモリの場合は使用されません。
- FSMC_DataSetupTime
データのセットアップタイムを構成するためにHCLKサイクル数を定義します。このパラメタは0から0xFFの間の値になるでしょう。これはSRAM、ROM、非同期多重化NOR Flash メモリで使用されます。
- FSMC_BusTurnaroundDuration
バスターンアラウンドタイムを構成するためにHCLKサイクルの数を定義します。 このパラメタは0と0xFの間の値になるでしょう。これは多重化NOR Flashメモリに使用されるだけです。
- FSMC_CLKDivision
データセットアップタイムを構成するためにHCLKサイクルの数を定義します。 このパラメタは0と0xFの間の値になるでしょう。このパラメタは非同期なNOR Flash、SRAMまたはROMアクセスには使用されません。
- FSMC_DataLatency
最初のデータを得る前にメモリに送信するクロックサイクルを定義します。 このパラメタの値は以下に示すようにメモリタイプに依存します。
1.CRAMの場合は0。
2.非同期NOR、SRAM、ROMの場合は無効です。
3.バースト転送モードが有効な同期式NOR Flashの場合、このパラメタは0と0xFの間の値になるでしょう。
- FSMC_AccessMode
非同期アクセスモードを以下の表から選択します。
FSMC_AccessMode | 説明 |
FSMC_AccessMode_A | Access mode A |
FSMC_AccessMode_B | Access mode B |
FSMC_AccessMode_C | Access mode C |
FSMC_AccessMode_D | Access mode D |
- FSMC_NORSRAMInitTypeDef
typedef struct
{
uint32_t FSMC_Bank;
uint32_t FSMC_DataAddressMux;
uint32_t FSMC_MemoryType;
uint32_t FSMC_MemoryDataWidth;
uint32_t FSMC_BurstAccessMode;
uint32_t FSMC_WaitSignalPolarity;
uint32_t FSMC_WrapMode;
uint32_t FSMC_WaitSignalActive;
uint32_t FSMC_WriteOperation;
uint32_t FSMC_WaitSignal;
uint32_t FSMC_ExtendedMode;
uint32_t FSMC_AsyncWait;
uint32_t FSMC_WriteBurst;
/* Timing Parameters for write and read access if the
ExtendedMode is not used*/
FSMC_NORSRAMTimingInitTypeDef* FSMC_ReadWriteTimingStruct;
/* Timing Parameters for write access if the ExtendedMode is
used*/
FSMC_NORSRAMTimingInitTypeDef* FSMC_WriteTimingStruct;
}FSMC_NORSRAMInitTypeDef;
- FSMC_Bank
- FSMC_DataAddressMux
- FSMC_MemoryType
- FSMC_MemoryDataWidth
- FSMC_BurstAccessMode
- FSMC_WaitSignalPolarity
- FSMC_WrapMode
- FSMC_WaitSignalActive
- FSMC_WriteOperation
- FSMC_WaitSignal
- FSMC_ExtendedMode
- FSMC_AsyncWait
- FSMC_WriteBurst
戻り値 †
出力値 †
呼び出し関数 †
サンプル †
/* Initialize the FSMC NOR memory according to the
FSMC_NORSRAMInitStructure members */
FSMC_NORSRAMInitTypeDef FSMC_NORSRAMInitStructure;
FSMC_NORSRAMTimingInitTypeDef* FSMC_NORSRAMTimingStructure;
FSMC_NORSRAMTimingStructure.FSMC_AddSetupTime = 0x2;
FSMC_NORSRAMTimingStructure.FSMC_AddHoldTime = 0x2;
FSMC_NORSRAMTimingStructure.FSMC_DataSetupTime = 0x2;
FSMC_NORSRAMTimingStructure.FSMC_BusTurnaroundDuration = 0x0;
FSMC_NORSRAMTimingStructure.FSMC_CLKDivision = 0x0;
FSMC_NORSRAMTimingStructure.FSMC_DataLatency = 0x0;
FSMC_NORSRAMTimingStructure.FSMC_AccessMode = FSMC_AccessMode_A;
FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM1;
FSMC_NORSRAMInitStructure.FSMC_DataAddressMux =
FSMC_DataAddressMux_Disable;
FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_NOR;
FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth =
FSMC_MemoryDataWidth_16b;
FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode =
FSMC_BurstAccessMode_Disable;
FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity =
FSMC_WaitSignalPolarity_Low;
FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable;
FSMC_NORSRAMInitStructure.FSMC_WaitTiming =
FSMC_WaitSignalActive_BeforeWaitState;
FSMC_NORSRAMInitStructure.FSMC_WriteOperation =
FSMC_WriteOperation_Enable;
FSMC_NORSRAMInitStructure.FSMC_WaitSignal =
FSMC_WaitSignal_Disable;
FSMC_NORSRAMInitStructure.FSMC_ExtendedMode =
FSMC_ExtendedMode_Disable ;
FSMC_NORSRAMInitStructure.FSMC_AsyncWait = FSMC_AsyncWait_Disable;
FSMC_NORSRAMInitStructure.FSMC_WriteBurst =
FSMC_WriteBurst_Disable;
FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStructure =
&FSMC_NORSRAMTimingStructure;
FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure);
参照 †