TI中文支持网
TI专业的中文技术问题搜集分享网站

在线升级FLASH写数据时人为掉电

我在做在线升级的任务,再升级的过程中(此时FLASH区域已擦除,正在向某个flash块写数据),此时我断掉系统的供电。FLASH会发生什么状况。我现在遇到的情况是就不可以在线升级了。

Shine:

请问用的是哪款器件?

Ryan BL:

看flash的供电方式(独立供电还是和控制CPU共电)和flash的掉电瞬间状态以及你的具体flash类型,同时要结合CPU复位后的对其操作。
一般flash手册上会有装个状态机的描述的。

以常见的nor flash为例:
一个完整的访问顺序后flash默认会切换到read模式,常见的nor flash向其RD 地址写RD命令(一般是0xf0则强制将flash切换为read模式);
其他的操作模式下或错误的命令序列可能导致flash进入异常模式或返回read模式,需要看手册怎么描述的,一般严重的错误/歧义会进入异常,一般的错误会使其返回至READ模式;

当然也有一种比较少见的异常,正如你描述的那样:想象一个program阶段的最后一个阶段-向编程地址写数据的时序即将发生前CPU掉电而flash单独供电,CPU复位后亦未对flash进行复位,更巧的是CPU对其第一个操作恰好为写且距离复位前的预期写操作位超时。这样,极大的概览导致实际flash被编程的数据不是预期数据。
当然,这只是可能,仅次而已。

赞(0)
未经允许不得转载:TI中文支持网 » 在线升级FLASH写数据时人为掉电
分享到: 更多 (0)