nand flash测试工具集

<1>Download mtd-utils(v1.4.1)
http://git.infradead.org/mtd-utils.git
git clone git://git.infradead.org/mtd-utils.git

<2>Compile
mtd_debug:
arm-none-linux-gnueabi-gcc -static mtd_debug.c -o mtd_debug -I./include

nanddump:
arm-none-linux-gnueabi-gcc -c lib/libmtd.c  -I./include
arm-none-linux-gnueabi-gcc -c lib/libmtd_legacy.c  -I./include
arm-none-linux-gnueabi-gcc -static nanddump.c libmtd.o libmtd_legacy.o -o nanddump -I./include

<3>How to use mtd_debug
# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 000c0000 00020000 "Bootloader"
mtd1: 00040000 00020000 "misc"
mtd2: 01080000 00020000 "recovery"
mtd3: 00600000 00020000 "Kernel"
mtd4: 06000000 00020000 "system"
mtd5: 03c00000 00020000 "cache"
mtd6: 031c0000 00020000 "userdata"
mtd7: 00060000 00020000 "NVM"

a).Read some information from mtd layer.
# ./mtd_debug info /dev/mtd/mtd0
mtd.type = MTD_NANDFLASH
mtd.flags = MTD_CAP_ROM
mtd.size = 786432 (768K)
mtd.erasesize = 131072 (128K)
mtd.writesize = 2048 (2K)
mtd.oobsize = 64
regions = 0

b).Erase the nand flash partitions.
# ./mtd_debug erase /dev/mtd/mtd7 0 0x00060000
Erased 393216 bytes from address 0x00000000 in flash

<4>How to use the nanddump
# ./nanddump
Usage: nanddump [OPTIONS] MTD-device
Dumps the contents of a nand mtd partition.

           --help            display this help and exit
           --version            output version information and exit
