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引腳上!!!
-
器件
+關注
關注
4文章
294瀏覽量
27715 -
Zynq
+關注
關注
9文章
604瀏覽量
47002
發布評論請先 登錄
相關推薦
評論