1274814_ja-JP

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

1274814_ja-JP

1274814_ja-JP

RT1170はQSPIフラッシュ(MX25L51245G)をサポートしています

こんにちは、

RT1170はQSPIフラッシュのMX25L51245Gをサポートしていますか?

このチップに対応するために、設定ファイル「evkmimxrt1170_flexspi_nor_config.c」を変更する必要がありますか?

もしSOなら、どうやって修正すればいいのでしょうか?どのパラメータを変更すべきでしょうか?


ごサポートありがとうございます!

よろしくお願いいたします。

世界ジュニア会議

Re: RT1170 support QSPI Flash (MX25L51245G )
こんにちは、 @jeremyzhou

弊社では、MX25L51245G外部フラッシュメモリとRT1176を使用しており、以下の構成を実装しています。XIPモードでは問題なく動作しますが、念のため貴社からも確認をいただきたいです。
しかし、「リンクアプリケーションモード」でマルチコアアプリケーションを実行すると、システムはハードフォールトに遭遇します。具体的には、FlexCAN MCRレジスタから読み取った値によってアサートがトリガーされます。
参考までに、スクリーンショットとルックアップテーブルを以下に添付します。

M7フラッシュ初期化(RAM):
mehmetkaradag_1-1791273164987.png

M4フラッシュ初期化(RAM):

mehmetkaradag_2-1791273236945.png

マルチコア(RAM)のハードフォルト:

mehmetkaradag_0-1791273020503.png


こちらはRAMモードとXIP(Execute-in-Place)モードの両方でシームレスに動作するソフトウェアをサポートするために設計されたルックアップテーブルの構成です:
 


#define FLASH_DUMMY_CYCLES 0x08

const flexspi_nor_config_t qspiflash_config = {

.memConfig =

{

.tag = FLEXSPI_CFG_BLK_TAG 、

.version = FLEXSPI_CFG_BLK_VERSION、

.readSampleClksrc= kFlexSPIReadSampleClk_LoopbackFromDqsPad 、

.csHoldTime = 3u、

.csSetupTime = 3u、

.controllerMiscOption = 0x10、

.deviceType = kFlexSpiDeviceType_SerialNOR 、

.sflashPadType = kSerialFlash_4Pads、

.serialClkFreq = kFlexSpiSerialClk_133MHz , //オクマハタシオルルサkFlexSpiSerialClk_120MHz

.sflashA1Size = 64u * 1024u * 1024u, //64MB


//彼女のアシリスタQE = 1. ROM 1 回 WREN'i ( seq 3) kendisi gonderir 、 sonra 4*12' yi 0x40 ile calistirr 。

//NXP RT1170 EVK'daki configCmd kalibin aynisi

.configCmdEnable = 1u、

.configModeType[0] = kDeviceConfigCmdType_Generic、

.configCmdSeqs[0] = {.seqNum = 1u, .seqId = 12u, .reserved = 0u}, //1 taneシーケンスcalistir : 4*12

// asagiyi 0x20ヤピンカカリスマディドグルダンメモリハタシンダパトラディメインエゲルメデン

.configCmdArgs[0] = 0x40u, //WRITE_SDR'nin gonderecegi byte: SR = 0x40


.lookupTable =

{

[0] = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0x6C, RADDR_SDR, FLEXSPI_1PAD, 0x20), //6Ch QREAD4B: komut ve 4 byte adres tek hattan (1-1-4)

[1] = FLEXSPI_LUT_SEQ(DUMMY_SDR, FLEXSPI_4PAD, FLASH_DUMMY_CYCLES, READ_SDR, FLEXSPI_4PAD, 0x04), //8 ダミーベール、データ 4ハットン


[4 * 1 + 0] = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0x05, READ_SDR, FLEXSPI_1PAD, 0x04), //ステータスregini 0x05'den okuyacam (WIP = bit0)


[4 * 3 + 0] = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0x06, STOP, FLEXSPI_1PAD, 0x0), //書き込み完了


//アサギダキニヨルマアリンカゲルツェクテンシルメディ

[4 * 5 + 0] = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0x21, RADDR_SDR, FLEXSPI_1PAD, 0x20), //4 バイトアドレスalarak 4 kbセクターsilecem


[4 * 8 + 0] = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0xDC, RADDR_SDR, FLEXSPI_1PAD, 0x20)、 //64 kbブロック サイセム(アプリ デkullanmiyoruz )


[4 * 9 + 0] = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0x12, RADDR_SDR, FLEXSPI_1PAD, 0x20), //4バイト1ページyazacam

[4 * 9 + 1] = FLEXSPI_LUT_SEQ(WRITE_SDR, FLEXSPI_1PAD, 0x04, STOP, FLEXSPI_1PAD, 0x0), // datayi gonder ve bitir (WEL'i フラッシュ プログラム ビットインスkendisi temizler )


[4 * 11 + 0] = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0xC7, STOP, FLEXSPI_1PAD, 0x0), // tum flashi silecem (app'de kullanmiyoruz )


[4 * 12 + 0] = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0x01, WRITE_SDR, FLEXSPI_1PAD, 0x01), //WRSR + tam 1 バイト (configCmdArgs[0]): sacece SR yazilir , CR'ye dokunmaz

// seq 6/7 bos : ROM API サスペンド/レジュームkullanmiyor

}、

}、

.pageSize = 256u、

.sectorSize = 4u * 1024u、

.ipcmdSerialClkFreq = 0x1、

.blockSize = 64u * 1024u、

.isUniformBlockSize = true、

};

Re: RT1170 support QSPI Flash (MX25L51245G )

こんにちは、
NXP Semiconductors製品へのご関心と、皆様にお仕えできる機会をいただき、ありがとうございます。
1) RT1170はQSPIフラッシュのMX25L51245Gをサポートしていますか?
――はい。
2) このチップに合わせて設定ファイル「evkmimxrt1170_flexspi_nor_config.c」を変更する必要がありますか?
はい、下記のコードをご参照ください。

const flexspi_nor_config_t qspiflash_config = {
    .memConfig =
        {
            .tag              = FLEXSPI_CFG_BLK_TAG,
            .version          = FLEXSPI_CFG_BLK_VERSION,
            .readSampleClksrc=kFlexSPIReadSampleClk_LoopbackFromDqsPad,
            .csHoldTime       = 3u,
            .csSetupTime      = 3u,
            // Enable DDR mode, Wordaddassable, Safe configuration, Differential clock
            .sflashPadType = kSerialFlash_4Pads,
            .serialClkFreq = kFlexSpiSerialClk_100MHz,
            .sflashA1Size  = 64u * 1024u * 1024u,
            .lookupTable =
                {
                    // Read LUTs
                    FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0xEB, RADDR_SDR, FLEXSPI_4PAD, 0x20),
                    FLEXSPI_LUT_SEQ(DUMMY_SDR, FLEXSPI_4PAD, 0x06, READ_SDR, FLEXSPI_4PAD, 0x04),
                },
        },
    .pageSize           = 256u,
    .sectorSize         = 4u * 1024u,
    .blockSize          = 256u * 1024u,
    .isUniformBlockSize = false,
};


良い一日をお過ごしください。
TIC

-------------------------------------------------------------------------------
注記:
この投稿があなたの質問への回答になっている場合は、「正解としてマーク」ボタンをクリックしてください。ありがとう!


- 前回の投稿から7週間Threadをフォローしており、その後の返信は無視しています
もし後で関連する質問があれば、新しいThreadを開き、閉じたThreadを参照してください。
-------------------------------------------------------------------------------

タグ(1)
評価なし
バージョン履歴
最終更新日:
昨日
更新者: