串行Norflash是如何实现XIP的?

ix_lifelyvan 2016-10-20 11:33:32
先说问题:要想程序在串行的Norflash中运行,到底需要做哪些工作?

Norflash和Nandflash想必大家都知道。恕本人才学疏浅,最近突然发现Norflash可以并行连接实现XIP,竟然也可以串行通过SPI连接。然后查了几款flash产品以及自己之前用的(之前用华邦的w25q32fv,一直当nandflash在用,惭愧),结合这些flash在IC设计中的应用,发现很多公司的IC产品(MV300,esp8266等等产品)都是通过串行Norflash实现XIP。

Norflash之所以可以片内执行,就是因为他符合CPU去指令译码执行的要求。CPU送一个地址出来,Norflash就能给一个数据让CPU执行,中间不需要额外的处理操作。而Nandflash不是说不可以实现XIP,Nandflash不一样是因为nandflash有地址,数据,命令共用IO口的问题,cpu把地址发出来之后,并不能直接得到数据,还需要控制线的操作才能完成。就是说他没有专用的SRAM接口,另外还有nandflash与Norflash结构的差异导致nandflash不太适合实现XIP。

那么问题就来了,要想程序在串行的Norflash中运行,到底需要做哪些工作?
以华邦的w25q32fv为例,Dual Read、Quad Read和QPI都可以实现真正的XIP,把数据读出来当然谁都会了,照着Spec上做就好了,关键是这个XIP,想不通是怎么完成的。莫非在硬件连接上需要修改,增加SPI控制器之类的东西?

我是做软件的,但是对底层的原理什么的比较感兴趣。希望可以和大家交流学习。
...全文
2331 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
哆啦没有梦 2020-10-20
  • 打赏
  • 举报
回复
单纯CPU的话需要相应的总线桥芯片支持,Soc的话可能内部已经集成了桥芯片,挂接到PCIE或者AMBA总线上,桥芯片的硬件逻辑已经实现串并转换、总线仲裁、Cache结构、Burst等逻辑。另外Nor flash需要支持XIP模式,与普通读写稍有差异,但还是走SPI或QSPI
  • 打赏
  • 举报
回复
有spi驱动的
进击的芯片 2019-10-17
  • 打赏
  • 举报
回复
硬件有逻辑电路实现这个功能
xuanlin101 2019-10-17
  • 打赏
  • 举报
回复
楼主太牛X了,要好好学习了!
maxwell11 2016-10-20
  • 打赏
  • 举报
回复
没用过外接的 SPI NORFLASH,坐等。

1,635

社区成员

发帖
与我相关
我的任务
社区描述
智能硬件,智能手表,可穿戴设备,智能电视,谷歌眼镜,Google Glass 相关讨论。
社区管理员
  • 智能硬件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