Nand分区及nand erase简解
我的nand flash 32M,kernel 2.6.18, rootfs is emb linux , cramfs.
nand flash分区如下:
static struct mtd_partition nand_partitions[] = {
/* bootloader (UBL, U-Boot, BBT) in sectors: 0 - 14 */
{
.name = "bootloader",
.offset = 0,
.size = 32 * NAND_BLOCK_SIZE, //32x16 = 512k
.mask_flags = MTD_WRITEABLE, /* force read-only */
},
/* bootloader params in the next sector 15 */
{
.name = "params",
.offset = MTDPART_OFS_APPEND,
.size = 96 * NAND_BLOCK_SIZE, //96x16 = 1536k = 1.5M
.mask_flags = MTD_WRITEABLE, /* force read-only */
},
/* kernel in sectors: 16 */
{
.name = "kernel",
.offset = MTDPART_OFS_APPEND,
.size = SZ_2M, //2M
.mask_flags = 0
},
/* rootfs */
{
.name = "filesystem1",
.offset = MTDPART_OFS_APPEND,
.size = SZ_16M + SZ_8M, //24M
.mask_flags = 0
},
/*parameter*/
{
.name = "filesystem2",
.offset = MTDPART_OFS_APPEND,
.size = MTDPART_SIZ_FULL, //4M, /mnt/nand, save log,sysenv,
.mask_flags = 0
}
};
// 系统 启动后
# cat /proc/partitions
major minor #blocks name
31 0 512 mtdblock0
31 1 1536 mtdblock1
31 2 2048 mtdblock2
31 3 24576 mtdblock3
31 4 4096 mtdblock4
254 0 512 sbulla
#
# cat /proc/mtd
dev: size erasesize name
mtd0: 00080000 00004000 "bootloader"
mtd1: 00180000 00004000 "params"
mtd2: 00200000 00004000 "kernel"
mtd3: 01800000 00004000 "filesystem1"
mtd4: 00400000 00004000 "filesystem2"
#
nand erase 0x100000 0x200000 //(2)
nand write 0x20000000 0x100000 0x200000 -//(3)
nand read 0x20000000 0x100000 0x200000 -//(4)
tftp 0x80200000(内存地址) uImage
过程 从服务器 到内存 从内存在到Nand flash
为什么呢 因为 nandflash 的擦出 读写不独立 万一一边擦好了 可网络断了 那就麻烦了 呵呵 通过内存中转 好主意阿 速度起码快把 呵呵
(1) 从串口下载到SDRAM的0x20000000处
(2) 从1M处开始擦写Nand Flash,擦写2M大小的空间
------------------------------------
Nand flash芯片型号为Samsung K9F1208U0B,数据存储容量为64MB,采用块页式存储管理。8个I/O
引脚充当数据、地址、命令的复用端口。
芯片内部存储布局及存储操作特点:
一片Nand flash为一个设备(device), 其数据存储分层为:
1 (Device) = 4096 (Blocks)
1 (Block) -= 32 (Pages/Rows) 页与行是相同的意思,叫法不一样
1 (Page) = 528 (Bytes) = 数据块大小(512Bytes) + OOB 块大小(16Bytes)
在每一页中,最后16个字节(又称OOB)用于Nand Flash命令执行完后设置状态用,剩余512个字节又
分为前半部分和后半部分。可以通过Nand Flash命令00h/01h/50h分别对前半部、后半部、OOB进行定位通过
Nand Flash内置的指针指向各自的首地址。
存储操作特点:
1. 擦除操作的最小单位是块。
2. Nand Flash芯片每一位(bit)只能从1变为0,而不能从0变为1,所以在对其进行写入操作之前要一定将相应块擦除(擦除即是将相应块得位全部变为1).
3. OOB部分的第六字节(即517字节)标志是否是坏块,如果不是坏块该值为FF,否则为坏块。
4. 除OOB第六字节外,通常至少把OOB的前3个字节存放Nand Flash硬件ECC码
转自: http://blog.csdn.net/maopig/article/details/17554429
Nand分区及nand erase简解相关推荐
- nand ubi -1 nand基础
micro2440有一个配置是三星K9F2G08U0B--256MB SLC tiny6410有一个配置是三星K9F2G086U0B--256MB SLC,有一个配置是三星K9K8G08U0B--1G ...
- 最新版freetextbox(版本3.1.6)在asp.net 2.0中使用简解
最新版freetextbox(版本3.1.6)在asp.net 2.0中使用简解 2008-10-14 12:21 简介:对于FreeTextBox(版本3.1.6)在ASP.Net 2.0中使用,只 ...
- 最新版FreeTextBox(版本3.1.6)在ASP.Net 2.0中使用简解(提供博客园本地下载)
来源:cleocn.com 最新版FreeTextBox(版本3.1.6)在ASP.Net 2.0中使用简解(提供博客园本地下载) 简介:对于FreeTextBox(版本3.1.6)在ASP.Net ...
- 爬虫5-BeautifulSoup模块简解2
1.BeautifulSoup简解2 from bs4 import BeautifulSoup import re file = open("./baidu.html",'rb' ...
- github-markdown-css 使用简解,markdown文案格式优化(笔记)
github-markdown-css 使用简解,markdown文案格式优化 1.npm 安装 $ npm install github-markdown-css 2.使用 导入github-mar ...
- mysql数据库表分区_MySQL数据库之MySQL的分区和分表详解
本文主要向大家介绍了MySQL数据库之MySQL的分区和分表详解 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 1. 分区 MySQL中的分区是指将一个数据表按照某种规则(如时 ...
- Cisco AP1240多SSID配置简解
Cisco AP1240多SSID配置简解 AP1#show run <?xml:namespace prefix = o ns = "urn:schemas-microsoft-co ...
- linux parted分区教程,分区工具parted的详解及常用分区使用方法
分区工具parted的详解及常用分区使用方法 一. parted的用途及说明 概括使用说明: parted用于对磁盘(或RAID磁盘)进行分区及管理,与fdisk分区工具相比,支持2TB以上的磁盘分区 ...
- linux sfdisk命令,Linux运维知识之Linux sfdisk硬盘分区工具程序命令详解
本文主要向大家介绍了Linux运维知识之Linux sfdisk硬盘分区工具程序命令详解,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. 功能说明:硬盘分区工具程序. 语 法:s ...
最新文章
- angular例子笔记
- java e7 e9格式怎么转_java�?e7?a8??e9?a8�ӿ�
- Git 初次学习笔记
- EventBus In eShop -- 解析微软微服务架构eShopOnContainers(四)
- A*算法(三)算法实现
- 【华为云技术分享】MongoDB经典故障系列六:CPU利用率太高怎么办?
- Android方法的概括,Android_Android中startService基本使用方法概述,Android中有两种主要方式使用Ser - phpStudy...
- 利用Adorner制作用于图像裁切的选择框
- VB 全局Hook鼠标消息
- mysql source超时_mysql数据库连接超时
- 60套漂亮的的免费 PSD 界面设计元素包资源(系列二)
- 零知识证明 一文看懂 zkSNARK
- python与mongodb更新_Python对MongoDB增删改查
- 微型计算机内存储容量的基本单位是,计算机中用来表示内存储器容量大小的基本单位是()。...
- 射频识别系统的组成及工作原理解析
- WINAPI中URLDownloadToFile头文件问题
- android 三点参数,iqoo3参数配置详情-iqoo3参数配置手机参数详细表
- 微信公众号--生成带参数的二维码 {“errcode“:48001,“errmsg“:“api unauthorized rid: 60520af9-71ff2283-63d36e0d“}
- 爬取NBA球员生涯数据,并在Excel中可视化显示
- 最大似然函数、交叉熵和经验分布的关系