資源簡(jiǎn)介
RT1052 W25Q256 QSPI 擦寫(xiě)編程源碼。 內(nèi)含sct分散加載文件,當(dāng)使用QSPI啟動(dòng)后,通過(guò)該分散加載文件把程序盡量全部搬到TCM運(yùn)行,使用該例程可以編程QSPI FLASH,實(shí)現(xiàn)固件的在線升級(jí)。

代碼片段和文件信息
#include?“qspi.h“
#include?“l(fā)puart.h“
#include?“trng.h“
#include?
#include?“system.h“
/*******************************************************************************
*?Prototypes
******************************************************************************/
#define?ERASE_SECTORS 20
/*******************************************************************************
?*?Variables
?******************************************************************************/
extern?const?uint32_t?customLUT[CUSTOM_LUT_LENGTH];
//static?uint8_t?s_nor_program_buffer[FLASH_PAGE_SIZE];
//static?uint8_t?s_nor_read_buffer[FLASH_PAGE_SIZE];
/*******************************************************************************
?*?Code
?******************************************************************************/
flexspi_device_config_t?deviceconfig?=?{
????.flexspiRootClk?=?120000000
????.flashSize?=?FLASH_SIZE
????.CSIntervalUnit?=?kFLEXSPI_CsIntervalUnit1SckCycle
????.CSInterval?=?2
????.CSHoldTime?=?3
????.CSSetupTime?=?3
????.dataValidTime?=?0
????.columnspace?=?0
????.enableWordAddress?=?0
????.AWRSeqIndex?=?0
????.AWRSeqNumber?=?0
????.ARDSeqIndex?=?NOR_CMD_LUT_SEQ_IDX_READ_FAST_QUAD
????.ARDSeqNumber?=?1
????.AHBWriteWaitUnit?=?kFLEXSPI_AhbWriteWaitUnit2AhbCycle
????.AHBWriteWaitInterval?=?0
};
const?uint32_t?customLUT[CUSTOM_LUT_LENGTH]?=?{
/*?Normal?read?mode?-SDR?*/
????????[4?*?NOR_CMD_LUT_SEQ_IDX_READ_NORMAL]?=
????????????FLEXSPI_LUT_SEQ(kFLEXSPI_Command_SDR?kFLEXSPI_1PAD?0x03?kFLEXSPI_Command_RADDR_SDR?kFLEXSPI_1PAD?0x18)
????????[4?*?NOR_CMD_LUT_SEQ_IDX_READ_NORMAL?+?1]?=
????????????FLEXSPI_LUT_SEQ(kFLEXSPI_Command_READ_SDR?kFLEXSPI_1PAD?0x04?kFLEXSPI_Command_STOP?kFLEXSPI_1PAD?0)
????????/*?Fast?read?mode?-?SDR?*/
????????[4?*?NOR_CMD_LUT_SEQ_IDX_READ_FAST]?=
????????????FLEXSPI_LUT_SEQ(kFLEXSPI_Command_SDR?kFLEXSPI_1PAD?0x0B?kFLEXSPI_Command_RADDR_SDR?kFLEXSPI_1PAD?0x18)
????????[4?*?NOR_CMD_LUT_SEQ_IDX_READ_FAST?+?1]?=?FLEXSPI_LUT_SEQ(
????????????kFLEXSPI_Command_DUMMY_SDR?kFLEXSPI_1PAD?0x08?kFLEXSPI_Command_READ_SDR?kFLEXSPI_1PAD?0x04)
????????/*?Fast?read?quad?mode?-?SDR?*/
????????[4?*?NOR_CMD_LUT_SEQ_IDX_READ_FAST_QUAD]?=
????????????FLEXSPI_LUT_SEQ(kFLEXSPI_Command_SDR?kFLEXSPI_1PAD?0x6B?kFLEXSPI_Command_RADDR_SDR?kFLEXSPI_1PAD?0x18)
????????[4?*?NOR_CMD_LUT_SEQ_IDX_READ_FAST_QUAD?+?1]?=?FLEXSPI_LUT_SEQ(
????????????kFLEXSPI_Command_DUMMY_SDR?kFLEXSPI_4PAD?0x08?kFLEXSPI_Command_READ_SDR?kFLEXSPI_4PAD?0x04)
????????/*?Read?extend?parameters?*/
????????[4?*?NOR_CMD_LUT_SEQ_IDX_READ_EA_STATUS]?=
????????????FLEXSPI_LUT_SEQ(kFLEXSPI_Command_SDR?kFLEXSPI_1PAD?0xC8?kFLEXSPI_Command_READ_SDR?kFLEXSPI_1PAD?0x04)
????????/*?Write?Enable?*/
????????[4?*?NOR_CMD_LUT_SEQ_IDX_WRITEENABLE]?=
????????????FLEXSPI_LUT_SEQ(kFLEXSPI_Command_SDR?kFLEXSPI_1PAD?0x06?kFLEXSPI_Command_STOP?kFLEXSPI_1PAD?0)
????????/*?Erase?Secto
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-04-01?14:28??qspi\
?????文件????????5304??2018-03-30?23:18??qspi\MIMXRT1052xxxxx_flexspi_nor_A.scf
?????文件???????30202??2018-03-30?22:28??qspi\qspi.c
?????文件????????1832??2018-03-30?17:30??qspi\qspi.h
評(píng)論
共有 條評(píng)論