你的位置:首页 > 技术支持 > 技术文档

HiSilicon(海思)平台的SPI-NAND烧录解决方案

2019-7-17 16:49:28      点击:

编程器:        硕飞SP32系列编程器(包括SP325/SP328/SP328P)
编程器软件:  SP32SW
工具软件:     MultiFile Config点此下载

方案平台:    HiSilicon(海思)主控+ Linux + SPI-NAND
ECC Type:   软件ECC或者CPU硬件ECC(即不使用SPI-NAND的片内ECC功能)
其他:            Linux,分区模式

一. 准备烧录镜像文件
通过SDK编译的镜像文件不可直接用于编程器,需要使用海思官方工具HiTool/HiBurn转换成烧录镜像文件.转换后的镜像文件后缀通常为”.burn”.
 

镜像转换注意事项:
  所有镜像文件以及相关参数(例如:分区的器件类型,开始地址,文件系统)请预先使用HiBurn的网口或串口烧录方式验证无误后再进行镜像转换.
  ECC Type必须与SDK代码中的一致
  OOB Size必须与芯片的Spare Area Size一致
  Block Size目前均为128KB

以上所有设置都必须准确无误,否则烧录的芯片将不能正常工作,关于制作烧录镜像文件的更详细信息请查看海思相关技术文档或咨询厂商技术人员.

二. 使用MultiFile Config工具创建配置文件和分区表

1. 新建配置
点击此按钮后将弹出文件对话框,建议将配置文件和烧录镜像文件保存在同一目录.
其后的配置类型对话框中选择:NAND Flash Multiply Partition Files

2. 设置Page Size / Spare Size和Total Block of device
Page Size: SPI-NAND的页大小(不含Spare Area),此处固定为2KB
Spare Area(OOB):指定文件中是否包含有Spare Area(OOB)的数据(对于HiSilicon方案一般为ECC验证码,所以此处需要设置64B或128B,即芯片的Spare Area Size).
Total Block of device: SPI-NAND芯片的总块数,仅用于检查相关设置是否合法.

3. 增加文件
将烧录镜像文件加入到列表中;可以一次选择多个镜像文件.

4. 设置镜像文件对应的Block Offset(起始块号)
如果在步骤3中只选择了一个文件,将自动弹出设置对话框;如果选中的是多个文件,其后用鼠标在列表中双击要修改的文件行,弹出设置对话框进行修改.
根据HiTool/HiBurn中的”开始地址”计数: Block Offset =开始地址/ 128KB

5. 保存配置
***软件会自动检查相关设置是否合法,并根据Block Offset对文件进行排序.

6. 创建分分区表
软件根据文件设置参数自动创建分区表文件,用于烧录器软件(SP32SW)导入.
分区的开始块(Start Block)即此处的Block Offset;
分区的Used Blocks由镜像文件大小确定;
分区的结束块(Last Block)会自动计算.

三. 烧录SPI-NAND
1. 启动硕飞烧录器软件SP32SW
点击”芯片型号”按钮,选择SPI-NAND芯片型号

2. 加载烧录数据(烧录镜像文件)
选择MultiFile Config创建的配置文件(后缀为.ini),软件将按照设置参数自动逐一加载所有分区镜像文件.如下图
 

3. 项目设置<参考下图>

4. 开启SPI NAND Flash选项,按下图所示设置

    说明:
       Spare Area Usage设置为User Data(xx bytes),即将缓冲区的数据(来自镜像文件)烧录到芯片的Spare区域. 在使用HiTool/HiBurn转换烧录镜像文件时, OOB Size应与此参数一致.
       此处导入的分区表由MultiFileConfig自动创建,相关参数根据镜像文件自动计算,请注意核对所有分区的参数是否准确.
       Nand Flash Options的其他设置选项请参考帮助文档(点击对话框左下角的Help按钮开启).

5.  烧录
在”项目运行”页,点击按钮”自动单次”或者”自动批量”开始烧录