写入闪存是IO映射,而从闪存读取是内存映射...可能是原因

时间:2012-05-29 06:59:07

标签: embedded bootloader spi flash-memory

我正在使用Broadcom CFE(通用框架环境)引导加载程序...... SOC来自Broadcom ......并使用串行NOR闪存 N25Q032 作为引导程序设备。要从闪存读取它正在使用存储器映射技术,而写入它是使用SPI接口(IO映射)。

这种设计背后的原因似乎是:

  1. IO映射读/写是阻塞调用,因此在读取以保持CPU空闲时,它是使用内存映射实现的。

  2. 它没有实现检查...现在RAM中的映射区域被修改,因此相应地更改闪存(意味着无法实现内存映射写入)及其相对易于使用的SPI接口( IO映射)实现写flash。

  3. ....请解释这种设计背后的原因是什么......

1 个答案:

答案 0 :(得分:1)

根据定义,串行存储器本身不能进行存储器映射。在这种情况下,我想(没有查看数据表)NOR闪存控制器将数据读入微控制器中的专用存储器映射页面,因此它将串行读取到随机存取存储器中。

写入时,数据已经在随机存取存储器中,NOR闪存控制器将其直接串行化到存储设备。将它从一个内存映射区域复制到另一个内存映射区域然后将其序列化是没有意义的。