问题分析:
为了将IPRAN平台的APP烧录到nandflash,需要解决如下问题:
- linux内核启动后,挂载nandflash设备时,采用的ubi的文件系统。所以,烧录到nandflash的必须是一个ubi格式的文件系统。
- 挂载后的nandflash,有home和data两个卷,所有,烧录的ubi格式的文件系统必须已经包含home和data两个卷(以下方式不适用与创建两个或者多个分区的情况)。
- Nandflash不像norflash可以字节编程,nandflash是块设备且在生产和使用过程中会产生坏块,nandflash通过ECC校验解决该问题,校验信息存在OOB数据区。这就需要在制作烧录文件时,追加这部分信息。
为了解决上述3个问题,按如下步骤逐步解决以上问题:
1、创建工作目录,目录结构如下:
/home
/bin
/data
/dat
/ver
将IPRAN平台APP解压到 /hom/bin 目录下。
2、将IPRAN平台APP制作成可烧录到nandflash的ubi格式的文件系统镜像。/home 目录制作成 home.img,大小为80M,/data 目录制作成 data.img,大小为160M。命令如下:
mkfs.ubifs -r ./bin/home -m 2048 -e 126976 -c 640 -o home.img
mkfs.ubifs -r ./bin/data -m 2048 -e 126976 -c 1280 -o data.img
选项说明:
-r:创建文件系统镜像的原目录;
-m:最小I/O单元,即NAND FLASH一个page的大小;
-e:逻辑擦除块大小,即leb-size;
-c:最大逻辑擦除块的;
-o:输出文件名称;
3、制作成ubi格式的文件系统可烧录程序
ubinize -o ubifs -m 2048 -p 128KiB -s 2048 -O 2048 ubi.cfg
选项说明:
-o:输出文件名称;
-m&#x