先說問題:要想程式在串行的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控制器之類的東西?
我是做軟體的,但是對底層的原理什么的比較感興趣。希望可以和大家交流學習。
uj5u.com熱心網友回復:
沒用過外接的 SPI NORFLASH,坐等。uj5u.com熱心網友回復:
硬體有邏輯電路實作這個功能uj5u.com熱心網友回復:
樓主太牛X了,要好好學習了!uj5u.com熱心網友回復:
有spi驅動的轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/83273.html
標籤:智能硬件
