这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 使用PDL将S25FL512SAGMFI010闪存IC初始化并使用到XIP模式,

共2条 1/1 1 跳转至

使用PDL将S25FL512SAGMFI010闪存IC初始化并使用到XIP模式,无法成功地读取数据是为什么?

工程师
2024-04-08 17:19:02     打赏

我希望使用 PDL 将 S25FL512SAGMFI010 闪存 IC 初始化并使用到 XIP 模式,供 QSPI 在 CY8C6145 MCU 上使用。

我对如何做到这一点的理解是 main 中的这段代码:
        cy_stc_sysint_t smifIntConfig =                {        #if (CY_CPU_CORTEX_M0P)                                NvicMux7_IRQn,                                SMIF_INTERRUPT,        #else                                SMIF_INTERRUPT, // SMIF interrupt number (non M0 core)        #endif                                SMIF_PRIORITY                };                (void) Cy_SysInt_Init( smifIntConfig, SMIF_Interrupt_User);                        __enable_irq();#if (__CORTEX_M == 0)        NVIC_EnableIRQ(NvicMux7_IRQn);#else        NVIC_EnableIRQ(SMIF_INTERRUPT);#endif        /* SMIF initialization */        volatile cy_en_smif_status_t stat;        stat = Cy_SMIF_Init(SMIF0,  smif_0_config, TIMEOUT_1_S,  smifText);        //Cy_SMIF_Enable(SMIF0,  smifText);        Cy_SMIF_MemInit(SMIF0,  smifBlockConfig,  smifText);        //set xip mode        Cy_SMIF_SetMode(SMIF0, CY_SMIF_MEMORY);        Cy_SMIF_Enable(SMIF0, (cy_stc_smif_context_t *) smifText);中断函数的定义完全符合 PDL 文档中的描述,而 SmifText 是全局定义的。

但是有了这个初始化代码,我无法成功地使用这样的代码读取数据:
uint8_t *smif = (uint8_t*)0x18000000;volatile uint8_t temp;smif[1000] = 0xAA;temp = smif[1000];它始终读取 0xFF。

值得注意的是,尽管我没有分析那里有哪些数据,但所有QSPI引脚均输出用于读取和写入。 此外,这是我的示意图:




在这个初始化过程中我遗漏了什么?                 




关键词: QSPI     闪存    

助工
2024-04-08 17:19:26     打赏
2楼

sbsp;        .intrSrc = smif_interrupt_IRQn,         #elif (CY_CPU_CORTEX_M4)                              &nb


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]