xilinx的quick boot(1) ——flash,quick boot配置文件,以及中间的一些联系
xilinx 配置模式分为SPI,BPI。用过的spi外挂flash是N25Q。
/////////////spi flash N25Q //////////////////////////////////////////////////
flash分为区(block),扇区(sector),子扇区(subsector),页(page)。
flash的烧写编程需要两个步骤:1、擦除:将所有值变为1 (ffffffff) 2、烧写:写入0值
擦除可以是区擦除,扇区擦除,子扇区擦除。 擦除最小的单位是子扇区。
对于N25Q,扇区 64kbyte, 每个扇区分为16个子扇区,每个子扇区4kbyte,每个子扇区分为16页。每页256byte
flash地址以byte为单位递增。
flash的地址128Mb以下为24位,128Mb以上为32位。
/////////////quick boot initial配置文件组成 //////////////////////////////////////
quick boot的配置文件由以下部分组成:
1、header:关键跳转字 + 热启动序列
2、golden bitstream
3、update bitstream
关键跳转字: 占用一整个subsector(4KB),关键跳转字为最后32bit
热启动序列: 接着关键跳转字后下一个subsector
golden bitstream:接着热启动序列,共享subsector。若golden bitstream不能填满整个subsector,则用fffffffff填满
update bitstream:单独占用subsector。
这样区域划分的原因是在使用quicboot做远程更新时,需要对关键跳转字和update部分做擦除和烧写操作,而热启动序列和golden bitstream必须保持不变。
//////////生成的quick bott配置文件 //////////////////////////////////////
1、用约束可以设置 update bitsteam的偏移地址。 如 X"00200000" X"00400000" 分别对应的是2MB,4MB.此处2MB,4MB设置标准是能够存放下 header和golden数据
2、生成的inital文件在每个扇区(64Kbyte)开始会标注出地址偏移量,单位page。 如: :020000040000FA ---- 020000040001F9 偏移页地址 256
3、每个扇区内的数据都是重新从0开始偏移