ZYNQ芯片是近兩年比較流行的片子,雙ARM+FPGA,在使用分立FPGA和CPU的場(chǎng)合很容易替代原來(lái)的分立器件。
ZYNQ可以外接QSPI FLASH作為程序的存儲(chǔ)介質(zhì)。
QSPI和SPI flash是串行接口的NOR FLASH,在設(shè)計(jì)支持,容量都比較小,所以協(xié)議中只留了3Bytes尋址,也就是最大16MB空間。但是隨著工藝和技術(shù)的提升,現(xiàn)在32MB、64MB,甚至128MB和更大容量的SPI/QSPI flash都出現(xiàn)了。
以32MB為例,當(dāng)需要訪問(wèn)大于16MB的地址是,新的器件提供了兩種方法:
1. 切換bank,每個(gè)bank 16MB,地址扔采用3Byte模式,只能訪問(wèn)此bank,需要訪問(wèn)高地址時(shí),切換到高bank;
2. 切換到4Btyes地址模式,通過(guò)命令,可以把flash從3Bytes傳統(tǒng)模式切換到4Bytes新模式
以上方法都可以實(shí)現(xiàn)大于16MB地址的訪問(wèn),軟件可以隨便玩。但是,ZYNQ有個(gè)設(shè)計(jì)問(wèn)題,固化到片子內(nèi)部的bootrom,“固執(zhí)”得認(rèn)為外面接的qpsi flash是16MB的,只能訪問(wèn)這16MB:
如果cold reset,flash自然會(huì)處于BOOTROM認(rèn)識(shí)的狀態(tài);
但是warm reset時(shí),如果之前切換到別的bank或者進(jìn)入4Bytes模式,就會(huì)導(dǎo)致BOOTROM找不到正確的景象,從而啟動(dòng)失敗。這是由血淚教訓(xùn)驗(yàn)證出來(lái)的。所以軟件在主動(dòng)復(fù)位之前,一定要把flash設(shè)置為默認(rèn)的模式;如果系統(tǒng)外接了硬件看門(mén)狗,看門(mén)狗也reset要一并拉到flash的reset引腳上!!!
-
器件
+關(guān)注
關(guān)注
4文章
310瀏覽量
27834 -
Zynq
+關(guān)注
關(guān)注
10文章
609瀏覽量
47182
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論