-f file    --file=file          dump to file
-i         --ignoreerrors       ignore errors
-l length  --length=length      length
-n         --noecc              read without error correction
-o         --omitoob            omit oob data
-b         --omitbad            omit bad blocks from the dump
-p         --prettyprint        print nice (hexdump)
-s addr    --startaddress=addr  start address

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
====================================================================== version 08.07.23 1.增加自动量产功能,支持装置插入和更换FLASH的自动量产。 2.改进Skip page sorting。 3.增加对CE的判断,对非正常的CE序列报错。 4.增加量产前挡FLASH的处理,若插入的FLASH不是指定的FLASH 则不进行量产且以报错处理。 5.增加“装置插入顺序”功能,即MP按照装置插入的顺序显示 装置信息。 6.增加对LED的控制: a.量产失败或无法进行量产,LED会熄灭。 b.量产中,LED闪烁。 c.量产成功,LED亮。 ====================================================================== version 08.06.30 1.增加对Au6981 Downgrade flash的支持。 2.修正FAT32。 3.修正拷贝文件功能。 ====================================================================== version 08.06.20 1.增加对Au6986/Au6984 Downgrade flash的支持。 2.增加对用较早前MP版本Sorting过的Skip page flash做[量产过]的支持。 3.修正老化测试功能。 ====================================================================== version 08.06.11 1.增加低格检测功能; 2.增加ECC微调功能。 3.增加客户序列号(由数字和字母组成,必须填满十位)。 ====================================================================== version 08.05.28 1.增加“固定容量”、“CD-ROM卷标”设置项; 2.增加自动检测并显示装置数目功能; ====================================================================== version 08.05.16 1.增加选择关闭MP时是否卸载驱动的功能: 打开MP工具在[设定]->[坏磁区设定]中可设置关闭MP时是否卸载驱动,不勾选"关闭MP时卸载驱动"则在关闭MP时不会卸载驱动; 2.增加支持SDTNKHHSM-16384(16bit IO); 3.增加对MLC downgrade flash的支持。 ===================================================================== version 08.05.05 1. 增加对AU6986B52支持; 2. 增加AES盘功能(AU6986); 3. 增加部分Sandisk Flash(AU6986), ST NAND08GW3B2CN6支持; 4. 改进[高格->量产过]功能, 并兼容前面版本已量产过Flash(AU6983~86) (A) 此版本之前量产过的Flash:只支持容量选先,不能更改低格时所选ECC,支持单颗Sorting单通 道双贴,不支持单颗Sorting双通道双贴 (B) 此版本量产过的Flash: 支持容量优先与速度优先相互转换,可以更改低格时所选ECC,支持单颗 Sorting单通道双贴,支持单颗Sorting双通道双贴 5. 更改[坏块区设置->固定容量]到[坏块区设置->BIN 级], 量产结束时会显示所对应的BIN级; 6. 更改手动卸载驱动为关闭量产工具时卸载驱动,故需先打开量产工具再插入U盘设备! 注: (A) 可通过量产工具目录下LoadDriver.exe加载/卸载驱动。 (B) 测试U盘功能(如AutoRun,加密盘)时,请关闭量产工具或卸载驱动。 ===================================================== ================ version 08.04.08 1.增加设置项目:卷标、磁碟序列号、Disk Imag、USB信息设定、序列号位数设定、坏磁区以百分比设定、MBR; 2.AU6986增加支持DFT512W08B-P1; 3.修正AU6984/86 对2CE micron Flash的支持。
### 回答1: FPGA(现场可编程门阵列)是一种成电路技术,可以在设计后进行灵活的重编程。NAND flash则是一种非易失性存储器,用于数据存储和传输。要实现FPGA驱动NAND flash,需要以下步骤: 首先,需要确定FPGA与NAND flash之间的通信接口。常用的接口包括SPI(串行外围接口)和I2C(串行总线接口)。通过这些接口,FPGA可以与NAND flash进行数据传输和控制命令交互。 其次,需要在FPGA中实现相应的逻辑电路来控制NAND flash。这些逻辑电路包括NAND flash的读取、写入和擦除操作,以及数据的缓存和错误纠正等功能。可以使用硬件描述语言(如VHDL或Verilog)来编写这些逻辑电路的代码,并在FPGA上进行编译和实现。 然后,需要将编写好的逻辑电路代码加载到FPGA中。这可以通过将代码通过特定的设计工具进行编译和综合,生成可以在FPGA上直接加载的二进制文件。将生成的二进制文件通过JTAG(联机测试与编程接口)或其他方式加载到FPGA中。 最后,在FPGA中配置好逻辑电路后,可以通过FPGA与NAND flash之间的通信接口进行控制和数据交互。FPGA可以发送读取、写入和擦除等命令给NAND flash,从而实现对其进行驱动。同时,也可以通过FPGA将数据从NAND flash读取出来,或者将数据写入到NAND flash中。 总结来说,FPGA驱动NAND flash需要确定通信接口、实现逻辑电路、加载代码到FPGA,并通过通信接口进行控制和数据交互。这样就能实现对NAND flash的有效驱动和利用。 ### 回答2: FPGA驱动NAND Flash是指在FPGA芯片中通过编程控制来对NAND Flash进行操作和传输数据。FPGA作为一种可编程逻辑器件,通过其灵活的可编程性和并行处理能力,可以实现对NAND Flash的各种功能操作。 首先,FPGA需要连接到NAND Flash,通常通过片选信号、数据总线和控制总线进行连接。FPGA通过配置其IO管脚,将数据和控制信号发送到NAND Flash,实现对它的读取和写入。同时,FPGA还需要设置正确的时序和信号处理方式,确保数据的可靠传输。 其次,FPGA需要通过编程来实现对NAND Flash的驱动。FPGA的硬件描述语言(HDL)编程可以用于控制存储器操作的时序和数据流程,包括片选和使能信号的生成,以及数据的读写操作。通过HDL编程,FPGA可以控制读取和写入的地址、数据、传输方式等参数,实现对NAND Flash的全面控制。 此外,FPGA还可以通过添加硬件逻辑和电路设计,对NAND Flash进行更高级的操作和处理。例如,可以通过FPGA的逻辑单元实现位翻转校验(BVC)和纠错码(ECC)等功能,提高数据传输和存储的可靠性。也可以通过并行处理的方式,实现多个NAND Flash的并行读取和写入,加快存储器访问速度。 总之,FPGA驱动NAND Flash是通过FPGA芯片的编程控制来实现对NAND Flash的读写和操作。通过正确配置连接和编程,FPGA可以实现对NAND Flash的高度可定制化的驱动,满足各种应用场景的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值