Nandflash 工厂烧录文件制作步骤
一.使用海思自带工具制作分区镜像.
使用海思烧录文件制作工具把生成的 uboot 和 kernel 使用工具制作,制作镜像工具路径:
Hi3516A_SDK_V1.0.7.0\osdrv\tools\pc\nand_production\nand_production_hitool , 点 击
Hitool 目录下的 eclipsec.ex,打开应用程序(应用需要安装 java)
点击 HiBurn
,
选择要制作分区烧录文件的分区表文件,如下图,如果分区表和文件在同一个文件夹,工具
会自动载入所有文件和分区信息。(也可以不载入分区表,手动一个一个载入文件)
点击制作 nand 烧片器镜像
这时候会弹出选择 nand 类型的对话框,选 nand
在下面对话框中,根据 flash 信息选择(这些信息可以在 uboot 启动时的打印信息中找到)
器件信息填写无误后,点击制作
有些烧录厂家只需要提供海思的分区表和上面生成的所有文件即可。
注意:如果只需要提供分区表以及所有分区文件,提供分区表时,注意 uboot 的分区,要
从 1M 改成 0 到 512K,kernel 还是从 1M 到 4M,后面的分区都不变。
因为 uboot 分区一共占 1M,前 512K 放程序,后 512K 放参数(如果有变化,要看实际代码
中的设置),如果烧录到前 1M,手动修改 uboot 环境变量会把 uboot 程序被擦掉导致 uboot
起不来。
如果工厂需要提供融合好的烧录包,需要继续按照下面步骤操作。烧录包制作方法如下:
二、分区镜像文件制作好之后,用工厂烧录器配套的软件制作烧录包。
1. 烧录软件配置,选择 flash 的 blockmode,可以在 flash 手册上找到(如图红色框)
烧录器配套软件界面如下,Table 和 Data 是融合以后生成的烧录文件,file 列表是需要制作
烧录包的文件(file 列表里的所有文件,都需要用海思工具加了校验信息的包)。下面介绍如
何计算 start block 和 end block
第一行,是 uboot,uboot 在系统中占前 1M,其中 uboot 代码占了前 512K,参数占了后 512K,
所以 uboot 程序烧录的位置是 0 到 512K,此 flash 块大小是 128K,是 block0 到 block3(注
意,块数目从 0 开始)
第二行,kenel,kernel 分区是从 1M 到 4M,大小 3M,4M/128K=0x20,所以 block 从 8 到 0x1f.
后面的是按顺序的分区,计算方法同 uboot
配置好后,点击 merge,把融合生成的 Data_Merge.bin 和 PartionTalbe.bin 发给工厂即可