ファームウェア関数一覧

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_AAccess mode A
        FSMC_AccessMode_BAccess mode B
        FSMC_AccessMode_CAccess mode C
        FSMC_AccessMode_DAccess 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_Bank説明
        FSMC_Bank1_NORSRAM1FSMC Bank1 NOR/SRAM1
        FSMC_Bank1_NORSRAM2FSMC Bank1 NOR/SRAM2
        FSMC_Bank1_NORSRAM3FSMC Bank1 NOR/SRAM3
        FSMC_Bank1_NORSRAM4FSMC Bank1 NOR/SRAM4

      • FSMC_DataAddressMux
        アドレスとデータ値がデータバスの上で多重送信されるかどうか指定します。

        FSMC_DataAddressMux説明
        FSMC_DataAddressMux_Disableアドレスとデータ・バスは多重化されません
        FSMC_DataAddressMux_Enableアドレスとデータ・バスはデータ・バスに多重化されます

      • FSMC_MemoryType
        対応するメモリバンクに付けられた外部記憶装置のタイプを指定します。

        FSMC_MemoryType説明
        FSMC_MemoryType_SRAMSRAM 又は ROM メモリ
        FSMC_MemoryType_CRAMCellular RAM メモリ
        FSMC_MemoryType_NORNOR 又は OneNAND メモリ
        FSMC_MemoryType_COSMORAMCOSMO RAM メモリ

      • FSMC_MemoryDataWidth
        外部メモリのデータ幅を指定します。

        #include(): Limit exceeded: Macro/FSMC_MemoryDataWidth

      • FSMC_BurstAccessMode
        同期式Flashメモリでバーストアクセスが可能なメモリの場合、バーストアクセスを有効にするか指定します。

        #include(): Limit exceeded: Macro/FSMC_BurstAccessMode

      • FSMC_WaitSignalPolarity
        Flashメモリがバースト・モードでアクセスしている場合のウェイト信号の極性を指定します。

        #include(): Limit exceeded: Macro/FSMC_WaitSignalPolarity

      • FSMC_WrapMode
        Flashメモリがバースト・モードでアクセスしている場合、ラップド・バースト・アクセス・モードを有効にするか指定します。

        #include(): Limit exceeded: Macro/FSMC_WrapMode

      • FSMC_WaitSignalActive
        バーストモードによるFlashメモリ・アクセスの場合にだけ有効な、ウエイト信号の極性を指定します。

        #include(): Limit exceeded: Macro/FSMC_WaitSignalActive

      • FSMC_WriteOperation
        FSMCによって、指定しているバンクに書き込みが行われるかどうかを指定します。

        #include(): Limit exceeded: Macro/FSMC_WriteOperation

      • FSMC_WaitSignal
        WAITn信号でwiat状態挿入を可能にするか、または無効にします。このパラメタはFlashメモリアクセスがバーストモードの時のみ意味を持ちます。

        #include(): Limit exceeded: Macro/FSMC_WaitSignal

      • FSMC_ExtendedMode
        拡張(Extended)モードを有効にするか、または無効にします。

        #include(): Limit exceeded: Macro/FSMC_ExtendedMode

      • FSMC_AsyncWait
        非同期プロトコルでのwait信号を有効にするか、または無効にします。

        #include(): Limit exceeded: Macro/FSMC_AsyncWait

      • FSMC_WriteBurst
        書き込みバースト命令を有効にするか、または無効にします。

        #include(): Limit exceeded: Macro/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);

参照


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