作者jfsu (水精灵)
标题Re: [问题] 美光FLASH的Block Address 该怎麽设定?
时间Wed Mar 21 00:52:01 2018
※ 引述《stonys (蝶恋影)》之铭言:
: 各位先进好
: 最近小弟在练习FPGA的记忆体控制
: 使用的是Nexys3这块开发板
: 这块开发板使用的FLASH是美光的NP8P128A13T1760E
: 目前对於读/写 都没什麽问题
: 可是想要做Erase的时候
: DataSheet上的说明是要将地址喂入Block Address
: 可是我测了老半天,就是找不到Block Address该怎麽喂才好
: 不知道是否有人可以协助回答。谢谢!
: 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://webptt.com/cn.aspx?n=bbs/Electronics/M.1521564726.A.258.html
1F:推 furio: 推分享 03/22 16:28
2F:推 chen20: 水精灵推 03/26 00:38