织梦CMS - 轻松建站从此开始!

罗索

DM355 NAND Partitions

jackyhwei 发布于 2011-08-10 10:26 点击:次 
DM355 EVM supports Big Block NAND up to 2GB, both MLC and SLC technologies.
TAG:

DM355 EVM supports Big Block NAND up to 2GB, both MLC and SLC technologies.

The production boards have 2GB SLC NAND chip - MT29F16G08FAA, with a block size of 128KB. The 2GB MLC NAND chip - MT29F16G08QAA, has a block size of 256KB. Both the NAND chips have a page size of 2K.

There are two chip selects required to program the NAND space (1GB each), thus the NAND driver in U-Boot and Kernel treat the NAND chip as two NAND devices.

A bad block table is maintained by the U-Boot, in the last two blocks of each NAND device (for each 1GB space). When U-Boot comes up for the first time on a new NAND device, it scans through the NAND space to identify bad blocks and creates the bad block table. This bad block table is consulted by both U-Boot and Kernel on any writes to the NAND space.

The Initial 16 blocks are allocated for the bootloader components - UBL, U-Boot and Environment space.

Block 1 through 7  : UBL descriptor and UBL

Block 8 through 9  : U-Boot descriptor

Block 10 through 14 : U-Boot

Block 15  : U-boot Environment variables

Note that extra blocks are allocated for the UBL and U-Boot to make sure there is at least one good block available for the corresponding descriptor and binary.


The U-Boot allows the user to upgrade itself into a new version. Based on the bootloader partition table above, U-Boot starts at the 10th block. So for SLC chips you should be using 0x140000 and for MLC chips you should be using 0x280000 as offsets during U-Boot upgrade from U-Boot.

For 2GB SLC NAND chip (MT29F16G08FAA):

tftp 0x80700000 u-boot-1.2.0-dm355_evm.bin

nand erase 0x140000 0x20000

nand write 0x80700000 0x140000 0x20000

For 2GB MLC NAND chip (MT29F16G08QAA):

tftp 0x80700000 u-boot-1.2.0-dm355_evm.bin

nand erase 0x280000 0x20000

nand write 0x80700000 0x280000 0x20000


The Kernel image can be loaded starting Block 16, which is at offset 0x200000 for SLC NAND chip and 0x400000 for MLC NAND chip. To avoid confusion, I recommend using 0x400000 for both the chips. 4MB space is allocated for the Kernel. The Kernel also creates MTD partitions for NAND flash components:

"bootloader": block 0 - block 14

"params": block 15

"kernel": 4MB starting block 16

"filesystem1": 512MB for the reduced filesystem (busybox based)

"filesystem2": Remaining ~1.45GB, could be used for the MV target filesystem

The "filesystem1" partition has been created to use a reduced filesystem. There is a known issue with YAFFS2 mount time. If a single filesystem with complete MV target filesystem, on each reboot it could take up to 15 mins to complete the mount process.

(ken_yjj)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www.rosoo.net/a/201108/14827.html]
本文出处:blog.csdn.net/ken_yjj 作者:ken_yjj
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容