jz2440 v3上面用的nandflash是 K9F2G08U0C, 大小为256MB. 一个页的大小为(2k+64)byte,一个块的大小为(128k+4k)byte,原理图如下: nand的命令集: 那应该如何访问nand里面的数据呢?只要读写s32440的相关寄存器,就可以驱动nand的一些引脚. Makefile objs := head.o init.o nand.o main.o #依赖于这些文件 nand.bin : $(objs) arm-linux-ld -Tnand.lds -o nand_elf $^ #链接nand.lds $^表示所有依赖目标的集合 arm-linux-objcopy -O binary -S nand_elf $@ #规则中的目标文件集 arm-linux-objdump -D -m arm nand_elf > nand.dis %.o:%.c arm-linux-gcc -Wall -c -O2 -o $@ $< %.o:%.S arm-linux-gcc -Wall -c -O2 -o $@ $< clean: rm -f nand.dis nand.bin nand_elf *.o nand.lds SECTIONS { firtst 0x00000000 : { head.o init.o nand.o} /