您好,我在使用IWR6843的QSPI的时候发现,内存映射功能并不能随意的将Flash空间中的1数据变为0(在正确配置写指令寄存器的情况下),经过我对Flash手册的研究之后发现,写指令PP每次执行之前都需要执行WREN指令才能写入数据,通过SPI_CORE发出WREN后,再使用SFI写入数据,这样确实是可以写入由1变0的数据了,在内存映射空间也可以看见修改了,但我发现这样的写操作无法对64位以上的数据进行修改,如果我一次性在内存映射空间内修改一大部分数据,那么这部分只会在当中有63bit的数据被修改(由FFFF_FFFF FFFF_FFFF变为0000_0000 0000_0001),其余的数据不会变化。并且每次一修改完便需要重新通过SPI_CORE发出WREN指令才能再次在内存映射模式下对Flash进行写入。
我的问题:
1、这个QSPI的内存映射模式SFI是只能一次性修改63bit以下的数据吗?
2、通过内存映射模式,写数据是否只能采用,切换QSPI_CORE写WREN --> 切换SFI写数据 --> 切换QSPI_CORE写WREN --> 切换SFI写数据......这种不断切换循环的模式,是否有我未发现的更便捷的方法?