`
mmdev
  • 浏览: 12914671 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

u-boot nand flash read/write cmd

阅读更多
2008/08/03 15:30

支援的命令函數說明
1. nand info/nand device
功能:顯示當前nand flash晶片資訊。
函數調用關係如下(按先後順序):
static void nand_print(struct nand_chip *nand) ;

2. nand erase
功能:擦除指定塊上的數據。
函數調用關係如下(按先後順序):
int nand_erase(struct nand_chip* nand, size_t ofs, size_t len, int clean);
3. nand bad
功能:顯示壞塊。
函數調用關係如下(按先後順序):
static void nand_print_bad(struct nand_chip* nand);
int check_block (struct nand_chip *nand, unsigned long pos);
4. nand read
功能:讀取nand flash信息到SDRAM。
函數調用關係如下(按先後順序):
int nand_rw (struct nand_chip* nand, int cmd,size_t start, size_t len, size_t * retlen, u_char * buf);
static int nand_read_ecc(struct nand_chip *nand, size_t start, size_t len,
size_t * retlen, u_char *buf, u_char *ecc_code);
static void NanD_ReadBuf (struct nand_chip *nand, u_char * data_buf, int cntr);
READ_NAND(adr);
5. nand write
功能:從SDRAM寫數據到nand flash中。
函數調用關係如下(按先後順序):
int nand_rw (struct nand_chip* nand, int cmd,size_t start, size_t len, size_t * retlen, u_char * buf);
static int nand_write_ecc (struct nand_chip* nand, size_t to, size_t len,
size_t * retlen, const u_char * buf, u_char * ecc_code);
static int nand_write_page (struct nand_chip *nand, int page, int col, int last, u_char * ecc_code);
WRITE_NAND(d , adr);

4.2.32 nand info
列印nand flash資訊
CRANE2410 # nand info
Device 0: Samsung K9F1208U0B at 0x4e000000 (64 MB, 16 kB sector)
4.2.33 nand device <n>
顯示某個nand設備
CRANE2410 # nand device 0
Device 0: Samsung K9F1208U0B at 0x4e000000 (64 MB, 16 kB sector)
... is now current device
4.2.34 nand bad
CRANE2410 # nand bad
Device 0 bad blocks:
4.2.35 nand read
nand read InAddr FlAddr size
InAddr: 從nand flash中讀到記憶體的起始位址。
FlAddr: nand flash 的起始位址。
size: 從nand flash中讀取的數據的大小。
CRANE2410 # nand read 0x30008000 0 0x100000
NAND read: device 0 offset 0, size 1048576 ...
1048576 bytes read: OK
4.2.36 nand erease
nand erase FlAddr size
FlAddr: nand flash 的起始位址
size: 從nand flash中擦除資料塊的大小
CRANE2410 # nand erase 0x100000 0x20000
NAND erase: device 0 offset 1048576, size 131072 ... OK
4.2.37 nand write
nand write InAddr FlAddr size
InAddr: 寫到Nand Flash中的資料在記憶體的起始位址
FlAddr: Nand Flash的起始位址
size: 數據的大小
CRANE2410 # nand write 0x30f00000 0x100000 0x20000

NAND write: device 0 offset 1048576, size 131072 ...
131072 bytes written: OK

4.2.37 nboot
u-boot-1.1.4代碼對於nboot命令的幫助不正確,修改如下:
正確的順序為:
nboot InAddr dev FlAddr
InAddr: 需要裝載到的記憶體的位址。
FlAddr: 在nand flash上uImage存放的地址
dev: 設備號
需要提前設置環境變數,否則nboot不會調用bootm
CRANE2410 #setenv autostart yes
CRANE2410 # nboot 30008000 0 100000
Loading from device 0: <NULL> at 0x4e000000 (offset 0x100000)
Image Name: Linux-2.6.14.3
Created: 2006-07-06 7:31:52 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 897428 Bytes = 876.4 kB
Load Address: 30008000
Entry Point: 30008040
Automatic boot of image at addr 0x30008000 ...
## Booting image at 30008000 ...
Starting kernel ...
4.3 命令簡寫說明
所以命令都可以簡寫,只要命令前面的一部分不會跟其他命令相同,就可以不用寫全整個命令.
save命令
CRANE2410 # sa
Saving Environment to Flash...
Un-Protected 1 sectors
Erasing Flash...Erasing sector 10 ... Erased 1 sectors
4.4 把文件寫入NandFlash
如果把一個傳到記憶體中的檔寫入到Nand Flash中, 如:新的uboot.bin, zImage(內核),
rootfs等, 如果做呢?我們可以用Nand Flash命令來完成. 但是Nand Flash寫時,必須先要把Nand
Flash的寫入區全部擦除後,才能寫. 下面以把記憶體0x30008000起長度為0x20000的內容寫到Nand
Flash中的0x100000為例.
CRANE2410 # nand erase 0x100000 20000
NAND erase: device 0 offset 1048576, size 131072 ... OK
CRANE2410 # nand write 0x30008000 0x100000 0x20000
NAND write: device 0 offset 1048576, size 131072 ...
131072 bytes written: OK

http://tw.myblog.yahoo.com/tzeng0152002/article?mid=326&prev=327&next=324

分享到:
评论

相关推荐

    解决jar发布时的出现D:/export-0.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/static

    springboot获取根目录及资源路径及解决jar发布时的出现D:/export-0.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/static,采用该工具类可在发布成jar时访问到资源文件路径地址

    黄刚博客--友善之臂mini2440-u-boot从nand flash启动6博客全集

    黄刚-u-boot-2009.08-nand flash-mini2440本次移植的功能特点包括: 支持Nand Flash读写 支持从Nor/Nand Flash启动 支持CS8900或者DM9000网卡 支持Yaffs文件系统 支持USB下载等 。。。。

    s3c2410开发板u-boot移植详细配置nandflash启动

    s3c2410开发板u-boot移植详细配置nandflash启动

    最新u-boot:u-boot-2012.07 mini2440移植(nandflash启动)

    本人原创, 最新u-boot-2012.07 mini2440基于nandflash启动的移植, 新鲜出炉, 与旧版本不同, 本资源是基于nand_boot函数移植的, 应该说这种移植方法才是u-boot官方推荐的nandflash启动方法。 不多吹了, 见运行...

    论文研究-U-BOOT从NAND Flash启动的实现 .pdf

    U-BOOT从NAND Flash启动的实现,王磊,何小刚,U-BOOT是一款功能强大的引导装载程序,但不支持从NAND flash启动。针对这一点本文提出了一种使其支持从NAND flash启动的方法。本文分析了U

    spring-boot2.0全新教程实例20例.zip

    - [spring-boot-mybatis-xml-mulidatasource](https://github.com/ityouknow/spring-boot-examples/tree/master/spring-boot-mybatis/spring-boot-mybatis-xml-mulidatasource):Spring Boot + Mybatis (Xml 版) 多...

    u-boot-1.1.4 for smdk2410/2440

    u-boot-1.1.4 for smdk2410/2440

    使用NandFlash上的u-boot烧写NorFlash.zip

    u-boot-1.1.6.tar.bz2:未经修改的u-boot-1.1.6源码 u-boot-1.1.6_jz2440.patch: 支持JZ2440的u-boot-1.1.6补丁

    不死 U-Boot

    u-boot-ar9331-pisen.bin 品胜路由进入 U-Boot 控制台,请先开机再按复位键,否则无法开机,这是硬件设计造成的。可以超频,但限制到 500MHz 不能用于 TP-LINK TL-WR720N v3 和 TP-LINK TL-WR710N,否则无法开机。...

    tp-link741n_v1解锁U-boot的OpenWRT固件、不死U-boot及刷入工具

    包括: 1、解锁U-boot的固件openwr-ar71xx-generic-tl-wr741nd-v1-squashfs-factory.bin,功能简单,只为方便刷入不死U-boot 2、适用wr741nd-v1的不死U-boot及其升级版breed 3、刷入工具

    spring-boot示例项目

    web|[ssh项目,spring mvc,过滤器,拦截器,监视器,thymeleaf,lombok,jquery,bootstrap,mysql](https://github.com/smltq/spring-boot-demo/blob/master/web/HELP.md) aop|[aop,正则,前置通知,后置通知,环绕通知]...

    u-boot-sunxi-with-spl-vga.bin

    u-boot-sunxi-with-spl-vga

    u-boot开源代码

    ◆ board:和一些已有开发板有关的文件,比如Makefile和u-boot.lds等都和具体开发板的硬件和地址分配有关。 ◆ common:与体系结构无关的文件,实现各种命令的C文件。 ◆ cpu:CPU相关文件,其中的子目录都是以U-...

    u-boot-nand启动

    详细的nand支持 保证节省了自己的开发时间

    u-boot源码分析

    本文从以下几个方面粗浅地分析u-boot并移植到FS2410板上: ...实现了NOR Flash和NAND Flash启动,网络功能。  这些认识源于自己移植u-boot过程中查找的资料和对源码的简单阅读。下面主要以smdk2410为分析对象。

    最新 2013-01 u-boot移植 基于MINI2440

    最终生成的烧写文件为u-boot-nand.bin 不同于网络上所能检索到的绝大多数基于vivi的nandflash启动方法,它不需要写任何关于代码复制的内容,而是利用u-boot自带的程序 gcc version 4.3.2 (Sourcery G++ Lite 2008...

    u-boot-1.1.6.tar.bz & u-boot-1.1.6_jz2440.patch

    u-boot-1.1.6.tar.bz & u-boot-1.1.6_jz2440.patch

    u-boot-u-boot-2013.01.y.zip

    U-Boot不仅仅支持嵌入式Linux系统的引导,它还支持NetBS D, VxWorks, QNX, RTEMS, ARTOS, LynxOS, android嵌入式操作系统。其目前要支持的目标操作系统是OpenBSD, NetBSD, FreeBSD,4.4BSD, Linux, SVR4, Esix, ...

    JLink_U-boot烧写NandFlash

    通过JLink(JTAG) 烧写U-boot到NandFlash中。

    u-boot.bin_tekkaman_2009.11.bz2

    u-boot.bin_tekkaman_2009.11.bz2 参考网站:Tekkaman Ninja ...已经针对mini2440 编译好的U-boot-2009.11 的bin文件在Tekkaman Ninja 的博客中有,可以直接烧入, 链接:u-boot.bin_tekkaman_2009.11.tar.bz2

Global site tag (gtag.js) - Google Analytics