Re: [問題] 美光FLASH的Block Address 該怎麼設定?
※ 引述《stonys (蝶戀影)》之銘言:
: 各位先進好
: 最近小弟在練習FPGA的記憶體控制
: 使用的是Nexys3這塊開發板
: 這塊開發板使用的FLASH是美光的NP8P128A13T1760E
: 目前對於讀/寫 都沒什麼問題
: 可是想要做Erase的時候
: DataSheet上的說明是要將地址餵入Block Address
: 可是我測了老半天,就是找不到Block Address該怎麼餵才好
: 不知道是否有人可以協助回答。謝謝!
: https://i.imgur.com/1aCO4GH.jpg
![](https://i.imgur.com/1aCO4GH.jpg)
:另外,這個FLASH有支援BIT-ALTERABLE PROGRAM
:看說明是說不需要ERASE就可以直接PROGRAM
:不過同樣的CODE,下PROGRAM指令(40h)可以成功
:下BIT-ALTERABLE PROGRAM(42h),卻無法不ERASE就直接PROGRAM
:不知道能否向您請教這兩個問題?
:還望不吝指導。謝謝!
依多年前做paralle flash的經驗:
Q1.Block addres: parallel flash有分top boot或是bottom boot,請參考 1.3
Memory map。舉例來說,在top boot block0~126是64KW, block127~130則是16KW
那四塊16KW就是 boot block;右邊就是對應到的block address
為(logical非physical)。
這顆128Mbit是由 1Mbit x 127 + 256bit x 4所組成的。
Top boot
Block 0 : 000000~00FFFF(1Mb)
Block 1 : 010000~01FFFF
Block 2 : 020000~02FFFF
.....
Block 15: 0F0000~0FFFFF
.....
.....
Block126: 7E0000~7EFFFF (1Mb)
Block127: 7F0000~7F3FFF (256 bit)
......
Block130: 7FC000~7FFFFF
如果是Bottom boot就是反過來~你下Block Erase要注意是top boot還是bottom boot
否則會給錯block address。
注意,
1.SPI只有sector erase,沒有 block erse,希望你沒用錯
2.在做erase或是progrm之前,確認該block是unlock或是unprotect,如果是被locked
或是protected,那這些指令就無法執行。
Q2.erase就是把0變成1, program就是把1變成0(如果你要program'1'是沒辦法的。)。
這個BIT-ALTERABLE PROGRAM可以不需要先做block erase就可以把1變成0,而且
從表12來看,他可以讓user把輸入的資料做為遮罩(mask)使用。
你在使用這個指令時,原先寫入的資料是什麼?
它的附錄有一些application note~~可以參考看看
以上
--
在臺灣,何謂R&D工程師?
1.Reverse and Decap :IC反向工程,去膠,打開封裝,拍照,複製電路佈局。
2.Resign and Die :沒死的就操到辭職,沒辭職的就操到死。
3.Rework and Debug :計畫永遠跟不上變化,變化永遠跟不上老闆的一句話!
4.Relax and Delay :太過於輕鬆(Relax),那麼就要有schedule delay的準備!
但是外派到大陸的臺灣郎,晚上是R (鴨)陪客戶,白天是D (豬)任人宰割!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.177.15.128
※ 文章網址: https://www.ptt.cc/bbs/Electronics/M.1521564726.A.258.html
推
03/22 16:28,
6年前
, 1F
03/22 16:28, 1F
推
03/26 00:38,
6年前
, 2F
03/26 00:38, 2F
討論串 (同標題文章)