电子产业一站式赋能平台

PCB联盟网

搜索
查看: 181|回复: 0
收起左侧

串行Flash Continuous read使能后软复位启动问题解决方案之SW Reset

[复制链接]

355

主题

360

帖子

2831

积分

三级会员

Rank: 3Rank: 3

积分
2831
发表于 2021-5-26 21:00:00 | 显示全部楼层 |阅读模式
大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是i.MXRT上使能NOR Flash的Continuous read模式在软复位后无法正常启动问题的解决经验
3 [4 C0 r8 K, Q$ ~& {0 O2 [先回顾上篇 《串行NOR Flash的Continuous read模式下软复位后i.MXRT无法启动问题解决方案之RESET#》,利用RESET#引脚复位功能是痞子衡找到的第一种解决方案,今天痞子衡继续给大家介绍第二种解决方案。/ i" l  Y1 H: v
  • 本系列会有多篇文章,每篇文章均从一个核心切入点出发,给出一系列具体实现方案。
  • 本系列均以MIMXRT1170-EVK板为示例目标对象,板载Flash型号为芯成IS25WP128(其他i.MXRT芯片和Flash型号下实现流程也差不多,需查看对应数据手册)。一、解决思路我们知道无法启动问题是由于主芯片发生软复位但Flash仍处于Continuous read模式造成的,要解决这个问题无非如下三个角度,痞子衡会在后面具体实现方案里按这些角度全部搞一次(如果适用的话)。% p) M4 C+ p+ V- ?! h" H6 g1 O1 q4 E
  • 一、ROM方面不做任何相关处理,但App在调用NVIC_SystemReset()做复位前将Flash先切回到Normal模式;
  • 二、App方面不做任何相关处理,对BootROM相关配置做一些调整,让BootROM也能正常处理处于Continuous read模式的Flash;
  • 三、ROM和App联合对Flash模式切换做一些特殊处理。二、核心切入点(借助Flash的软复位命令功能)本文找的核心切入点是利用Flash的软件复位命令。Flash的软件复位时序有两种:一种是JEDEC标准规定的(严格来说其实算硬件复位,但因为其需CS#,SCK,IO0三根信号线配合完成,因此痞子衡将其归为软件复位时序类);另一种是厂商定义的软件复位命令(因为SOIC-8封装的Flash没有独立RESET#引脚,因此厂商增加这个软复位命令来代替缺失的独立RESET#引脚功能)。) I- a5 J" u& i" p2 I
    2.1 JEDEC标准复位时序JEDEC协会规定了一种Flash复位时序,需要CS#,SCK,IO0三根信号线配合完成,时序如下,保持SCK电平不变(高/低均可),拉四次CS#信号,通过SI信号线输出4'b0101(在CS#上升沿采样),则Flash会进入复位状态。' V6 y5 M) o  B) W0 b9 M% l1 ~4 a6 G
    JEDEC标准复位功能并不是所有Flash都集成的,华邦、芯成主流Flash型号均不支持JEDEC标准复位,痞子衡知道的Adesto ATXP032系列Flash里有JEDEC标准复位。
  • 回复

    使用道具 举报

    发表回复

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则


    联系客服 关注微信 下载APP 返回顶部 返回列表