ZYNQ芯片是近两年比较流行的片子,双ARM+FPGA,在使用分立FPGA和CPU的场合很容易替代原来的分立器件。

  ZYNQ可以外接QSPI FLASH作为程序的存储介质。

  QSPI和SPI flash是串行接口的NOR FLASH,在设计支持,容量都比较小,所以协议中只留了3Bytes寻址,也就是最大16MB空间。但是随着工艺和技术的提升,现在32MB、64MB,甚至128MB和更大容量的SPI/QSPI flash都出现了。

  

  以32MB为例,当需要访问大于16MB的地址是,新的器件提供了两种方法:

  1. 切换bank,每个bank 16MB,地址扔采用3Byte模式,只能访问此bank,需要访问高地址时,切换到高bank;

  2. 切换到4Btyes地址模式,通过命令,可以把flash从3Bytes传统模式切换到4Bytes新模式

  以上方法都可以实现大于16MB地址的访问,软件可以随便玩。但是,ZYNQ有个设计问题,固化到片子内部的bootrom,“固执”得认为外面接的qpsi flash是16MB的,只能访问这16MB:

  如果cold reset,flash自然会处于BOOTROM认识的状态;

  但是warm reset时,如果之前切换到别的bank或者进入4Bytes模式,就会导致BOOTROM找不到正确的景象,从而启动失败。这是由血泪教训验证出来的。所以软件在主动复位之前,一定要把flash设置为默认的模式;如果系统外接了硬件看门狗,看门狗也reset要一并拉到flash的reset引脚上!!!

  

最新文章

  1. 我为NET狂~群福利:逆天书库
  2. 二、JSP、servlet、SQL三者之间的数据传递(前台与后台数据交互)
  3. .net获取IP和MAC地址
  4. GTD时间管理(3)---项目
  5. 在eclipse中安装插件
  6. Price List
  7. C++ Bit Fields
  8. maven 仓库下载缓慢,怎么解决
  9. Unity3D中关于场景销毁时事件调用顺序的一点记录
  10. TColorPickerButton组件
  11. 追踪神秘的成都Uber:月入2万元是现实还是传说
  12. StringBuffer使用append提示String concatenation as argument to 'StringBuffer.append()' call
  13. B/S(Web)实时通讯解决方案
  14. SQL Server2012数据库的备份和还原
  15. macOs升级到10.13.1Beta || JAVA升级到最新版之后PhpStorm菜单栏问题
  16. js中的路由匹配
  17. Cocos2D iOS之旅:如何写一个敲地鼠游戏(六):放置地鼠
  18. DocX开源WORD操作组件的学习系列一
  19. IconFont --阿里巴巴矢量库
  20. numpy 和tensorflow 中的乘法

热门文章

  1. WPF DataGrid 行选中相关
  2. 记录一次bug解决过程:velocity中获取url中的参数
  3. golang os.OpenFile
  4. 从零开始学 Java - Spring 集成 Memcached 缓存配置(一)
  5. TypeSDK总体设计思路和架构
  6. Maven远程仓库的配置
  7. JavaWeb之XML详解
  8. 改变你代码习惯的ES6
  9. 基于SAP的中国式数据分析浅谈
  10. ip命令和ifconfig命令(转载)